From 816205740f074813652b35386df04313d7214f9e Mon Sep 17 00:00:00 2001 From: kebowdog Date: Thu, 1 Mar 2018 15:37:19 -0700 Subject: [PATCH 1/2] enabled multiple read-more elements Former-commit-id: d1e5dd3f35e535f2b2087f8dd63cd62dc7f69ac4 --- byu-hero-banner/byu-hero-banner.scss | 17 +++++++++-- demo.html | 45 +++++++++++----------------- dist/byu-hero-banner.css.map | 2 +- dist/byu-hero-banner.min.css.map | 2 +- dist/components-compat.js | 4 +-- dist/components-compat.js.map | 2 +- dist/components-compat.min.js | 2 +- dist/components-compat.min.js.map | 2 +- dist/components.js | 4 +-- dist/components.js.map | 2 +- dist/components.min.js | 2 +- dist/components.min.js.map | 2 +- 12 files changed, 43 insertions(+), 43 deletions(-) diff --git a/byu-hero-banner/byu-hero-banner.scss b/byu-hero-banner/byu-hero-banner.scss index be4d103..a31e712 100644 --- a/byu-hero-banner/byu-hero-banner.scss +++ b/byu-hero-banner/byu-hero-banner.scss @@ -48,10 +48,13 @@ .read-more-link { - display: inline-block; + display: flex; + flex-direction: row; + justify-content: center; + flex-wrap: wrap; ::slotted(a), ::slotted(.btn) { - margin-bottom: 0; + font-weight: bold !important; vertical-align: middle; touch-action: manipulation; @@ -71,6 +74,11 @@ align-items: center; justify-content: center; } + + ::slotted(a), ::slotted(.btn:not(:first-child)) { + margin-top: 10px; + margin-left: 10px; + } } :host(.title-only) { @@ -287,6 +295,7 @@ .read-more-link { margin-top: 20px; align-self: center; + ::slotted(a), ::slotted(.btn) { background-color: $navy !important; @@ -369,8 +378,10 @@ } .read-more-link { + margin: 0 -10px; margin-top: 20px; - + justify-content: flex-start; + ::slotted(a), ::slotted(.btn) { background-color: $navy !important; color: #fff !important; diff --git a/demo.html b/demo.html index 6e0aef8..2a4cfd7 100644 --- a/demo.html +++ b/demo.html @@ -61,34 +61,6 @@

Hero Component Demo

-

Side Image

- - This is the Headline - This is the intro text. I'm going to add more words here so it's not so short, resulting in a longer piece of intro text. - Custom "Read More" Text - - -

Transparent Overlay

- - This is the Headline - This is the intro text. Short intro text. - Custom "Read More" Text - - -

Transparent Overlay

- - This is the Headline - This is the intro text. Short intro text. - Custom "Read More" Text - - -

Transparent Overlay

- - This is the Headline - This is the intro text. Short intro text. - Custom "Read More" Text - -

Title Only

@@ -101,6 +73,7 @@

Youtube Video

This is the Headline This is the intro text. I'm going to add more words here so it's not so short, resulting in a longer piece of intro text. Custom "Read More" Text + Custom "Read More" Text

MP4 Video

@@ -108,6 +81,7 @@

MP4 Video

This is the Headline This is the intro text. I'm going to add more words here so it's not so short, resulting in a longer piece of intro text. Custom "Read More" Text + Custom "Read More" Text

Side Image

@@ -115,6 +89,7 @@

Side Image

This is the Headline This is the intro text. I'm going to add more words here so it's not so short, resulting in a longer piece of intro text. Custom "Read More" Text + Custom "Read More" Text

Transparent Overlay

@@ -122,6 +97,7 @@

Transparent Overlay

This is the Headline This is the intro text. I'm going to add more words here so it's not so short, resulting in a longer piece of intro text. Custom "Read More" Text + Custom "Read More" Text

Transparent Overlay (Right Aligned)

@@ -129,6 +105,8 @@

Transparent Overlay (Right Aligned)

This is the Headline This is the intro text. I'm going to add more words here so it's not so short, resulting in a longer piece of intro text. Custom "Read More" Text + Custom "Read More" Text + Custom "Read More" Text

Full Screen with Light Image

@@ -136,6 +114,16 @@

Full Screen with Light Image

This is the Headline This is the intro text. I'm going to add more words here so it's not so short, resulting in a longer piece of intro text. Custom "Read More" Text + Custom "Read More" Text + + +

Full Screen with Light Image

+ + This is the Headline + This is the intro text. I'm going to add more words here so it's not so short, resulting in a longer piece of intro text. + Custom "Read More" Text + Custom "Read More" Text + Custom "Read More" Text

Full Screen Dark Image

@@ -143,6 +131,7 @@

Full Screen Dark Image

This is the Headline This is the intro text. I'm going to add more words here so it's not so short, resulting in a longer piece of intro text. Custom "Read More" Text + Custom "Read More" Text
diff --git a/dist/byu-hero-banner.css.map b/dist/byu-hero-banner.css.map index c3423c2..81e72ce 100644 --- a/dist/byu-hero-banner.css.map +++ b/dist/byu-hero-banner.css.map @@ -1 +1 @@ -{"version":3,"file":"byu-hero-banner.css","sources":["byu-hero-banner.scss","byu-hero-banner/byu-hero-banner-extras.scss","byu-hero-banner/byu-hero-banner-common.scss"],"sourcesContent":["/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n@import 'byu-hero-banner/byu-hero-banner-extras.scss';\r\n","/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n@import 'byu-hero-banner-common';\r\n\r\n\r\n","/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n$headlineFont: \"Vitesse A\",\"Vitesse B\",Georgia,serif;\r\n$bodyFont: \"Gotham A\", \"Gotham B\", Helvetica, sans-serif;\r\n$navy: #002E5D;\r\n$mediumGray: #767676;\r\n$white: #FFF;\r\n\r\n$desktopHeight: 600px;\r\n$mobileHeight: 768px;\r\n\r\n$headlineSizeFullScreen: 80px;\r\n$headlineSizeFullScreenMobile: 55px;\r\n$headlineLineHeightFullScreen: normal;\r\n$headlineLineHeightFullScreenMobile: 60px;\r\n\r\n$introTextFontSizeFullScreen: 18px;\r\n$introTextFontSizeFullScreenMobile: 16px;\r\n\r\n$headlineSizeSideImage: 60px;\r\n$headlineSizeSideImageMobile: 35px;\r\n$headlineLineHeightSideImage: normal;\r\n$headlineLineHeightSideImageMobile: 37px;\r\n\r\n$introTextFontSizeSideImage: 18px;\r\n$introTextLineHeightSideImage: 30px;\r\n\r\n$introTextFontSizeSideImageMobile: 14px;\r\n$introTextLineHeightSideImageMobile: 22px;\r\n\r\n$headlineSizeOverlay: 60px;\r\n$headlineSizeOverlayMobile: 35px;\r\n$headlineLineHeightOverlay: normal;\r\n$headlineLineHeightOverlayMobile: 37px;\r\n\r\n$introTextFontSizeOverlay: 18px;\r\n$introTextLineHeightOverlay: 30px;\r\n\r\n$introTextFontSizeOverlayMobile: 14px;\r\n$introTextLineHeightOverlayMobile: 22px;\r\n\r\n$buttonWidth: 200px;\r\n$buttonHeight: 40px;"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;ACfH;;;;;;;;;;;;;;;GAeG;ACfH;;;;;;;;;;;;;;;GAeG"} \ No newline at end of file +{"version":3,"file":"byu-hero-banner.css","sources":["byu-hero-banner.scss","byu-hero-banner/byu-hero-banner-extras.scss","byu-hero-banner/byu-hero-banner-common.scss"],"sourcesContent":["/*!\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import 'byu-hero-banner/byu-hero-banner-extras.scss';\n","/*!\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import 'byu-hero-banner-common';\n\n\n","/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n$headlineFont: \"Vitesse A\",\"Vitesse B\",Georgia,serif;\r\n$bodyFont: \"Gotham A\", \"Gotham B\", Helvetica, sans-serif;\r\n$navy: #002E5D;\r\n$mediumGray: #767676;\r\n$white: #FFF;\r\n\r\n$desktopHeight: 600px;\r\n$mobileHeight: 768px;\r\n\r\n$headlineSizeFullScreen: 80px;\r\n$headlineSizeFullScreenMobile: 55px;\r\n$headlineLineHeightFullScreen: normal;\r\n$headlineLineHeightFullScreenMobile: 60px;\r\n\r\n$introTextFontSizeFullScreen: 18px;\r\n$introTextFontSizeFullScreenMobile: 16px;\r\n\r\n$headlineSizeSideImage: 60px;\r\n$headlineSizeSideImageMobile: 35px;\r\n$headlineLineHeightSideImage: normal;\r\n$headlineLineHeightSideImageMobile: 37px;\r\n\r\n$introTextFontSizeSideImage: 18px;\r\n$introTextLineHeightSideImage: 30px;\r\n\r\n$introTextFontSizeSideImageMobile: 14px;\r\n$introTextLineHeightSideImageMobile: 22px;\r\n\r\n$headlineSizeOverlay: 60px;\r\n$headlineSizeOverlayMobile: 35px;\r\n$headlineLineHeightOverlay: normal;\r\n$headlineLineHeightOverlayMobile: 37px;\r\n\r\n$introTextFontSizeOverlay: 18px;\r\n$introTextLineHeightOverlay: 30px;\r\n\r\n$introTextFontSizeOverlayMobile: 14px;\r\n$introTextLineHeightOverlayMobile: 22px;\r\n\r\n$buttonWidth: 200px;\r\n$buttonHeight: 40px;"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;ACfH;;;;;;;;;;;;;;;GAeG;ACfH;;;;;;;;;;;;;;;GAeG"} \ No newline at end of file diff --git a/dist/byu-hero-banner.min.css.map b/dist/byu-hero-banner.min.css.map index b9b57b8..01243dc 100644 --- a/dist/byu-hero-banner.min.css.map +++ b/dist/byu-hero-banner.min.css.map @@ -1 +1 @@ -{"version":3,"file":"byu-hero-banner.min.css","sources":["byu-hero-banner.scss","byu-hero-banner/byu-hero-banner-extras.scss","byu-hero-banner/byu-hero-banner-common.scss"],"sourcesContent":["/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n@import 'byu-hero-banner/byu-hero-banner-extras.scss';\r\n","/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n@import 'byu-hero-banner-common';\r\n\r\n\r\n","/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n$headlineFont: \"Vitesse A\",\"Vitesse B\",Georgia,serif;\r\n$bodyFont: \"Gotham A\", \"Gotham B\", Helvetica, sans-serif;\r\n$navy: #002E5D;\r\n$mediumGray: #767676;\r\n$white: #FFF;\r\n\r\n$desktopHeight: 600px;\r\n$mobileHeight: 768px;\r\n\r\n$headlineSizeFullScreen: 80px;\r\n$headlineSizeFullScreenMobile: 55px;\r\n$headlineLineHeightFullScreen: normal;\r\n$headlineLineHeightFullScreenMobile: 60px;\r\n\r\n$introTextFontSizeFullScreen: 18px;\r\n$introTextFontSizeFullScreenMobile: 16px;\r\n\r\n$headlineSizeSideImage: 60px;\r\n$headlineSizeSideImageMobile: 35px;\r\n$headlineLineHeightSideImage: normal;\r\n$headlineLineHeightSideImageMobile: 37px;\r\n\r\n$introTextFontSizeSideImage: 18px;\r\n$introTextLineHeightSideImage: 30px;\r\n\r\n$introTextFontSizeSideImageMobile: 14px;\r\n$introTextLineHeightSideImageMobile: 22px;\r\n\r\n$headlineSizeOverlay: 60px;\r\n$headlineSizeOverlayMobile: 35px;\r\n$headlineLineHeightOverlay: normal;\r\n$headlineLineHeightOverlayMobile: 37px;\r\n\r\n$introTextFontSizeOverlay: 18px;\r\n$introTextLineHeightOverlay: 30px;\r\n\r\n$introTextFontSizeOverlayMobile: 14px;\r\n$introTextLineHeightOverlayMobile: 22px;\r\n\r\n$buttonWidth: 200px;\r\n$buttonHeight: 40px;"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;ACfH;;;;;;;;;;;;;;;GAeG;ACfH;;;;;;;;;;;;;;;GAeG"} \ No newline at end of file +{"version":3,"file":"byu-hero-banner.min.css","sources":["byu-hero-banner.scss","byu-hero-banner/byu-hero-banner-extras.scss","byu-hero-banner/byu-hero-banner-common.scss"],"sourcesContent":["/*!\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import 'byu-hero-banner/byu-hero-banner-extras.scss';\n","/*!\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@import 'byu-hero-banner-common';\n\n\n","/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n$headlineFont: \"Vitesse A\",\"Vitesse B\",Georgia,serif;\r\n$bodyFont: \"Gotham A\", \"Gotham B\", Helvetica, sans-serif;\r\n$navy: #002E5D;\r\n$mediumGray: #767676;\r\n$white: #FFF;\r\n\r\n$desktopHeight: 600px;\r\n$mobileHeight: 768px;\r\n\r\n$headlineSizeFullScreen: 80px;\r\n$headlineSizeFullScreenMobile: 55px;\r\n$headlineLineHeightFullScreen: normal;\r\n$headlineLineHeightFullScreenMobile: 60px;\r\n\r\n$introTextFontSizeFullScreen: 18px;\r\n$introTextFontSizeFullScreenMobile: 16px;\r\n\r\n$headlineSizeSideImage: 60px;\r\n$headlineSizeSideImageMobile: 35px;\r\n$headlineLineHeightSideImage: normal;\r\n$headlineLineHeightSideImageMobile: 37px;\r\n\r\n$introTextFontSizeSideImage: 18px;\r\n$introTextLineHeightSideImage: 30px;\r\n\r\n$introTextFontSizeSideImageMobile: 14px;\r\n$introTextLineHeightSideImageMobile: 22px;\r\n\r\n$headlineSizeOverlay: 60px;\r\n$headlineSizeOverlayMobile: 35px;\r\n$headlineLineHeightOverlay: normal;\r\n$headlineLineHeightOverlayMobile: 37px;\r\n\r\n$introTextFontSizeOverlay: 18px;\r\n$introTextLineHeightOverlay: 30px;\r\n\r\n$introTextFontSizeOverlayMobile: 14px;\r\n$introTextLineHeightOverlayMobile: 22px;\r\n\r\n$buttonWidth: 200px;\r\n$buttonHeight: 40px;"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;ACfH;;;;;;;;;;;;;;;GAeG;ACfH;;;;;;;;;;;;;;;GAeG"} \ No newline at end of file diff --git a/dist/components-compat.js b/dist/components-compat.js index a8d7dd8..b131457 100644 --- a/dist/components-compat.js +++ b/dist/components-compat.js @@ -540,7 +540,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" } elSettings.templateHash = sum; - if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) { + if (window.ShadyCSS) { applyTemplateShady(element, elementName, template, callback, sum); } else { applyTemplateNative(element, template, callback); @@ -599,7 +599,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" // module - exports.push([module.i, "/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License. \r\n */\n/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:inline-block}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){margin-bottom:0;font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\"/byu-hero-banner/dark.png\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}", ""]); + exports.push([module.i, "/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License. \r\n */\n/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\"/byu-hero-banner/dark.png\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}", ""]); // exports diff --git a/dist/components-compat.js.map b/dist/components-compat.js.map index 1058520..8661573 100644 --- a/dist/components-compat.js.map +++ b/dist/components-compat.js.map @@ -1 +1 @@ -{"version":3,"sources":["components.js","webpack:/webpack/bootstrap a7d347483238d1c13161","webpack:///~/byu-web-component-utils/lib/matchesSelector.js","webpack:///byu-hero-banner/byu-hero-banner.js","webpack:///byu-hero-banner.js","webpack:///~/byu-web-component-utils/index.js","webpack:///~/byu-web-component-utils/lib/createEvent.js","webpack:///~/byu-web-component-utils/lib/querySelectorSlot.js","webpack:///~/byu-web-component-utils/lib/templating.js","webpack:///byu-hero-banner/byu-hero-banner.scss","webpack:///~/css-loader/lib/css-base.js","webpack:///~/hash-sum/hash-sum.js","webpack:///byu-hero-banner/byu-hero-banner.html"],"names":["__webpack_exports__","__WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__","setupSlotListeners","applyImageSource","applyVideoSource","window","imageBox","hiddenImage","setYoutubeSource","setMp4Source","tag","firstScriptTag","player","width","height","videoId","playerVars","autoplay","autohide","modestbranding","playsinline","rel","showinfo","controls","disablekb","enablejsapi","iv_load_policy","fs","events","setInterval","vidRescale","component","video","name","Object","evt","elSettings","applyTemplateShady","applyTemplateNative","templateElement","document","ShadyCSS","shadow","setTimeout","runAfterStamping","element","callback","exports","module","list","result","item","hash","chr","seen"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAXA;AAA8B;ACA9B;AACA;ADEA;ACAA;AACA;ADEA;ACAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;ADEA;ACAA;AACA;ADEA;ACAA;AACA;ADEA;ACAA;AACA;AACA;AAAA;ADEA;AACA;ACAA;AACA;ADEA;ACAA;AACA;ADEA;ACAA;AACA;AAA2C;AAAc;ADEzD;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;ADEA;ACAA;AACA;AACA;AACA;AAA2B;AAA4B;AACvD;AAAiC;AAAe;AAChD;AACA;AACA;AAAA;ADEA;ACAA;AACA;AAAsD;AAA+D;ADErH;ACAA;AACA;ADEA;ACAA;AACA;ADEA;AAAU;AACV;AACA;AACA;AACA;AA4BA;AA1BA;AExEA;AAAAA;AAAA;AFuGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AEpGA;AACA;AACA;AAQA;AACA;AACA;AF+FA;AE7FA;AACA;AF+FA;AAlBA;AAAO;AACP;AACA;AAqBA;AAnBA;AACA;AAAqB;AACrB;AGpHA;AAAA;AH4IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AGtIA;AACA;AHwIA;AA9CkE;AAAA;AAiDlE;AGxIA;AAAA;AH2IA;AG3IA;AH6IA;AG3IA;AAFA;AAGA;AH8IA;AA1DkE;AAAA;AAAA;AGlFlE;AHiJA;AGhJA;AACAC;AACAC;AACAC;AACAC;AACK;AACL;AH2EkE;AAAA;AAAA;AGpElE;AACA;AACAD;AACA;AACA;AACAC;AACA;AANA;AAQA;AH4DkE;AAAA;AAAA;AGzDlE;AACA;AHwDkE;AGrDlE;AACA;AACA;AACA;AACA;AHiDkE;AAAA;AAAA;AG9ClE;AACA;AH6CkE;AG1ClE;AACA;AACA;AACA;AACA;AHsCkE;AAAA;AAAA;AGxElE;AACA;AHuEkE;AA+GlE;AA/GkE;AAAA;AAkHlE;AGrJAC;AACAA;AHuJA;AGrJA;AHuJA;AGrJA;AACA;AACAC;AACA;AACA;AACA;AACAC;AACA;AHuJA;AGrJA;AACA;AACA;AACAC;AACG;AACHC;AACA;AACA;AHuJA;AGrJA;AACA;AHuJA;AGrJA;AACA;AACAC;AACA;AACAC;AHuJA;AGrJA;AACA;AACAN;AACAO;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AAXA;AAaAC;AACA;AACA;AAFA;AAjBA;AAsBA;AHuJA;AGrJA;AACA;AACAC;AACA;AACA;AACA;AACK;AACLjB;AACAkB;AACA;AACAlB;AACA;AHuJA;AGrJA;AACA;AACA;AACA;AACAmB;AACA;AACA;AACA;AACA;AACAnB;AACA;AATA;AAWA;AHuJA;AGrJA;AACAoB;AACAA;AHuJA;AGrJA3B;AHuJA;AGrJA;AACA;AACA;AACA;AACAO;AACK;AACLA;AACA;AACAoB;AACA;AACA;AHuJA;AGrJA;AACA;AACA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAD;AHuJA;AGrJAD;AACAzB;AHuJA;AGrJA;AACA2B;AACAD;AACG;AHuJH;AGrJA;AACA;AACA;AACA;AACAC;AACAA;AACK;AACLA;AACAA;AACA;AACA;AACA;AHuJA;AGrJA;AACAC;AACA;AAAA;AACA;AACA;AACA;AACA;AHwJA;AGtJA;AHwJA;AA9BA;AAAO;AACP;AACA;AAiCA;AA/BA;AAiCA;AAhCAC;AI9VA;AAAA;AJkYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA3BA;AAAO;AACP;AACA;AA8BA;AA5BA;AACA;AAAqB;AACrB;AACA;AACA;AACA;AAA8F;AAA4D;AAC1J;AACA;AKjYA;AAAA;ALoaA;AACA;AACA;AAtBA;AAAO;AACP;AACA;AAyBA;AAvBA;AMpZA;AAAA;AN+aA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AM5aA;AACA;AACA;AACA;AACA;AACAC;AACA;AACA;AN8aA;AArBA;AAAO;AACP;AACA;AAwBA;AAtBA;AACA;AOvbA;AAAA;AAAA;APkdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AO7cA;AACA;AACA;AAAA;APgdA;AO9cA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;APgdA;AAnBA;AAAO;AACP;AACA;AAsBA;AApBA;AACA;AAAiCnC;AQrejC;AAAA;AAAA;AR+fA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AQ1fA;AR4fA;AQ1fA;AACA;AR4fA;AQ1fA;AACA;AACA;AACA;AACA;AACAoC;AR4fA;AQ1fA;AACAC;AACK;AACLC;AACA;AACA;AR4fA;AQ1fA;AACA;AACA;AACA;AACAC;AACAA;AACAA;AACAC;AACAC;AACA;AACA;AACAA;AACK;AACLA;AACK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACAC;AACA;AACAA;AACAC;AACAC;AACK;AACL;AR4fA;AQ1fA;AACAC;AACAD;AACA;AR4fA;AQ1fA;AACAC;AACA;AACAC;AACA;AACA;AR4fA;AAhBA;AAAO;AACP;AACA;AAmBA;AShlBAC;AACA;ATklBA;AACA;AShlBA;AACAA;ATklBA;AShlBA;ATklBA;AACA;AAjBA;AAAO;AACP;AACA;AAoBA;AU/lBA;AVimBA;AACA;AACA;AU/lBA;AACAC;AACA;AVimBA;AU/lBA;AACAC;AACA;AACA;AACA;AACA;AACAC;AACI;AACJA;AACA;AACA;AACA;AACA;AVimBA;AU/lBA;AACAD;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAE;AACK;AACLA;AACA;AACAF;AACA;AACA;AACA;AACA;AACA;AV+lBA;AAfA;AAAO;AACP;AACA;AAkBA;AAhBA;AAkBA;AWrpBA;AACA;AACAG;AACA;AACA;AACA;AXupBA;AWrpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAC;AACAD;AACAA;AACA;AACA;AACA;AXupBA;AWrpBA;AACA;AACA;AACA;AACA;AACA;AXupBA;AWrpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAE;AACA;AACA;AACA;AACA;AXupBA;AWrpBA;AACA;AACA;AXupBA;AWrpBA;AACA;AACA;AXupBA;AWrpBAN;AXupBA;AAdA;AAAO;AACP;AACA;AAiBA;AYrtBAA;AZutBA;AAfA;AAAO;AACP","file":"components-compat.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 2);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = matchesSelector;\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nfunction matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(3);\n/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\r\n\r\n\r\n\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-hero-banner', __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default.a, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_byu_hero_banner_js__ = __webpack_require__(1);\n/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\r\n\r\n\r\n\r\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lib_templating__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__lib_matchesSelector__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__ = __webpack_require__(4);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__lib_templating__[\"a\"]; });\n/* unused harmony reexport matchesSelector */\n/* unused harmony reexport querySelectorSlot */\n/* unused harmony reexport createEvent */\n/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nfunction createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__ = __webpack_require__(0);\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\nfunction querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__[\"a\" /* default */])(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = applyTemplate;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hash_sum__);\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nfunction applyTemplate(element, elementName, template, callback) {\n let sum = __WEBPACK_IMPORTED_MODULE_0_hash_sum___default()(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:inline-block}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){margin-bottom:0;font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ })\n/******/ ]);\n"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap a7d347483238d1c13161","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/matchesSelector.js\n// module id = 0\n// module chunks = 0","/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\"use strict\";\r\n\r\nimport template from './byu-hero-banner.html';\r\nimport * as util from 'byu-web-component-utils';\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n util.applyTemplate(this, 'byu-hero-banner', template, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.js\n// module id = 1\n// module chunks = 0","/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\"use strict\";\r\n\r\nimport './byu-hero-banner/byu-hero-banner.js';\r\n\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner.js\n// module id = 2\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\"use strict\";\n\nimport applyTemplate from './lib/templating';\nimport matchesSelector from './lib/matchesSelector';\nimport querySelectorSlot from './lib/querySelectorSlot';\nimport createEvent from './lib/createEvent';\n\nexport {\n applyTemplate,\n matchesSelector,\n querySelectorSlot,\n createEvent\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/index.js\n// module id = 3\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/createEvent.js\n// module id = 4\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport matches from './matchesSelector.js';\n\nexport default function querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (matches(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/querySelectorSlot.js\n// module id = 5\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport hash from 'hash-sum';\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nexport default function applyTemplate(element, elementName, template, callback) {\n let sum = hash(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/templating.js\n// module id = 6\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:inline-block}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){margin-bottom:0;font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.scss\n// module id = 7\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader/lib/css-base.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hash-sum/hash-sum.js\n// module id = 9\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.html\n// module id = 10\n// module chunks = 0"]} \ No newline at end of file +{"version":3,"sources":["components.js","webpack:/webpack/bootstrap 37843564c863870ec08a","webpack:///~/byu-web-component-utils/lib/matchesSelector.js","webpack:///byu-hero-banner/byu-hero-banner.js","webpack:///byu-hero-banner.js","webpack:///~/byu-web-component-utils/index.js","webpack:///~/byu-web-component-utils/lib/createEvent.js","webpack:///~/byu-web-component-utils/lib/querySelectorSlot.js","webpack:///~/byu-web-component-utils/lib/templating.js","webpack:///byu-hero-banner/byu-hero-banner.scss","webpack:///~/css-loader/lib/css-base.js","webpack:///~/hash-sum/hash-sum.js","webpack:///byu-hero-banner/byu-hero-banner.html"],"names":["__webpack_exports__","__WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__","setupSlotListeners","applyImageSource","applyVideoSource","window","imageBox","hiddenImage","setYoutubeSource","setMp4Source","tag","firstScriptTag","player","width","height","videoId","playerVars","autoplay","autohide","modestbranding","playsinline","rel","showinfo","controls","disablekb","enablejsapi","iv_load_policy","fs","events","setInterval","vidRescale","component","video","name","Object","evt","elSettings","applyTemplateShady","applyTemplateNative","templateElement","document","ShadyCSS","shadow","setTimeout","runAfterStamping","element","callback","exports","module","list","result","item","hash","chr","seen"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAXA;AAA8B;ACA9B;AACA;ADEA;ACAA;AACA;ADEA;ACAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;ADEA;ACAA;AACA;ADEA;ACAA;AACA;ADEA;ACAA;AACA;AACA;AAAA;ADEA;AACA;ACAA;AACA;ADEA;ACAA;AACA;ADEA;ACAA;AACA;AAA2C;AAAc;ADEzD;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;ADEA;ACAA;AACA;AACA;AACA;AAA2B;AAA4B;AACvD;AAAiC;AAAe;AAChD;AACA;AACA;AAAA;ADEA;ACAA;AACA;AAAsD;AAA+D;ADErH;ACAA;AACA;ADEA;ACAA;AACA;ADEA;AAAU;AACV;AACA;AACA;AACA;AA4BA;AA1BA;AExEA;AAAAA;AAAA;AFuGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AEpGA;AACA;AACA;AAQA;AACA;AACA;AF+FA;AE7FA;AACA;AF+FA;AAlBA;AAAO;AACP;AACA;AAqBA;AAnBA;AACA;AAAqB;AACrB;AGpHA;AAAA;AH4IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AGtIA;AACA;AHwIA;AA9CkE;AAAA;AAiDlE;AGxIA;AAAA;AH2IA;AG3IA;AH6IA;AG3IA;AAFA;AAGA;AH8IA;AA1DkE;AAAA;AAAA;AGlFlE;AHiJA;AGhJA;AACAC;AACAC;AACAC;AACAC;AACK;AACL;AH2EkE;AAAA;AAAA;AGpElE;AACA;AACAD;AACA;AACA;AACAC;AACA;AANA;AAQA;AH4DkE;AAAA;AAAA;AGzDlE;AACA;AHwDkE;AGrDlE;AACA;AACA;AACA;AACA;AHiDkE;AAAA;AAAA;AG9ClE;AACA;AH6CkE;AG1ClE;AACA;AACA;AACA;AACA;AHsCkE;AAAA;AAAA;AGxElE;AACA;AHuEkE;AA+GlE;AA/GkE;AAAA;AAkHlE;AGrJAC;AACAA;AHuJA;AGrJA;AHuJA;AGrJA;AACA;AACAC;AACA;AACA;AACA;AACAC;AACA;AHuJA;AGrJA;AACA;AACA;AACAC;AACG;AACHC;AACA;AACA;AHuJA;AGrJA;AACA;AHuJA;AGrJA;AACA;AACAC;AACA;AACAC;AHuJA;AGrJA;AACA;AACAN;AACAO;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AAXA;AAaAC;AACA;AACA;AAFA;AAjBA;AAsBA;AHuJA;AGrJA;AACA;AACAC;AACA;AACA;AACA;AACK;AACLjB;AACAkB;AACA;AACAlB;AACA;AHuJA;AGrJA;AACA;AACA;AACA;AACAmB;AACA;AACA;AACA;AACA;AACAnB;AACA;AATA;AAWA;AHuJA;AGrJA;AACAoB;AACAA;AHuJA;AGrJA3B;AHuJA;AGrJA;AACA;AACA;AACA;AACAO;AACK;AACLA;AACA;AACAoB;AACA;AACA;AHuJA;AGrJA;AACA;AACA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAD;AHuJA;AGrJAD;AACAzB;AHuJA;AGrJA;AACA2B;AACAD;AACG;AHuJH;AGrJA;AACA;AACA;AACA;AACAC;AACAA;AACK;AACLA;AACAA;AACA;AACA;AACA;AHuJA;AGrJA;AACAC;AACA;AAAA;AACA;AACA;AACA;AACA;AHwJA;AGtJA;AHwJA;AA9BA;AAAO;AACP;AACA;AAiCA;AA/BA;AAiCA;AAhCAC;AI9VA;AAAA;AJkYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA3BA;AAAO;AACP;AACA;AA8BA;AA5BA;AACA;AAAqB;AACrB;AACA;AACA;AACA;AAA8F;AAA4D;AAC1J;AACA;AKjYA;AAAA;ALoaA;AACA;AACA;AAtBA;AAAO;AACP;AACA;AAyBA;AAvBA;AMpZA;AAAA;AN+aA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AM5aA;AACA;AACA;AACA;AACA;AACAC;AACA;AACA;AN8aA;AArBA;AAAO;AACP;AACA;AAwBA;AAtBA;AACA;AOvbA;AAAA;AAAA;APkdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AO7cA;AACA;AACA;AAAA;APgdA;AO9cA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;APgdA;AAnBA;AAAO;AACP;AACA;AAsBA;AApBA;AACA;AAAiCnC;AQrejC;AAAA;AAAA;AR+fA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AQ1fA;AR4fA;AQ1fA;AACA;AR4fA;AQ1fA;AACA;AACA;AACA;AACA;AACAoC;AR4fA;AQ1fA;AACAC;AACK;AACLC;AACA;AACA;AR4fA;AQ1fA;AACA;AACA;AACA;AACAC;AACAA;AACAA;AACAC;AACAC;AACA;AACA;AACAA;AACK;AACLA;AACK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACAC;AACA;AACAA;AACAC;AACAC;AACK;AACL;AR4fA;AQ1fA;AACAC;AACAD;AACA;AR4fA;AQ1fA;AACAC;AACA;AACAC;AACA;AACA;AR4fA;AAhBA;AAAO;AACP;AACA;AAmBA;AShlBAC;AACA;ATklBA;AACA;AShlBA;AACAA;ATklBA;AShlBA;ATklBA;AACA;AAjBA;AAAO;AACP;AACA;AAoBA;AU/lBA;AVimBA;AACA;AACA;AU/lBA;AACAC;AACA;AVimBA;AU/lBA;AACAC;AACA;AACA;AACA;AACA;AACAC;AACI;AACJA;AACA;AACA;AACA;AACA;AVimBA;AU/lBA;AACAD;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAE;AACK;AACLA;AACA;AACAF;AACA;AACA;AACA;AACA;AACA;AV+lBA;AAfA;AAAO;AACP;AACA;AAkBA;AAhBA;AAkBA;AWrpBA;AACA;AACAG;AACA;AACA;AACA;AXupBA;AWrpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAC;AACAD;AACAA;AACA;AACA;AACA;AXupBA;AWrpBA;AACA;AACA;AACA;AACA;AACA;AXupBA;AWrpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAE;AACA;AACA;AACA;AACA;AXupBA;AWrpBA;AACA;AACA;AXupBA;AWrpBA;AACA;AACA;AXupBA;AWrpBAN;AXupBA;AAdA;AAAO;AACP;AACA;AAiBA;AYrtBAA;AZutBA;AAfA;AAAO;AACP","file":"components-compat.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 2);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = matchesSelector;\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nfunction matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(3);\n/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\r\n\r\n\r\n\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-hero-banner', __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default.a, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_byu_hero_banner_js__ = __webpack_require__(1);\n/**\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\n\n\n\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lib_templating__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__lib_matchesSelector__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__ = __webpack_require__(4);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__lib_templating__[\"a\"]; });\n/* unused harmony reexport matchesSelector */\n/* unused harmony reexport querySelectorSlot */\n/* unused harmony reexport createEvent */\n/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nfunction createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__ = __webpack_require__(0);\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\nfunction querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__[\"a\" /* default */])(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = applyTemplate;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hash_sum__);\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nfunction applyTemplate(element, elementName, template, callback) {\n let sum = __WEBPACK_IMPORTED_MODULE_0_hash_sum___default()(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ })\n/******/ ]);\n"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 37843564c863870ec08a","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/matchesSelector.js\n// module id = 0\n// module chunks = 0","/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\"use strict\";\r\n\r\nimport template from './byu-hero-banner.html';\r\nimport * as util from 'byu-web-component-utils';\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n util.applyTemplate(this, 'byu-hero-banner', template, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.js\n// module id = 1\n// module chunks = 0","/**\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\"use strict\";\n\nimport './byu-hero-banner/byu-hero-banner.js';\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner.js\n// module id = 2\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\"use strict\";\n\nimport applyTemplate from './lib/templating';\nimport matchesSelector from './lib/matchesSelector';\nimport querySelectorSlot from './lib/querySelectorSlot';\nimport createEvent from './lib/createEvent';\n\nexport {\n applyTemplate,\n matchesSelector,\n querySelectorSlot,\n createEvent\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/index.js\n// module id = 3\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/createEvent.js\n// module id = 4\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport matches from './matchesSelector.js';\n\nexport default function querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (matches(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/querySelectorSlot.js\n// module id = 5\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport hash from 'hash-sum';\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nexport default function applyTemplate(element, elementName, template, callback) {\n let sum = hash(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/templating.js\n// module id = 6\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.scss\n// module id = 7\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader/lib/css-base.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hash-sum/hash-sum.js\n// module id = 9\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.html\n// module id = 10\n// module chunks = 0"]} \ No newline at end of file diff --git a/dist/components-compat.min.js b/dist/components-compat.min.js index c37086d..1661737 100644 --- a/dist/components-compat.min.js +++ b/dist/components-compat.min.js @@ -1,2 +1,2 @@ -(function(){"use strict";function a(f,g){if(!(f instanceof g))throw new TypeError("Cannot call a class as a function")}function b(f,g){if(!f)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return g&&("object"==typeof g||"function"==typeof g)?g:f}function c(f,g){if("function"!=typeof g&&null!==g)throw new TypeError("Super expression must either be null or a function, not "+typeof g);f.prototype=Object.create(g&&g.prototype,{constructor:{value:f,enumerable:!1,writable:!0,configurable:!0}}),g&&(Object.setPrototypeOf?Object.setPrototypeOf(f,g):f.__proto__=g)}var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(f){return typeof f}:function(f){return f&&"function"==typeof Symbol&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f},e=function(){function f(g,j){for(var l,k=0;k16/9?I.setSize(K,9*(K/16)):I.setSize(16*(L/9),L),J.style.left=(window.innerWidth-J.offsetWidth)/2+"px"}var F=A.shadowRoot.querySelector("#player"),G=document.createElement("script");G.src="https://www.youtube.com/iframe_api";var H=document.getElementsByTagName("script")[0];H.parentNode.insertBefore(G,H);var I;window.onYouTubeIframeAPIReady=function(){I=new YT.Player(F,{width:"100%",height:"100%",videoId:B,playerVars:{autoplay:1,autohide:1,modestbranding:1,playsinline:1,rel:0,showinfo:0,controls:0,disablekb:1,enablejsapi:0,iv_load_policy:3,fs:0},events:{onReady:C,onStateChange:D}})};var J=A.shadowRoot.querySelector("#player");J.style.display="inline",J.style.marginLeft=0,window.addEventListener("resize",E)}function p(A){function B(){var E=D.parentElement.clientWidth,F=D.parentElement.clientHeight;E/F>16/9?(D.style.width="100%",D.style.height=""):(D.style.width="",D.style.height="100%")}var C=A.shadowRoot.querySelector("#player"),D=document.createElement("video");D.id="player",D.classList.add("screen","mute"),D.src=A.videoSource,D.autoplay=!0,D.controls=!1,D.muted=!0,D.loop=!0,D.poster=A.imageSource,A.shadowRoot.querySelectorAll(".tv")[0].replaceChild(D,C),B(),window.addEventListener("resize",B),D.addEventListener("canplay",function(){A.shadowRoot.querySelector("#hidden-image").classList.add("hidden")})}function q(A,B){A=A.replace(/[\[\]]/g,"\\$&");var C=new RegExp("[?&]"+A+"(=([^&#]*)|&|#|$)"),D=C.exec(B);return D?D[2]?decodeURIComponent(D[2].replace(/\+/g," ")):"":null}function r(){}var t=j(10),u=j.n(t),v=j(3),x="image-source",y="video-source",z=function(A){function B(){a(this,B);var C=b(this,(B.__proto__||Object.getPrototypeOf(B)).call(this));return C.attachShadow({mode:"open"}),C}return c(B,A),e(B,[{key:"connectedCallback",value:function(){var D=this;v.a(this,"byu-hero-banner",u.a,function(){r(D),k(D),l(D)})}},{key:"attributeChangedCallback",value:function(D){D===x?k(this):D===y?l(this):void 0}},{key:"imageSource",set:function(D){this.setAttribute(x,D)},get:function(){return this.hasAttribute(x)?this.getAttribute(x):""}},{key:"videoSource",set:function(D){this.setAttribute(y,D)},get:function(){return this.hasAttribute(y)?this.getAttribute(y):""}}],[{key:"observedAttributes",get:function(){return[]}}]),B}(HTMLElement);window.customElements.define("byu-hero-banner",z),window.ByuHeroBanner=z},function(f,g,j){Object.defineProperty(g,"__esModule",{value:!0});j(1)},function(f,g,j){var k=j(6),l=j(0),m=j(5),p=j(4);j.d(g,"a",function(){return k.a})},function(){},function(f,g,j){var l=j(0)},function(f,g,j){function l(u,v,x,y,z){var A="__byu-custom-element-template_"+v+"_"+z,B=document.head.querySelector("template#"+A);if(B||(B=document.createElement("template"),B.id=A,B.innerHTML=x,document.head.appendChild(B),ShadyCSS.prepareTemplate(B,v)),ShadyCSS.styleElement)ShadyCSS.styleElement(u);else if(ShadyCSS.applyStyle)ShadyCSS.applyStyle(u);else throw new Error("ShadyCSS is not properly defined: no styleElement or applyStyle!");for(var C=document.importNode(B.content,!0),D=u.shadowRoot;D.firstChild;)D.removeChild(D.firstChild);D.appendChild(C),setTimeout(function(){p(u,y)})}function m(u,v,x){u.shadowRoot.innerHTML=v,p(u,x)}function p(u,v){u.classList.add(t),v&&v()}g.a=function(u,v,x,y){var z=r()(x),A=u.__byu_webCommunity_components=u.__byu_webCommunity_components||{};A.templateHash===z||(A.templateHash=z,window.ShadyCSS&&!window.ShadyCSS.nativeShadow?l(u,v,x,y,z):m(u,x,y))};var q=j(9),r=j.n(q),t="byu-component-rendered"},function(f,g,j){g=f.exports=j(8)(),g.push([f.i,"/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License. \r\n */\n/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:inline-block}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){margin-bottom:0;font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\"/byu-hero-banner/dark.png\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}",""])},function(f){f.exports=function(){var j=[];return j.toString=function(){for(var p,l=[],m=0;mt?-2*t:t}function m(t,u,v){return Object.keys(u).sort().reduce(function(y,z){return p(y,u[z],z,v)},t)}function p(t,u,v,x){var y=l(l(l(t,v),q(u)),"undefined"==typeof u?"undefined":d(u));return null===u?l(y,"null"):void 0===u?l(y,"undefined"):"object"===("undefined"==typeof u?"undefined":d(u))?-1===x.indexOf(u)?(x.push(u),m(y,u,x)):l(y,"[Circular]"+v):l(y,u.toString())}function q(t){return Object.prototype.toString.call(t)}f.exports=function(t){return k(p(0,t,"",[]).toString(16),8)}},function(f,g,j){f.exports="
"}])})(); +(function(){"use strict";function a(f,g){if(!(f instanceof g))throw new TypeError("Cannot call a class as a function")}function b(f,g){if(!f)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return g&&("object"==typeof g||"function"==typeof g)?g:f}function c(f,g){if("function"!=typeof g&&null!==g)throw new TypeError("Super expression must either be null or a function, not "+typeof g);f.prototype=Object.create(g&&g.prototype,{constructor:{value:f,enumerable:!1,writable:!0,configurable:!0}}),g&&(Object.setPrototypeOf?Object.setPrototypeOf(f,g):f.__proto__=g)}var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(f){return typeof f}:function(f){return f&&"function"==typeof Symbol&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f},e=function(){function f(g,j){for(var l,k=0;k16/9?I.setSize(K,9*(K/16)):I.setSize(16*(L/9),L),J.style.left=(window.innerWidth-J.offsetWidth)/2+"px"}var F=A.shadowRoot.querySelector("#player"),G=document.createElement("script");G.src="https://www.youtube.com/iframe_api";var H=document.getElementsByTagName("script")[0];H.parentNode.insertBefore(G,H);var I;window.onYouTubeIframeAPIReady=function(){I=new YT.Player(F,{width:"100%",height:"100%",videoId:B,playerVars:{autoplay:1,autohide:1,modestbranding:1,playsinline:1,rel:0,showinfo:0,controls:0,disablekb:1,enablejsapi:0,iv_load_policy:3,fs:0},events:{onReady:C,onStateChange:D}})};var J=A.shadowRoot.querySelector("#player");J.style.display="inline",J.style.marginLeft=0,window.addEventListener("resize",E)}function p(A){function B(){var E=D.parentElement.clientWidth,F=D.parentElement.clientHeight;E/F>16/9?(D.style.width="100%",D.style.height=""):(D.style.width="",D.style.height="100%")}var C=A.shadowRoot.querySelector("#player"),D=document.createElement("video");D.id="player",D.classList.add("screen","mute"),D.src=A.videoSource,D.autoplay=!0,D.controls=!1,D.muted=!0,D.loop=!0,D.poster=A.imageSource,A.shadowRoot.querySelectorAll(".tv")[0].replaceChild(D,C),B(),window.addEventListener("resize",B),D.addEventListener("canplay",function(){A.shadowRoot.querySelector("#hidden-image").classList.add("hidden")})}function q(A,B){A=A.replace(/[\[\]]/g,"\\$&");var C=new RegExp("[?&]"+A+"(=([^&#]*)|&|#|$)"),D=C.exec(B);return D?D[2]?decodeURIComponent(D[2].replace(/\+/g," ")):"":null}function r(){}var t=j(10),u=j.n(t),v=j(3),x="image-source",y="video-source",z=function(A){function B(){a(this,B);var C=b(this,(B.__proto__||Object.getPrototypeOf(B)).call(this));return C.attachShadow({mode:"open"}),C}return c(B,A),e(B,[{key:"connectedCallback",value:function(){var D=this;v.a(this,"byu-hero-banner",u.a,function(){r(D),k(D),l(D)})}},{key:"attributeChangedCallback",value:function(D){D===x?k(this):D===y?l(this):void 0}},{key:"imageSource",set:function(D){this.setAttribute(x,D)},get:function(){return this.hasAttribute(x)?this.getAttribute(x):""}},{key:"videoSource",set:function(D){this.setAttribute(y,D)},get:function(){return this.hasAttribute(y)?this.getAttribute(y):""}}],[{key:"observedAttributes",get:function(){return[]}}]),B}(HTMLElement);window.customElements.define("byu-hero-banner",z),window.ByuHeroBanner=z},function(f,g,j){Object.defineProperty(g,"__esModule",{value:!0});j(1)},function(f,g,j){var k=j(6),l=j(0),m=j(5),p=j(4);j.d(g,"a",function(){return k.a})},function(){},function(f,g,j){var l=j(0)},function(f,g,j){function l(u,v,x,y,z){var A="__byu-custom-element-template_"+v+"_"+z,B=document.head.querySelector("template#"+A);if(B||(B=document.createElement("template"),B.id=A,B.innerHTML=x,document.head.appendChild(B),ShadyCSS.prepareTemplate(B,v)),ShadyCSS.styleElement)ShadyCSS.styleElement(u);else if(ShadyCSS.applyStyle)ShadyCSS.applyStyle(u);else throw new Error("ShadyCSS is not properly defined: no styleElement or applyStyle!");for(var C=document.importNode(B.content,!0),D=u.shadowRoot;D.firstChild;)D.removeChild(D.firstChild);D.appendChild(C),setTimeout(function(){p(u,y)})}function m(u,v,x){u.shadowRoot.innerHTML=v,p(u,x)}function p(u,v){u.classList.add(t),v&&v()}g.a=function(u,v,x,y){var z=r()(x),A=u.__byu_webCommunity_components=u.__byu_webCommunity_components||{};A.templateHash===z||(A.templateHash=z,window.ShadyCSS?l(u,v,x,y,z):m(u,x,y))};var q=j(9),r=j.n(q),t="byu-component-rendered"},function(f,g,j){g=f.exports=j(8)(),g.push([f.i,"/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License. \r\n */\n/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\"/byu-hero-banner/dark.png\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}",""])},function(f){f.exports=function(){var j=[];return j.toString=function(){for(var p,l=[],m=0;mt?-2*t:t}function m(t,u,v){return Object.keys(u).sort().reduce(function(y,z){return p(y,u[z],z,v)},t)}function p(t,u,v,x){var y=l(l(l(t,v),q(u)),"undefined"==typeof u?"undefined":d(u));return null===u?l(y,"null"):void 0===u?l(y,"undefined"):"object"===("undefined"==typeof u?"undefined":d(u))?-1===x.indexOf(u)?(x.push(u),m(y,u,x)):l(y,"[Circular]"+v):l(y,u.toString())}function q(t){return Object.prototype.toString.call(t)}f.exports=function(t){return k(p(0,t,"",[]).toString(16),8)}},function(f,g,j){f.exports="
"}])})(); //# sourceMappingURL=components-compat.min.js.map diff --git a/dist/components-compat.min.js.map b/dist/components-compat.min.js.map index 5fe0070..5c4f878 100644 --- a/dist/components-compat.min.js.map +++ b/dist/components-compat.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["components-compat.js","components.js","webpack:/webpack/bootstrap a7d347483238d1c13161","webpack:///~/byu-web-component-utils/lib/matchesSelector.js","webpack:///byu-hero-banner/byu-hero-banner.js","webpack:///byu-hero-banner.js","webpack:///~/byu-web-component-utils/lib/querySelectorSlot.js","webpack:///~/byu-web-component-utils/lib/templating.js","webpack:///byu-hero-banner/byu-hero-banner.scss","webpack:///~/css-loader/lib/css-base.js","webpack:///~/hash-sum/hash-sum.js","webpack:///byu-hero-banner/byu-hero-banner.html"],"names":["instance","Constructor","TypeError","self","ReferenceError","call","superClass","subClass","prototype","Object","create","constructor","value","enumerable","writable","configurable","setPrototypeOf","__proto__","Symbol","iterator","obj","i","props","length","descriptor","defineProperty","target","key","protoProps","defineProperties","staticProps","installedModules","moduleId","exports","l","modules","module","__webpack_require__","m","c","d","o","name","get","getter","n","__esModule","hasOwnProperty","object","property","p","s","__webpack_exports__","Element","proto","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","document","ownerDocument","querySelectorAll","indexOf","actual","el","selector","component","shadowRoot","querySelector","imageBox","hiddenImage","videoSource","includes","getParameterByName","setYoutubeSource","setMp4Source","setInterval","getCurrentTime","player","getDuration","seekTo","vidRescale","event","data","YT","PlayerState","PLAYING","ENDED","window","innerWidth","innerHeight","w","h","video","createElement","tag","getElementsByTagName","firstScriptTag","width","height","videoId","playerVars","autoplay","autohide","modestbranding","playsinline","rel","showinfo","controls","disablekb","enablejsapi","iv_load_policy","fs","events","onPlayerReady","onStateChange","parentElement","clientWidth","clientHeight","RegExp","regex","exec","url","results","decodeURIComponent","replace","__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__","_classCallCheck","ByuHeroBanner","_possibleConstructorReturn","getPrototypeOf","_this","attachShadow","mode","_inherits","_HTMLElement","_createClass","__WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__","setupSlotListeners","applyImageSource","applyVideoSource","attr","ATTR_IMG_SRC","ATTR_VIDEO_SRC","set","setAttribute","hasAttribute","getAttribute","HTMLElement","__WEBPACK_IMPORTED_MODULE_0__lib_templating__","elementName","sum","head","templateId","templateElement","ShadyCSS","styleElement","applyStyle","Error","importNode","content","element","shadow","firstChild","setTimeout","runAfterStamping","callback","__WEBPACK_IMPORTED_MODULE_0_hash_sum___default","template","__byu_webCommunity_components","elSettings","templateHash","nativeShadow","applyTemplateShady","applyTemplateNative","__WEBPACK_IMPORTED_MODULE_0_hash_sum__","list","item","result","join","id","alreadyImportedModules","mediaQuery","hash","len","text","chr","keys","sort","reduce","foldValue","seen","fold","input","toString","_typeof","foldObject","pad"],"mappings":"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","file":"components-compat.min.js","sourcesContent":[";(function() {\n\"use strict\";\n\n'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function 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, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/******/(function (modules) {\n // webpackBootstrap\n /******/ // The module cache\n /******/var installedModules = {};\n /******/\n /******/ // The require function\n /******/function __webpack_require__(moduleId) {\n /******/\n /******/ // Check if module is in cache\n /******/if (installedModules[moduleId]) {\n /******/return installedModules[moduleId].exports;\n /******/\n }\n /******/ // Create a new module (and put it into the cache)\n /******/var module = installedModules[moduleId] = {\n /******/i: moduleId,\n /******/l: false,\n /******/exports: {}\n /******/ };\n /******/\n /******/ // Execute the module function\n /******/modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n /******/\n /******/ // Flag the module as loaded\n /******/module.l = true;\n /******/\n /******/ // Return the exports of the module\n /******/return module.exports;\n /******/\n }\n /******/\n /******/\n /******/ // expose the modules object (__webpack_modules__)\n /******/__webpack_require__.m = modules;\n /******/\n /******/ // expose the module cache\n /******/__webpack_require__.c = installedModules;\n /******/\n /******/ // identity function for calling harmony imports with the correct context\n /******/__webpack_require__.i = function (value) {\n return value;\n };\n /******/\n /******/ // define getter function for harmony exports\n /******/__webpack_require__.d = function (exports, name, getter) {\n /******/if (!__webpack_require__.o(exports, name)) {\n /******/Object.defineProperty(exports, name, {\n /******/configurable: false,\n /******/enumerable: true,\n /******/get: getter\n /******/ });\n /******/\n }\n /******/\n };\n /******/\n /******/ // getDefaultExport function for compatibility with non-harmony modules\n /******/__webpack_require__.n = function (module) {\n /******/var getter = module && module.__esModule ?\n /******/function getDefault() {\n return module['default'];\n } :\n /******/function getModuleExports() {\n return module;\n };\n /******/__webpack_require__.d(getter, 'a', getter);\n /******/return getter;\n /******/\n };\n /******/\n /******/ // Object.prototype.hasOwnProperty.call\n /******/__webpack_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n /******/\n /******/ // __webpack_public_path__\n /******/__webpack_require__.p = \"\";\n /******/\n /******/ // Load entry module and return exports\n /******/return __webpack_require__(__webpack_require__.s = 2);\n /******/\n})(\n/************************************************************************/\n/******/[\n/* 0 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony export (immutable) */\n __webpack_exports__[\"a\"] = matchesSelector;\n /*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n function matchesSelector(el, selector) {\n var proto = Element.prototype;\n var actual = proto.matches || proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector || proto.oMatchesSelector || proto.webkitMatchesSelector || function (s) {\n var doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n }\n\n /***/\n},\n/* 1 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__ = __webpack_require__(10);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(3);\n /**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\n\n var ATTR_IMG_SRC = 'image-source';\n var ATTR_VIDEO_SRC = 'video-source';\n\n var ByuHeroBanner = function (_HTMLElement) {\n _inherits(ByuHeroBanner, _HTMLElement);\n\n function ByuHeroBanner() {\n _classCallCheck(this, ByuHeroBanner);\n\n var _this = _possibleConstructorReturn(this, (ByuHeroBanner.__proto__ || Object.getPrototypeOf(ByuHeroBanner)).call(this));\n\n _this.attachShadow({ mode: 'open' });\n return _this;\n }\n\n _createClass(ByuHeroBanner, [{\n key: 'connectedCallback',\n value: function connectedCallback() {\n var _this2 = this;\n\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-hero-banner', __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default.a, function () {\n setupSlotListeners(_this2);\n applyImageSource(_this2);\n applyVideoSource(_this2);\n });\n }\n }, {\n key: 'attributeChangedCallback',\n value: function attributeChangedCallback(attr, oldValue, newValue) {\n switch (attr) {\n case ATTR_IMG_SRC:\n applyImageSource(this);\n break;\n case ATTR_VIDEO_SRC:\n applyVideoSource(this);\n break;\n }\n }\n }, {\n key: 'imageSource',\n set: function set(value) {\n this.setAttribute(ATTR_IMG_SRC, value);\n },\n get: function get() {\n if (this.hasAttribute(ATTR_IMG_SRC)) {\n return this.getAttribute(ATTR_IMG_SRC);\n }\n return '';\n }\n }, {\n key: 'videoSource',\n set: function set(value) {\n this.setAttribute(ATTR_VIDEO_SRC, value);\n },\n get: function get() {\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\n return this.getAttribute(ATTR_VIDEO_SRC);\n }\n return '';\n }\n }], [{\n key: 'observedAttributes',\n get: function get() {\n return [];\n }\n }]);\n\n return ByuHeroBanner;\n }(HTMLElement);\n\n window.customElements.define('byu-hero-banner', ByuHeroBanner);\n window.ByuHeroBanner = ByuHeroBanner;\n\n // -------------------- Helper Functions --------------------\n\n function applyImageSource(component) {\n var imageBox = component.shadowRoot.querySelector('div.image-wrapper');\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\n // this image is kind of a hack to allow us to use either a css background image\n // or an HTML image for different scenarios, depending on which one works best.\n var hiddenImage = component.shadowRoot.querySelector('#hidden-image');\n hiddenImage.src = component.imageSource;\n }\n\n function applyVideoSource(component) {\n if (component.videoSource.includes('youtube')) {\n var id = getParameterByName('v', component.videoSource);\n setYoutubeSource(component, id);\n } else if (component.videoSource.includes('.mp4')) {\n setMp4Source(component);\n }\n }\n\n function setYoutubeSource(component, videoId) {\n var videoBox = component.shadowRoot.querySelector('#player');\n\n // Load the YouTube API asynchronously\n var tag = document.createElement('script');\n tag.src = \"https://www.youtube.com/iframe_api\";\n var firstScriptTag = document.getElementsByTagName('script')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n\n // Create the player object when API is ready\n var player;\n window.onYouTubeIframeAPIReady = function () {\n player = new YT.Player(videoBox, {\n width: '100%',\n height: '100%',\n videoId: videoId,\n playerVars: {\n autoplay: 1,\n autohide: 1,\n modestbranding: 1,\n playsinline: 1,\n rel: 0,\n showinfo: 0,\n controls: 0,\n disablekb: 1,\n enablejsapi: 0,\n iv_load_policy: 3,\n fs: 0\n },\n events: {\n 'onReady': onPlayerReady,\n 'onStateChange': onStateChange\n }\n });\n };\n\n function onPlayerReady(event) {\n // Limits the amount of black screen before restarting the video\n setInterval(function () {\n var i = player.getCurrentTime() / player.getDuration() * 100;\n // if the video is at least 99% complete, restart the video\n if (i >= 99) player.seekTo(0);\n }, 25);\n player.mute();\n vidRescale(player);\n // This forces it to start playing on mobile devices\n player.playVideo();\n }\n\n function onStateChange(event) {\n switch (event.data) {\n case YT.PlayerState.PLAYING:\n // Fade out the starting image\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\n break;\n case YT.PlayerState.ENDED:\n // Use this instead of a looped playlist to prevent loading the video again \n // limiting a longer black screen in between\n player.playVideo();\n break;\n }\n }\n\n var video = component.shadowRoot.querySelector('#player');\n video.style.display = 'inline';\n video.style.marginLeft = 0;\n\n window.addEventListener('resize', vidRescale);\n\n function vidRescale() {\n var w = window.innerWidth + 300;\n var h = window.innerHeight + 300;\n if (w / h > 16 / 9) {\n player.setSize(w, w / 16 * 9);\n } else {\n player.setSize(h / 9 * 16, h);\n }\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\n }\n }\n\n function setMp4Source(component) {\n var divPlayer = component.shadowRoot.querySelector('#player');\n var video = document.createElement('video');\n video.id = 'player';\n video.classList.add('screen', 'mute');\n video.src = component.videoSource;\n video.autoplay = true;\n video.controls = false;\n video.muted = true;\n video.loop = true;\n video.poster = component.imageSource;\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\n\n vidRescale();\n window.addEventListener('resize', vidRescale);\n\n // Fade the initial image when the video has enough frames to play\n video.addEventListener(\"canplay\", function () {\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\n });\n\n function vidRescale() {\n var w = video.parentElement.clientWidth;\n var h = video.parentElement.clientHeight;\n if (w / h > 16 / 9) {\n video.style.width = '100%';\n video.style.height = '';\n } else {\n video.style.width = '';\n video.style.height = '100%';\n }\n }\n }\n\n function getParameterByName(name, url) {\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\n results = regex.exec(url);\n if (!results) return null;\n if (!results[2]) return '';\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\n }\n\n function setupSlotListeners(component) {}\n\n /***/\n},\n/* 2 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_byu_hero_banner_js__ = __webpack_require__(1);\n /**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\n\n /***/\n},\n/* 3 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__lib_templating__ = __webpack_require__(6);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__lib_matchesSelector__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__ = __webpack_require__(5);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__ = __webpack_require__(4);\n /* harmony reexport (binding) */__webpack_require__.d(__webpack_exports__, \"a\", function () {\n return __WEBPACK_IMPORTED_MODULE_0__lib_templating__[\"a\"];\n });\n /* unused harmony reexport matchesSelector */\n /* unused harmony reexport querySelectorSlot */\n /* unused harmony reexport createEvent */\n /**\n * Created by ThatJoeMoore on 2/14/17\n */\n\n /***/\n},\n/* 4 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* unused harmony export default */\n /*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n function createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, { detail: detail, cancelable: true, bubbles: true });\n }\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n }\n\n /***/\n},\n/* 5 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* unused harmony export default */\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__ = __webpack_require__(0);\n /*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n function querySelectorSlot(slot, selector) {\n var roots = slot.assignedNodes({ flatten: true }).filter(function (n) {\n return n.nodeType === Node.ELEMENT_NODE;\n });\n\n for (var i = 0, len = roots.length; i < len; i++) {\n var each = roots[i];\n if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__[\"a\" /* default */])(each, selector)) {\n return each;\n }\n var child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n }\n\n /***/\n},\n/* 6 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony export (immutable) */\n __webpack_exports__[\"a\"] = applyTemplate;\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_hash_sum__ = __webpack_require__(9);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_hash_sum___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hash_sum__);\n /*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n var TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\n function applyTemplate(element, elementName, template, callback) {\n var sum = __WEBPACK_IMPORTED_MODULE_0_hash_sum___default()(template);\n\n var elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n }\n\n function applyTemplateShady(element, elementName, template, callback, sum) {\n var templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n var templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n var imported = document.importNode(templateElement.content, true);\n var shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function () {\n runAfterStamping(element, callback);\n });\n }\n\n function applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n }\n\n function runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n }\n\n /***/\n},\n/* 7 */\n/***/function (module, exports, __webpack_require__) {\n\n exports = module.exports = __webpack_require__(8)();\n // imports\n\n\n // module\n exports.push([module.i, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:inline-block}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){margin-bottom:0;font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n // exports\n\n\n /***/\n},\n/* 8 */\n/***/function (module, exports) {\n\n /*\n \tMIT License http://www.opensource.org/licenses/mit-license.php\n \tAuthor Tobias Koppers @sokra\n */\n // css base code, injected by the css-loader\n module.exports = function () {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n var result = [];\n for (var i = 0; i < this.length; i++) {\n var item = this[i];\n if (item[2]) {\n result.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n } else {\n result.push(item[1]);\n }\n }\n return result.join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function (modules, mediaQuery) {\n if (typeof modules === \"string\") modules = [[null, modules, \"\"]];\n var alreadyImportedModules = {};\n for (var i = 0; i < this.length; i++) {\n var id = this[i][0];\n if (typeof id === \"number\") alreadyImportedModules[id] = true;\n }\n for (i = 0; i < modules.length; i++) {\n var item = modules[i];\n // skip already imported module\n // this implementation is not 100% perfect for weird media query combinations\n // when a module is imported multiple times with different media queries.\n // I hope this will never occur (Hey this way we have smaller bundles)\n if (typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n if (mediaQuery && !item[2]) {\n item[2] = mediaQuery;\n } else if (mediaQuery) {\n item[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n }\n list.push(item);\n }\n }\n };\n return list;\n };\n\n /***/\n},\n/* 9 */\n/***/function (module, exports, __webpack_require__) {\n\n \"use strict\";\n\n function pad(hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n }\n\n function fold(hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = (hash << 5) - hash + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n }\n\n function foldObject(hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey(hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n }\n\n function foldValue(input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value === 'undefined' ? 'undefined' : _typeof(value));\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n }\n\n function toString(o) {\n return Object.prototype.toString.call(o);\n }\n\n function sum(o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n }\n\n module.exports = sum;\n\n /***/\n},\n/* 10 */\n/***/function (module, exports, __webpack_require__) {\n\n module.exports = \"
\";\n\n /***/\n}]\n/******/);\n}());\n\n\n","/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 2);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = matchesSelector;\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nfunction matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(3);\n/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\r\n\r\n\r\n\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-hero-banner', __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default.a, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_byu_hero_banner_js__ = __webpack_require__(1);\n/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\r\n\r\n\r\n\r\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lib_templating__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__lib_matchesSelector__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__ = __webpack_require__(4);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__lib_templating__[\"a\"]; });\n/* unused harmony reexport matchesSelector */\n/* unused harmony reexport querySelectorSlot */\n/* unused harmony reexport createEvent */\n/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nfunction createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__ = __webpack_require__(0);\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\nfunction querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__[\"a\" /* default */])(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = applyTemplate;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hash_sum__);\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nfunction applyTemplate(element, elementName, template, callback) {\n let sum = __WEBPACK_IMPORTED_MODULE_0_hash_sum___default()(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:inline-block}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){margin-bottom:0;font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ })\n/******/ ]);\n"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap a7d347483238d1c13161","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/matchesSelector.js\n// module id = 0\n// module chunks = 0","/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\"use strict\";\r\n\r\nimport template from './byu-hero-banner.html';\r\nimport * as util from 'byu-web-component-utils';\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n util.applyTemplate(this, 'byu-hero-banner', template, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.js\n// module id = 1\n// module chunks = 0","/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\"use strict\";\r\n\r\nimport './byu-hero-banner/byu-hero-banner.js';\r\n\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner.js\n// module id = 2\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport matches from './matchesSelector.js';\n\nexport default function querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (matches(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/querySelectorSlot.js\n// module id = 5\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport hash from 'hash-sum';\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nexport default function applyTemplate(element, elementName, template, callback) {\n let sum = hash(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/templating.js\n// module id = 6\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:inline-block}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){margin-bottom:0;font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.scss\n// module id = 7\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader/lib/css-base.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hash-sum/hash-sum.js\n// module id = 9\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.html\n// module id = 10\n// module chunks = 0"]} \ No newline at end of file +{"version":3,"sources":["components-compat.js","components.js","webpack:/webpack/bootstrap 37843564c863870ec08a","webpack:///~/byu-web-component-utils/lib/matchesSelector.js","webpack:///byu-hero-banner/byu-hero-banner.js","webpack:///byu-hero-banner.js","webpack:///~/byu-web-component-utils/lib/querySelectorSlot.js","webpack:///~/byu-web-component-utils/lib/templating.js","webpack:///byu-hero-banner/byu-hero-banner.scss","webpack:///~/css-loader/lib/css-base.js","webpack:///~/hash-sum/hash-sum.js","webpack:///byu-hero-banner/byu-hero-banner.html"],"names":["instance","Constructor","TypeError","self","ReferenceError","call","superClass","subClass","prototype","Object","create","constructor","value","enumerable","writable","configurable","setPrototypeOf","__proto__","Symbol","iterator","obj","i","props","length","descriptor","defineProperty","target","key","protoProps","defineProperties","staticProps","installedModules","moduleId","exports","l","modules","module","__webpack_require__","m","c","d","o","name","get","getter","n","__esModule","hasOwnProperty","object","property","p","s","__webpack_exports__","Element","proto","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","document","ownerDocument","querySelectorAll","indexOf","actual","el","selector","component","shadowRoot","querySelector","imageBox","hiddenImage","videoSource","includes","getParameterByName","setYoutubeSource","setMp4Source","setInterval","getCurrentTime","player","getDuration","seekTo","vidRescale","event","data","YT","PlayerState","PLAYING","ENDED","window","innerWidth","innerHeight","w","h","video","createElement","tag","getElementsByTagName","firstScriptTag","width","height","videoId","playerVars","autoplay","autohide","modestbranding","playsinline","rel","showinfo","controls","disablekb","enablejsapi","iv_load_policy","fs","events","onPlayerReady","onStateChange","parentElement","clientWidth","clientHeight","RegExp","regex","exec","url","results","decodeURIComponent","replace","__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__","_classCallCheck","ByuHeroBanner","_possibleConstructorReturn","getPrototypeOf","_this","attachShadow","mode","_inherits","_HTMLElement","_createClass","__WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__","setupSlotListeners","applyImageSource","applyVideoSource","attr","ATTR_IMG_SRC","ATTR_VIDEO_SRC","set","setAttribute","hasAttribute","getAttribute","HTMLElement","__WEBPACK_IMPORTED_MODULE_0__lib_templating__","elementName","sum","head","templateId","templateElement","ShadyCSS","styleElement","applyStyle","Error","importNode","content","element","shadow","firstChild","setTimeout","runAfterStamping","callback","__WEBPACK_IMPORTED_MODULE_0_hash_sum___default","template","__byu_webCommunity_components","elSettings","templateHash","applyTemplateShady","applyTemplateNative","__WEBPACK_IMPORTED_MODULE_0_hash_sum__","list","item","result","join","id","alreadyImportedModules","mediaQuery","hash","len","text","chr","keys","sort","reduce","foldValue","seen","fold","input","toString","_typeof","foldObject","pad"],"mappings":"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","file":"components-compat.min.js","sourcesContent":[";(function() {\n\"use strict\";\n\n'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function 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, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/******/(function (modules) {\n // webpackBootstrap\n /******/ // The module cache\n /******/var installedModules = {};\n /******/\n /******/ // The require function\n /******/function __webpack_require__(moduleId) {\n /******/\n /******/ // Check if module is in cache\n /******/if (installedModules[moduleId]) {\n /******/return installedModules[moduleId].exports;\n /******/\n }\n /******/ // Create a new module (and put it into the cache)\n /******/var module = installedModules[moduleId] = {\n /******/i: moduleId,\n /******/l: false,\n /******/exports: {}\n /******/ };\n /******/\n /******/ // Execute the module function\n /******/modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n /******/\n /******/ // Flag the module as loaded\n /******/module.l = true;\n /******/\n /******/ // Return the exports of the module\n /******/return module.exports;\n /******/\n }\n /******/\n /******/\n /******/ // expose the modules object (__webpack_modules__)\n /******/__webpack_require__.m = modules;\n /******/\n /******/ // expose the module cache\n /******/__webpack_require__.c = installedModules;\n /******/\n /******/ // identity function for calling harmony imports with the correct context\n /******/__webpack_require__.i = function (value) {\n return value;\n };\n /******/\n /******/ // define getter function for harmony exports\n /******/__webpack_require__.d = function (exports, name, getter) {\n /******/if (!__webpack_require__.o(exports, name)) {\n /******/Object.defineProperty(exports, name, {\n /******/configurable: false,\n /******/enumerable: true,\n /******/get: getter\n /******/ });\n /******/\n }\n /******/\n };\n /******/\n /******/ // getDefaultExport function for compatibility with non-harmony modules\n /******/__webpack_require__.n = function (module) {\n /******/var getter = module && module.__esModule ?\n /******/function getDefault() {\n return module['default'];\n } :\n /******/function getModuleExports() {\n return module;\n };\n /******/__webpack_require__.d(getter, 'a', getter);\n /******/return getter;\n /******/\n };\n /******/\n /******/ // Object.prototype.hasOwnProperty.call\n /******/__webpack_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n /******/\n /******/ // __webpack_public_path__\n /******/__webpack_require__.p = \"\";\n /******/\n /******/ // Load entry module and return exports\n /******/return __webpack_require__(__webpack_require__.s = 2);\n /******/\n})(\n/************************************************************************/\n/******/[\n/* 0 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony export (immutable) */\n __webpack_exports__[\"a\"] = matchesSelector;\n /*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n function matchesSelector(el, selector) {\n var proto = Element.prototype;\n var actual = proto.matches || proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector || proto.oMatchesSelector || proto.webkitMatchesSelector || function (s) {\n var doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n }\n\n /***/\n},\n/* 1 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__ = __webpack_require__(10);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(3);\n /**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\n\n var ATTR_IMG_SRC = 'image-source';\n var ATTR_VIDEO_SRC = 'video-source';\n\n var ByuHeroBanner = function (_HTMLElement) {\n _inherits(ByuHeroBanner, _HTMLElement);\n\n function ByuHeroBanner() {\n _classCallCheck(this, ByuHeroBanner);\n\n var _this = _possibleConstructorReturn(this, (ByuHeroBanner.__proto__ || Object.getPrototypeOf(ByuHeroBanner)).call(this));\n\n _this.attachShadow({ mode: 'open' });\n return _this;\n }\n\n _createClass(ByuHeroBanner, [{\n key: 'connectedCallback',\n value: function connectedCallback() {\n var _this2 = this;\n\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-hero-banner', __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default.a, function () {\n setupSlotListeners(_this2);\n applyImageSource(_this2);\n applyVideoSource(_this2);\n });\n }\n }, {\n key: 'attributeChangedCallback',\n value: function attributeChangedCallback(attr, oldValue, newValue) {\n switch (attr) {\n case ATTR_IMG_SRC:\n applyImageSource(this);\n break;\n case ATTR_VIDEO_SRC:\n applyVideoSource(this);\n break;\n }\n }\n }, {\n key: 'imageSource',\n set: function set(value) {\n this.setAttribute(ATTR_IMG_SRC, value);\n },\n get: function get() {\n if (this.hasAttribute(ATTR_IMG_SRC)) {\n return this.getAttribute(ATTR_IMG_SRC);\n }\n return '';\n }\n }, {\n key: 'videoSource',\n set: function set(value) {\n this.setAttribute(ATTR_VIDEO_SRC, value);\n },\n get: function get() {\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\n return this.getAttribute(ATTR_VIDEO_SRC);\n }\n return '';\n }\n }], [{\n key: 'observedAttributes',\n get: function get() {\n return [];\n }\n }]);\n\n return ByuHeroBanner;\n }(HTMLElement);\n\n window.customElements.define('byu-hero-banner', ByuHeroBanner);\n window.ByuHeroBanner = ByuHeroBanner;\n\n // -------------------- Helper Functions --------------------\n\n function applyImageSource(component) {\n var imageBox = component.shadowRoot.querySelector('div.image-wrapper');\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\n // this image is kind of a hack to allow us to use either a css background image\n // or an HTML image for different scenarios, depending on which one works best.\n var hiddenImage = component.shadowRoot.querySelector('#hidden-image');\n hiddenImage.src = component.imageSource;\n }\n\n function applyVideoSource(component) {\n if (component.videoSource.includes('youtube')) {\n var id = getParameterByName('v', component.videoSource);\n setYoutubeSource(component, id);\n } else if (component.videoSource.includes('.mp4')) {\n setMp4Source(component);\n }\n }\n\n function setYoutubeSource(component, videoId) {\n var videoBox = component.shadowRoot.querySelector('#player');\n\n // Load the YouTube API asynchronously\n var tag = document.createElement('script');\n tag.src = \"https://www.youtube.com/iframe_api\";\n var firstScriptTag = document.getElementsByTagName('script')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n\n // Create the player object when API is ready\n var player;\n window.onYouTubeIframeAPIReady = function () {\n player = new YT.Player(videoBox, {\n width: '100%',\n height: '100%',\n videoId: videoId,\n playerVars: {\n autoplay: 1,\n autohide: 1,\n modestbranding: 1,\n playsinline: 1,\n rel: 0,\n showinfo: 0,\n controls: 0,\n disablekb: 1,\n enablejsapi: 0,\n iv_load_policy: 3,\n fs: 0\n },\n events: {\n 'onReady': onPlayerReady,\n 'onStateChange': onStateChange\n }\n });\n };\n\n function onPlayerReady(event) {\n // Limits the amount of black screen before restarting the video\n setInterval(function () {\n var i = player.getCurrentTime() / player.getDuration() * 100;\n // if the video is at least 99% complete, restart the video\n if (i >= 99) player.seekTo(0);\n }, 25);\n player.mute();\n vidRescale(player);\n // This forces it to start playing on mobile devices\n player.playVideo();\n }\n\n function onStateChange(event) {\n switch (event.data) {\n case YT.PlayerState.PLAYING:\n // Fade out the starting image\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\n break;\n case YT.PlayerState.ENDED:\n // Use this instead of a looped playlist to prevent loading the video again \n // limiting a longer black screen in between\n player.playVideo();\n break;\n }\n }\n\n var video = component.shadowRoot.querySelector('#player');\n video.style.display = 'inline';\n video.style.marginLeft = 0;\n\n window.addEventListener('resize', vidRescale);\n\n function vidRescale() {\n var w = window.innerWidth + 300;\n var h = window.innerHeight + 300;\n if (w / h > 16 / 9) {\n player.setSize(w, w / 16 * 9);\n } else {\n player.setSize(h / 9 * 16, h);\n }\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\n }\n }\n\n function setMp4Source(component) {\n var divPlayer = component.shadowRoot.querySelector('#player');\n var video = document.createElement('video');\n video.id = 'player';\n video.classList.add('screen', 'mute');\n video.src = component.videoSource;\n video.autoplay = true;\n video.controls = false;\n video.muted = true;\n video.loop = true;\n video.poster = component.imageSource;\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\n\n vidRescale();\n window.addEventListener('resize', vidRescale);\n\n // Fade the initial image when the video has enough frames to play\n video.addEventListener(\"canplay\", function () {\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\n });\n\n function vidRescale() {\n var w = video.parentElement.clientWidth;\n var h = video.parentElement.clientHeight;\n if (w / h > 16 / 9) {\n video.style.width = '100%';\n video.style.height = '';\n } else {\n video.style.width = '';\n video.style.height = '100%';\n }\n }\n }\n\n function getParameterByName(name, url) {\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\n results = regex.exec(url);\n if (!results) return null;\n if (!results[2]) return '';\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\n }\n\n function setupSlotListeners(component) {}\n\n /***/\n},\n/* 2 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_byu_hero_banner_js__ = __webpack_require__(1);\n /**\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\n /***/\n},\n/* 3 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__lib_templating__ = __webpack_require__(6);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__lib_matchesSelector__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__ = __webpack_require__(5);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__ = __webpack_require__(4);\n /* harmony reexport (binding) */__webpack_require__.d(__webpack_exports__, \"a\", function () {\n return __WEBPACK_IMPORTED_MODULE_0__lib_templating__[\"a\"];\n });\n /* unused harmony reexport matchesSelector */\n /* unused harmony reexport querySelectorSlot */\n /* unused harmony reexport createEvent */\n /**\n * Created by ThatJoeMoore on 2/14/17\n */\n\n /***/\n},\n/* 4 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* unused harmony export default */\n /*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n function createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, { detail: detail, cancelable: true, bubbles: true });\n }\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n }\n\n /***/\n},\n/* 5 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* unused harmony export default */\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__ = __webpack_require__(0);\n /*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n function querySelectorSlot(slot, selector) {\n var roots = slot.assignedNodes({ flatten: true }).filter(function (n) {\n return n.nodeType === Node.ELEMENT_NODE;\n });\n\n for (var i = 0, len = roots.length; i < len; i++) {\n var each = roots[i];\n if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__[\"a\" /* default */])(each, selector)) {\n return each;\n }\n var child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n }\n\n /***/\n},\n/* 6 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony export (immutable) */\n __webpack_exports__[\"a\"] = applyTemplate;\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_hash_sum__ = __webpack_require__(9);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_hash_sum___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hash_sum__);\n /*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n var TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\n function applyTemplate(element, elementName, template, callback) {\n var sum = __WEBPACK_IMPORTED_MODULE_0_hash_sum___default()(template);\n\n var elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n }\n\n function applyTemplateShady(element, elementName, template, callback, sum) {\n var templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n var templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n var imported = document.importNode(templateElement.content, true);\n var shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function () {\n runAfterStamping(element, callback);\n });\n }\n\n function applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n }\n\n function runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n }\n\n /***/\n},\n/* 7 */\n/***/function (module, exports, __webpack_require__) {\n\n exports = module.exports = __webpack_require__(8)();\n // imports\n\n\n // module\n exports.push([module.i, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n // exports\n\n\n /***/\n},\n/* 8 */\n/***/function (module, exports) {\n\n /*\n \tMIT License http://www.opensource.org/licenses/mit-license.php\n \tAuthor Tobias Koppers @sokra\n */\n // css base code, injected by the css-loader\n module.exports = function () {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n var result = [];\n for (var i = 0; i < this.length; i++) {\n var item = this[i];\n if (item[2]) {\n result.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n } else {\n result.push(item[1]);\n }\n }\n return result.join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function (modules, mediaQuery) {\n if (typeof modules === \"string\") modules = [[null, modules, \"\"]];\n var alreadyImportedModules = {};\n for (var i = 0; i < this.length; i++) {\n var id = this[i][0];\n if (typeof id === \"number\") alreadyImportedModules[id] = true;\n }\n for (i = 0; i < modules.length; i++) {\n var item = modules[i];\n // skip already imported module\n // this implementation is not 100% perfect for weird media query combinations\n // when a module is imported multiple times with different media queries.\n // I hope this will never occur (Hey this way we have smaller bundles)\n if (typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n if (mediaQuery && !item[2]) {\n item[2] = mediaQuery;\n } else if (mediaQuery) {\n item[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n }\n list.push(item);\n }\n }\n };\n return list;\n };\n\n /***/\n},\n/* 9 */\n/***/function (module, exports, __webpack_require__) {\n\n \"use strict\";\n\n function pad(hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n }\n\n function fold(hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = (hash << 5) - hash + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n }\n\n function foldObject(hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey(hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n }\n\n function foldValue(input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value === 'undefined' ? 'undefined' : _typeof(value));\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n }\n\n function toString(o) {\n return Object.prototype.toString.call(o);\n }\n\n function sum(o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n }\n\n module.exports = sum;\n\n /***/\n},\n/* 10 */\n/***/function (module, exports, __webpack_require__) {\n\n module.exports = \"
\";\n\n /***/\n}]\n/******/);\n}());\n\n\n","/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 2);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = matchesSelector;\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nfunction matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(3);\n/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\r\n\r\n\r\n\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-hero-banner', __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default.a, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_byu_hero_banner_js__ = __webpack_require__(1);\n/**\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\n\n\n\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lib_templating__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__lib_matchesSelector__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__ = __webpack_require__(4);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__lib_templating__[\"a\"]; });\n/* unused harmony reexport matchesSelector */\n/* unused harmony reexport querySelectorSlot */\n/* unused harmony reexport createEvent */\n/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nfunction createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__ = __webpack_require__(0);\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\nfunction querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__[\"a\" /* default */])(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = applyTemplate;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hash_sum__);\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nfunction applyTemplate(element, elementName, template, callback) {\n let sum = __WEBPACK_IMPORTED_MODULE_0_hash_sum___default()(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ })\n/******/ ]);\n"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 37843564c863870ec08a","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/matchesSelector.js\n// module id = 0\n// module chunks = 0","/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\"use strict\";\r\n\r\nimport template from './byu-hero-banner.html';\r\nimport * as util from 'byu-web-component-utils';\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n util.applyTemplate(this, 'byu-hero-banner', template, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.js\n// module id = 1\n// module chunks = 0","/**\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\"use strict\";\n\nimport './byu-hero-banner/byu-hero-banner.js';\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner.js\n// module id = 2\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport matches from './matchesSelector.js';\n\nexport default function querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (matches(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/querySelectorSlot.js\n// module id = 5\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport hash from 'hash-sum';\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nexport default function applyTemplate(element, elementName, template, callback) {\n let sum = hash(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/templating.js\n// module id = 6\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.scss\n// module id = 7\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader/lib/css-base.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hash-sum/hash-sum.js\n// module id = 9\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.html\n// module id = 10\n// module chunks = 0"]} \ No newline at end of file diff --git a/dist/components.js b/dist/components.js index 4ecf495..43c71e9 100644 --- a/dist/components.js +++ b/dist/components.js @@ -518,7 +518,7 @@ function applyTemplate(element, elementName, template, callback) { } elSettings.templateHash = sum; - if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) { + if (window.ShadyCSS) { applyTemplateShady(element, elementName, template, callback, sum); } else { applyTemplateNative(element, template, callback); @@ -578,7 +578,7 @@ exports = module.exports = __webpack_require__(8)(); // module -exports.push([module.i, "/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License. \r\n */\n/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:inline-block}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){margin-bottom:0;font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\"/byu-hero-banner/dark.png\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}", ""]); +exports.push([module.i, "/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License. \r\n */\n/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\"/byu-hero-banner/dark.png\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}", ""]); // exports diff --git a/dist/components.js.map b/dist/components.js.map index 50a1e91..be0b8cf 100644 --- a/dist/components.js.map +++ b/dist/components.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap a7d347483238d1c13161","webpack:///./~/byu-web-component-utils/lib/matchesSelector.js","webpack:///./byu-hero-banner/byu-hero-banner.js","webpack:///./byu-hero-banner.js","webpack:///./~/byu-web-component-utils/index.js","webpack:///./~/byu-web-component-utils/lib/createEvent.js","webpack:///./~/byu-web-component-utils/lib/querySelectorSlot.js","webpack:///./~/byu-web-component-utils/lib/templating.js","webpack:///./byu-hero-banner/byu-hero-banner.scss","webpack:///./~/css-loader/lib/css-base.js","webpack:///./~/hash-sum/hash-sum.js","webpack:///./byu-hero-banner/byu-hero-banner.html"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;AChEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;ACjCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,eAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,C;;;;;;;;ACjOA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;AClBA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAOA;;;;;;;;ACfA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sCAAsC,wCAAwC;AAC9E;AACA;AACA;AACA;AACA;;;;;;;;;ACzBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,oCAAoC,cAAc;AAClD;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACnCA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/EA;AACA;;;AAGA;AACA,8KAA+K,+rBAA+rB,6iBAA6iB,WAAW,iBAAiB,aAAa,gBAAgB,kBAAkB,aAAa,uBAAuB,eAAe,YAAY,WAAW,cAAc,aAAa,2BAA2B,mDAAmD,qCAAqC,wDAAwD,gBAAgB,qBAAqB,6DAA6D,gBAAgB,0BAA0B,sBAAsB,0BAA0B,eAAe,6BAA6B,mBAAmB,iBAAiB,eAAe,uBAAuB,kBAAkB,iBAAiB,+BAA+B,gBAAgB,gBAAgB,sBAAsB,aAAa,mBAAmB,uBAAuB,mBAAmB,iBAAiB,aAAa,kCAAkC,4BAA4B,wBAAwB,sBAAsB,2CAA2C,0BAA0B,kBAAkB,SAAS,2BAA2B,SAAS,kBAAkB,yBAAyB,wDAAwD,6DAA6D,WAAW,kCAAkC,kBAAkB,MAAM,OAAO,YAAY,iCAAiC,WAAW,kBAAkB,MAAM,OAAO,WAAW,YAAY,aAAa,sBAAsB,qBAAqB,uBAAuB,kBAAkB,sBAAsB,YAAY,qDAAqD,aAAa,2CAA2C,eAAe,mBAAmB,6CAA6C,gBAAgB,eAAe,iDAAiD,cAAc,gBAAgB,+HAA+H,mCAAmC,qBAAqB,2IAA2I,mCAAmC,+BAA+B,iCAAiC,eAAe,kBAAkB,YAAY,2BAA2B,UAAU,kCAAkC,4BAA4B,kBAAkB,YAAY,WAAW,YAAY,oDAAoD,yBAAyB,qBAAqB,uBAAuB,kBAAkB,MAAM,OAAO,YAAY,sBAAsB,WAAW,YAAY,gBAAgB,+BAA+B,kBAAkB,MAAM,QAAQ,SAAS,SAAS,2BAA2B,YAAY,YAAY,UAAU,uBAAuB,sCAAsC,UAAU,mCAAmC,sBAAsB,wBAAwB,kCAAkC,kBAAkB,MAAM,OAAO,WAAW,YAAY,aAAa,sBAAsB,qBAAqB,uBAAuB,kBAAkB,sBAAsB,YAAY,sDAAsD,aAAa,4CAA4C,eAAe,mBAAmB,8CAA8C,gBAAgB,eAAe,kDAAkD,cAAc,gBAAgB,iIAAiI,mCAAmC,qBAAqB,6IAA6I,mCAAmC,+BAA+B,kEAAkE,oCAAoC,4EAA4E,cAAc,eAAe,mBAAmB,8EAA8E,cAAc,gBAAgB,eAAe,iBAAiB,kFAAkF,gBAAgB,kBAAkB,iMAAiM,mCAAmC,qBAAqB,6MAA6M,mCAAmC,+BAA+B,iEAAiE,mBAAmB,6KAA6K,WAAW,uJAAuJ,gCAAgC,wBAAwB,mBAAmB,yBAAyB,aAAa,cAAc,iBAAiB,eAAe,sBAAsB,YAAY,mBAAmB,uBAAuB,kCAAkC,aAAa,WAAW,wBAAwB,4BAA4B,wBAAwB,iCAAiC,WAAW,YAAY,aAAa,sBAAsB,uBAAuB,gBAAgB,sBAAsB,iBAAiB,2CAA2C,cAAc,eAAe,mBAAmB,6CAA6C,gBAAgB,eAAe,iBAAiB,iDAAiD,gBAAgB,+HAA+H,mCAAmC,qBAAqB,2IAA2I,mCAAmC,+BAA+B,2CAA2C,WAAW,YAAY,sBAAsB,wBAAwB,0CAA0C,YAAY,aAAa,cAAc,eAAe,sBAAsB,aAAa,2BAA2B,kBAAkB,MAAM,SAAS,mBAAmB,8DAA8D,YAAY,WAAW,0BAA0B,oCAAoC,eAAe,aAAa,sBAAsB,uBAAuB,gBAAgB,sBAAsB,oDAAoD,cAAc,eAAe,mBAAmB,sDAAsD,gBAAgB,eAAe,iBAAiB,0DAA0D,gBAAgB,kBAAkB,iJAAiJ,mCAAmC,qBAAqB,6JAA6J,mCAAmC,+BAA+B,yGAAyG,yBAAyB,0BAA0B,mBAAmB,iBAAiB,2CAA2C,0BAA0B,mBAAmB,0BAA0B,mBAAmB,iBAAiB,2CAA2C,0BAA0B,iBAAiB,0CAA0C,WAAW,OAAO,eAAe,0BAA0B,mBAAmB,iBAAiB,2CAA2C,yBAAyB,iBAAiB,oBAAoB,aAAa,gEAAgE,eAAe,iBAAiB,kEAAkE,eAAe,kCAAkC,aAAa,+DAA+D,eAAe,iBAAiB,iEAAiE,eAAe,iBAAiB,4BAA4B,aAAa,0CAA0C,YAAY,eAAe,WAAW,UAAU,kBAAkB,YAAY,SAAS,OAAO,8DAA8D,WAAW,aAAa,eAAe,wEAAwE,eAAe,iBAAiB,0EAA0E,eAAe,kBAAkB,yBAAyB,mBAAmB,iBAAiB,2CAA2C,yBAAyB,kBAAkB,yBAAyB,mBAAmB,iBAAiB,2CAA2C,yBAAyB,iBAAiB,mBAAmB,YAAY,gBAAgB,UAAU,cAAc,kCAAkC,0BAA0B,YAAY,gDAAgD,cAAc,WAAW,iCAAiC,gBAAgB,cAAc,YAAY,eAAe,iDAAiD,iBAAiB;;AAEpwW;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA,wCAAwC,gBAAgB;AACxD,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjDA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,SAAS;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;ACzDA,knB","file":"components.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap a7d347483238d1c13161","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/matchesSelector.js\n// module id = 0\n// module chunks = 0","/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\"use strict\";\r\n\r\nimport template from './byu-hero-banner.html';\r\nimport * as util from 'byu-web-component-utils';\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n util.applyTemplate(this, 'byu-hero-banner', template, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.js\n// module id = 1\n// module chunks = 0","/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\"use strict\";\r\n\r\nimport './byu-hero-banner/byu-hero-banner.js';\r\n\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner.js\n// module id = 2\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\"use strict\";\n\nimport applyTemplate from './lib/templating';\nimport matchesSelector from './lib/matchesSelector';\nimport querySelectorSlot from './lib/querySelectorSlot';\nimport createEvent from './lib/createEvent';\n\nexport {\n applyTemplate,\n matchesSelector,\n querySelectorSlot,\n createEvent\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/index.js\n// module id = 3\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/createEvent.js\n// module id = 4\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport matches from './matchesSelector.js';\n\nexport default function querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (matches(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/querySelectorSlot.js\n// module id = 5\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport hash from 'hash-sum';\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nexport default function applyTemplate(element, elementName, template, callback) {\n let sum = hash(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/templating.js\n// module id = 6\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:inline-block}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){margin-bottom:0;font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.scss\n// module id = 7\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader/lib/css-base.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hash-sum/hash-sum.js\n// module id = 9\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.html\n// module id = 10\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap 37843564c863870ec08a","webpack:///./~/byu-web-component-utils/lib/matchesSelector.js","webpack:///./byu-hero-banner/byu-hero-banner.js","webpack:///./byu-hero-banner.js","webpack:///./~/byu-web-component-utils/index.js","webpack:///./~/byu-web-component-utils/lib/createEvent.js","webpack:///./~/byu-web-component-utils/lib/querySelectorSlot.js","webpack:///./~/byu-web-component-utils/lib/templating.js","webpack:///./byu-hero-banner/byu-hero-banner.scss","webpack:///./~/css-loader/lib/css-base.js","webpack:///./~/hash-sum/hash-sum.js","webpack:///./byu-hero-banner/byu-hero-banner.html"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;AChEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;ACjCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,eAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,C;;;;;;;;ACjOA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;AClBA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAOA;;;;;;;;ACfA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sCAAsC,wCAAwC;AAC9E;AACA;AACA;AACA;AACA;;;;;;;;;ACzBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,oCAAoC,cAAc;AAClD;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACnCA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AAC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AAyB,mBAAmB,iBAAiB,2CAA2C,yBAAyB,iBAAiB,mBAAmB,YAAY,gBAAgB,UAAU,cAAc,kCAAkC,0BAA0B,YAAY,gDAAgD,cAAc,WAAW,iCAAiC,gBAAgB,cAAc,YAAY,eAAe,iDAAiD,iBAAiB;;AAE/7W;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA,wCAAwC,gBAAgB;AACxD,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjDA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,SAAS;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;ACzDA,knB","file":"components.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 37843564c863870ec08a","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/matchesSelector.js\n// module id = 0\n// module chunks = 0","/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\"use strict\";\r\n\r\nimport template from './byu-hero-banner.html';\r\nimport * as util from 'byu-web-component-utils';\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n util.applyTemplate(this, 'byu-hero-banner', template, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.js\n// module id = 1\n// module chunks = 0","/**\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\"use strict\";\n\nimport './byu-hero-banner/byu-hero-banner.js';\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner.js\n// module id = 2\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\"use strict\";\n\nimport applyTemplate from './lib/templating';\nimport matchesSelector from './lib/matchesSelector';\nimport querySelectorSlot from './lib/querySelectorSlot';\nimport createEvent from './lib/createEvent';\n\nexport {\n applyTemplate,\n matchesSelector,\n querySelectorSlot,\n createEvent\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/index.js\n// module id = 3\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/createEvent.js\n// module id = 4\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport matches from './matchesSelector.js';\n\nexport default function querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (matches(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/querySelectorSlot.js\n// module id = 5\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport hash from 'hash-sum';\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nexport default function applyTemplate(element, elementName, template, callback) {\n let sum = hash(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/templating.js\n// module id = 6\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.scss\n// module id = 7\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader/lib/css-base.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hash-sum/hash-sum.js\n// module id = 9\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.html\n// module id = 10\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/components.min.js b/dist/components.min.js index 9ec30fa..172d838 100644 --- a/dist/components.min.js +++ b/dist/components.min.js @@ -1,2 +1,2 @@ -(function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={i:d,l:!1,exports:{}};return a[d].call(e.exports,e,e.exports,b),e.l=!0,e.exports}var c={};return b.m=a,b.c=c,b.i=function(d){return d},b.d=function(d,e,f){b.o(d,e)||Object.defineProperty(d,e,{configurable:!1,enumerable:!0,get:f})},b.n=function(d){var e=d&&d.__esModule?function(){return d['default']}:function(){return d};return b.d(e,'a',e),e},b.o=function(d,e){return Object.prototype.hasOwnProperty.call(d,e)},b.p='',b(b.s=2)})([function(a,b){'use strict';b.a=function(e,f){let g=Element.prototype,j=g.matches||g.matchesSelector||g.mozMatchesSelector||g.msMatchesSelector||g.oMatchesSelector||g.webkitMatchesSelector||function(k){let l=this.document||this.ownerDocument;return-1!==l.querySelectorAll(k).indexOf(this)};return j.call(e,f)}},function(a,b,c){'use strict';function d(u){let v=u.shadowRoot.querySelector('div.image-wrapper');v.style.backgroundImage='url(\''+u.imageSource+'\')';let x=u.shadowRoot.querySelector('#hidden-image');x.src=u.imageSource}function e(u){if(u.videoSource.includes('youtube')){let v=j('v',u.videoSource);f(u,v)}else u.videoSource.includes('.mp4')&&g(u)}function f(u,v){function x(){setInterval(function(){var G=100*(D.getCurrentTime()/D.getDuration());99<=G&&D.seekTo(0)},25),D.mute(),z(D),D.playVideo()}function y(F){switch(F.data){case YT.PlayerState.PLAYING:u.shadowRoot.querySelector('#hidden-image').classList.add('hidden');break;case YT.PlayerState.ENDED:D.playVideo();}}function z(){var F=window.innerWidth+300,G=window.innerHeight+300;F/G>16/9?D.setSize(F,9*(F/16)):D.setSize(16*(G/9),G),E.style.left=(window.innerWidth-E.offsetWidth)/2+'px'}let A=u.shadowRoot.querySelector('#player');var B=document.createElement('script');B.src='https://www.youtube.com/iframe_api';var C=document.getElementsByTagName('script')[0];C.parentNode.insertBefore(B,C);var D;window.onYouTubeIframeAPIReady=function(){D=new YT.Player(A,{width:'100%',height:'100%',videoId:v,playerVars:{autoplay:1,autohide:1,modestbranding:1,playsinline:1,rel:0,showinfo:0,controls:0,disablekb:1,enablejsapi:0,iv_load_policy:3,fs:0},events:{onReady:x,onStateChange:y}})};let E=u.shadowRoot.querySelector('#player');E.style.display='inline',E.style.marginLeft=0,window.addEventListener('resize',z)}function g(u){function v(){var z=y.parentElement.clientWidth,A=y.parentElement.clientHeight;z/A>16/9?(y.style.width='100%',y.style.height=''):(y.style.width='',y.style.height='100%')}let x=u.shadowRoot.querySelector('#player');var y=document.createElement('video');y.id='player',y.classList.add('screen','mute'),y.src=u.videoSource,y.autoplay=!0,y.controls=!1,y.muted=!0,y.loop=!0,y.poster=u.imageSource,u.shadowRoot.querySelectorAll('.tv')[0].replaceChild(y,x),v(),window.addEventListener('resize',v),y.addEventListener('canplay',function(){u.shadowRoot.querySelector('#hidden-image').classList.add('hidden')})}function j(u,v){u=u.replace(/[\[\]]/g,'\\$&');var x=new RegExp('[?&]'+u+'(=([^&#]*)|&|#|$)'),y=x.exec(v);return y?y[2]?decodeURIComponent(y[2].replace(/\+/g,' ')):'':null}function k(){}var l=c(10),m=c.n(l),p=c(3);const q='image-source',r='video-source';class t extends HTMLElement{constructor(){super(),this.attachShadow({mode:'open'})}connectedCallback(){p.a(this,'byu-hero-banner',m.a,()=>{k(this),d(this),e(this)})}static get observedAttributes(){return[]}attributeChangedCallback(u){u===q?d(this):u===r?e(this):void 0}set imageSource(u){this.setAttribute(q,u)}get imageSource(){return this.hasAttribute(q)?this.getAttribute(q):''}set videoSource(u){this.setAttribute(r,u)}get videoSource(){return this.hasAttribute(r)?this.getAttribute(r):''}}window.customElements.define('byu-hero-banner',t),window.ByuHeroBanner=t},function(a,b,c){'use strict';Object.defineProperty(b,'__esModule',{value:!0});c(1)},function(a,b,c){'use strict';var d=c(6),e=c(0),f=c(5),g=c(4);c.d(b,'a',function(){return d.a})},function(){'use strict'},function(a,b,c){'use strict';var e=c(0)},function(a,b,c){'use strict';function e(m,p,q,r,t){let u='__byu-custom-element-template_'+p+'_'+t,v=document.head.querySelector('template#'+u);if(v||(v=document.createElement('template'),v.id=u,v.innerHTML=q,document.head.appendChild(v),ShadyCSS.prepareTemplate(v,p)),ShadyCSS.styleElement)ShadyCSS.styleElement(m);else if(ShadyCSS.applyStyle)ShadyCSS.applyStyle(m);else throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');let x=document.importNode(v.content,!0),y=m.shadowRoot;for(;y.firstChild;)y.removeChild(y.firstChild);y.appendChild(x),setTimeout(function(){g(m,r)})}function f(m,p,q){m.shadowRoot.innerHTML=p,g(m,q)}function g(m,p){m.classList.add(l),p&&p()}b.a=function(m,p,q,r){let t=k()(q),u=m.__byu_webCommunity_components=m.__byu_webCommunity_components||{};u.templateHash===t||(u.templateHash=t,window.ShadyCSS&&!window.ShadyCSS.nativeShadow?e(m,p,q,r,t):f(m,q,r))};var j=c(9),k=c.n(j);const l='byu-component-rendered'},function(a,b,c){b=a.exports=c(8)(),b.push([a.i,'/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the "License");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an "AS IS" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License. \r\n */\n/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the "License");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an "AS IS" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:inline-block}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){margin-bottom:0;font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url("/byu-hero-banner/dark.png");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}',''])},function(a){a.exports=function(){var c=[];return c.toString=function(){for(var g,e=[],f=0;fl?-2*l:l}function f(l,m,p){return Object.keys(m).sort().reduce(function(r,t){return g(r,m[t],t,p)},l)}function g(l,m,p,q){var r=e(e(e(l,p),j(m)),typeof m);return null===m?e(r,'null'):void 0===m?e(r,'undefined'):'object'==typeof m?-1===q.indexOf(m)?(q.push(m),f(r,m,q)):e(r,'[Circular]'+p):e(r,m.toString())}function j(l){return Object.prototype.toString.call(l)}a.exports=function(l){return d(g(0,l,'',[]).toString(16),8)}},function(a,b,c){a.exports='
'}]); +(function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={i:d,l:!1,exports:{}};return a[d].call(e.exports,e,e.exports,b),e.l=!0,e.exports}var c={};return b.m=a,b.c=c,b.i=function(d){return d},b.d=function(d,e,f){b.o(d,e)||Object.defineProperty(d,e,{configurable:!1,enumerable:!0,get:f})},b.n=function(d){var e=d&&d.__esModule?function(){return d['default']}:function(){return d};return b.d(e,'a',e),e},b.o=function(d,e){return Object.prototype.hasOwnProperty.call(d,e)},b.p='',b(b.s=2)})([function(a,b){'use strict';b.a=function(e,f){let g=Element.prototype,j=g.matches||g.matchesSelector||g.mozMatchesSelector||g.msMatchesSelector||g.oMatchesSelector||g.webkitMatchesSelector||function(k){let l=this.document||this.ownerDocument;return-1!==l.querySelectorAll(k).indexOf(this)};return j.call(e,f)}},function(a,b,c){'use strict';function d(u){let v=u.shadowRoot.querySelector('div.image-wrapper');v.style.backgroundImage='url(\''+u.imageSource+'\')';let x=u.shadowRoot.querySelector('#hidden-image');x.src=u.imageSource}function e(u){if(u.videoSource.includes('youtube')){let v=j('v',u.videoSource);f(u,v)}else u.videoSource.includes('.mp4')&&g(u)}function f(u,v){function x(){setInterval(function(){var G=100*(D.getCurrentTime()/D.getDuration());99<=G&&D.seekTo(0)},25),D.mute(),z(D),D.playVideo()}function y(F){switch(F.data){case YT.PlayerState.PLAYING:u.shadowRoot.querySelector('#hidden-image').classList.add('hidden');break;case YT.PlayerState.ENDED:D.playVideo();}}function z(){var F=window.innerWidth+300,G=window.innerHeight+300;F/G>16/9?D.setSize(F,9*(F/16)):D.setSize(16*(G/9),G),E.style.left=(window.innerWidth-E.offsetWidth)/2+'px'}let A=u.shadowRoot.querySelector('#player');var B=document.createElement('script');B.src='https://www.youtube.com/iframe_api';var C=document.getElementsByTagName('script')[0];C.parentNode.insertBefore(B,C);var D;window.onYouTubeIframeAPIReady=function(){D=new YT.Player(A,{width:'100%',height:'100%',videoId:v,playerVars:{autoplay:1,autohide:1,modestbranding:1,playsinline:1,rel:0,showinfo:0,controls:0,disablekb:1,enablejsapi:0,iv_load_policy:3,fs:0},events:{onReady:x,onStateChange:y}})};let E=u.shadowRoot.querySelector('#player');E.style.display='inline',E.style.marginLeft=0,window.addEventListener('resize',z)}function g(u){function v(){var z=y.parentElement.clientWidth,A=y.parentElement.clientHeight;z/A>16/9?(y.style.width='100%',y.style.height=''):(y.style.width='',y.style.height='100%')}let x=u.shadowRoot.querySelector('#player');var y=document.createElement('video');y.id='player',y.classList.add('screen','mute'),y.src=u.videoSource,y.autoplay=!0,y.controls=!1,y.muted=!0,y.loop=!0,y.poster=u.imageSource,u.shadowRoot.querySelectorAll('.tv')[0].replaceChild(y,x),v(),window.addEventListener('resize',v),y.addEventListener('canplay',function(){u.shadowRoot.querySelector('#hidden-image').classList.add('hidden')})}function j(u,v){u=u.replace(/[\[\]]/g,'\\$&');var x=new RegExp('[?&]'+u+'(=([^&#]*)|&|#|$)'),y=x.exec(v);return y?y[2]?decodeURIComponent(y[2].replace(/\+/g,' ')):'':null}function k(){}var l=c(10),m=c.n(l),p=c(3);const q='image-source',r='video-source';class t extends HTMLElement{constructor(){super(),this.attachShadow({mode:'open'})}connectedCallback(){p.a(this,'byu-hero-banner',m.a,()=>{k(this),d(this),e(this)})}static get observedAttributes(){return[]}attributeChangedCallback(u){u===q?d(this):u===r?e(this):void 0}set imageSource(u){this.setAttribute(q,u)}get imageSource(){return this.hasAttribute(q)?this.getAttribute(q):''}set videoSource(u){this.setAttribute(r,u)}get videoSource(){return this.hasAttribute(r)?this.getAttribute(r):''}}window.customElements.define('byu-hero-banner',t),window.ByuHeroBanner=t},function(a,b,c){'use strict';Object.defineProperty(b,'__esModule',{value:!0});c(1)},function(a,b,c){'use strict';var d=c(6),e=c(0),f=c(5),g=c(4);c.d(b,'a',function(){return d.a})},function(){'use strict'},function(a,b,c){'use strict';var e=c(0)},function(a,b,c){'use strict';function e(m,p,q,r,t){let u='__byu-custom-element-template_'+p+'_'+t,v=document.head.querySelector('template#'+u);if(v||(v=document.createElement('template'),v.id=u,v.innerHTML=q,document.head.appendChild(v),ShadyCSS.prepareTemplate(v,p)),ShadyCSS.styleElement)ShadyCSS.styleElement(m);else if(ShadyCSS.applyStyle)ShadyCSS.applyStyle(m);else throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');let x=document.importNode(v.content,!0),y=m.shadowRoot;for(;y.firstChild;)y.removeChild(y.firstChild);y.appendChild(x),setTimeout(function(){g(m,r)})}function f(m,p,q){m.shadowRoot.innerHTML=p,g(m,q)}function g(m,p){m.classList.add(l),p&&p()}b.a=function(m,p,q,r){let t=k()(q),u=m.__byu_webCommunity_components=m.__byu_webCommunity_components||{};u.templateHash===t||(u.templateHash=t,window.ShadyCSS?e(m,p,q,r,t):f(m,q,r))};var j=c(9),k=c.n(j);const l='byu-component-rendered'},function(a,b,c){b=a.exports=c(8)(),b.push([a.i,'/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the "License");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an "AS IS" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License. \r\n */\n/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the "License");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an "AS IS" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url("/byu-hero-banner/dark.png");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}',''])},function(a){a.exports=function(){var c=[];return c.toString=function(){for(var g,e=[],f=0;fl?-2*l:l}function f(l,m,p){return Object.keys(m).sort().reduce(function(r,t){return g(r,m[t],t,p)},l)}function g(l,m,p,q){var r=e(e(e(l,p),j(m)),typeof m);return null===m?e(r,'null'):void 0===m?e(r,'undefined'):'object'==typeof m?-1===q.indexOf(m)?(q.push(m),f(r,m,q)):e(r,'[Circular]'+p):e(r,m.toString())}function j(l){return Object.prototype.toString.call(l)}a.exports=function(l){return d(g(0,l,'',[]).toString(16),8)}},function(a,b,c){a.exports='
'}]); //# sourceMappingURL=components.min.js.map diff --git a/dist/components.min.js.map b/dist/components.min.js.map index a332836..adf7afa 100644 --- a/dist/components.min.js.map +++ b/dist/components.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["components.js","webpack:/webpack/bootstrap a7d347483238d1c13161","webpack:///~/byu-web-component-utils/lib/matchesSelector.js","webpack:///byu-hero-banner/byu-hero-banner.js","webpack:///byu-hero-banner.js","webpack:///~/byu-web-component-utils/lib/querySelectorSlot.js","webpack:///~/byu-web-component-utils/lib/templating.js","webpack:///byu-hero-banner/byu-hero-banner.scss","webpack:///~/css-loader/lib/css-base.js","webpack:///~/hash-sum/hash-sum.js","webpack:///byu-hero-banner/byu-hero-banner.html"],"names":["installedModules","moduleId","exports","i","l","modules","call","module","__webpack_require__","m","c","value","d","o","name","Object","defineProperty","configurable","enumerable","get","getter","n","__esModule","prototype","hasOwnProperty","object","property","p","s","__webpack_exports__","Element","proto","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","document","ownerDocument","querySelectorAll","indexOf","actual","el","selector","component","shadowRoot","querySelector","imageBox","style","backgroundImage","imageSource","hiddenImage","src","videoSource","includes","getParameterByName","setYoutubeSource","id","setMp4Source","setInterval","player","getCurrentTime","getDuration","seekTo","mute","vidRescale","playVideo","event","data","YT","PlayerState","PLAYING","classList","add","ENDED","window","innerWidth","innerHeight","w","h","setSize","video","left","offsetWidth","createElement","tag","getElementsByTagName","firstScriptTag","parentNode","insertBefore","onYouTubeIframeAPIReady","Player","videoBox","width","height","videoId","playerVars","autoplay","autohide","modestbranding","playsinline","rel","showinfo","controls","disablekb","enablejsapi","iv_load_policy","fs","events","onPlayerReady","onStateChange","display","marginLeft","addEventListener","parentElement","clientWidth","clientHeight","muted","loop","poster","replaceChild","divPlayer","replace","RegExp","regex","exec","url","results","decodeURIComponent","__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__","HTMLElement","constructor","attachShadow","mode","connectedCallback","__WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__","__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default","a","setupSlotListeners","applyImageSource","applyVideoSource","observedAttributes","attributeChangedCallback","attr","ATTR_IMG_SRC","ATTR_VIDEO_SRC","setAttribute","hasAttribute","getAttribute","customElements","define","ByuHeroBanner","__WEBPACK_IMPORTED_MODULE_0__lib_templating__","elementName","sum","head","templateId","templateElement","innerHTML","template","appendChild","ShadyCSS","prepareTemplate","styleElement","element","applyStyle","Error","importNode","content","shadow","firstChild","removeChild","imported","setTimeout","runAfterStamping","callback","TEMPLATE_RENDERED_CLASS","__WEBPACK_IMPORTED_MODULE_0_hash_sum___default","__byu_webCommunity_components","elSettings","templateHash","nativeShadow","applyTemplateShady","applyTemplateNative","__WEBPACK_IMPORTED_MODULE_0_hash_sum__","push","list","toString","length","item","result","join","alreadyImportedModules","mediaQuery","hash","len","text","charCodeAt","chr","keys","sort","reduce","foldValue","key","seen","fold","input","foldObject","pad"],"mappings":"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","file":"components.min.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 2);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = matchesSelector;\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nfunction matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(3);\n/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\r\n\r\n\r\n\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-hero-banner', __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default.a, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_byu_hero_banner_js__ = __webpack_require__(1);\n/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\r\n\r\n\r\n\r\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lib_templating__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__lib_matchesSelector__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__ = __webpack_require__(4);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__lib_templating__[\"a\"]; });\n/* unused harmony reexport matchesSelector */\n/* unused harmony reexport querySelectorSlot */\n/* unused harmony reexport createEvent */\n/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nfunction createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__ = __webpack_require__(0);\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\nfunction querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__[\"a\" /* default */])(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = applyTemplate;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hash_sum__);\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nfunction applyTemplate(element, elementName, template, callback) {\n let sum = __WEBPACK_IMPORTED_MODULE_0_hash_sum___default()(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:inline-block}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){margin-bottom:0;font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ })\n/******/ ]);\n"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap a7d347483238d1c13161","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/matchesSelector.js\n// module id = 0\n// module chunks = 0","/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\"use strict\";\r\n\r\nimport template from './byu-hero-banner.html';\r\nimport * as util from 'byu-web-component-utils';\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n util.applyTemplate(this, 'byu-hero-banner', template, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.js\n// module id = 1\n// module chunks = 0","/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\"use strict\";\r\n\r\nimport './byu-hero-banner/byu-hero-banner.js';\r\n\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner.js\n// module id = 2\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport matches from './matchesSelector.js';\n\nexport default function querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (matches(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/querySelectorSlot.js\n// module id = 5\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport hash from 'hash-sum';\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nexport default function applyTemplate(element, elementName, template, callback) {\n let sum = hash(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/templating.js\n// module id = 6\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:inline-block}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){margin-bottom:0;font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.scss\n// module id = 7\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader/lib/css-base.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hash-sum/hash-sum.js\n// module id = 9\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.html\n// module id = 10\n// module chunks = 0"]} \ No newline at end of file +{"version":3,"sources":["components.js","webpack:/webpack/bootstrap 37843564c863870ec08a","webpack:///~/byu-web-component-utils/lib/matchesSelector.js","webpack:///byu-hero-banner/byu-hero-banner.js","webpack:///byu-hero-banner.js","webpack:///~/byu-web-component-utils/lib/querySelectorSlot.js","webpack:///~/byu-web-component-utils/lib/templating.js","webpack:///byu-hero-banner/byu-hero-banner.scss","webpack:///~/css-loader/lib/css-base.js","webpack:///~/hash-sum/hash-sum.js","webpack:///byu-hero-banner/byu-hero-banner.html"],"names":["installedModules","moduleId","exports","i","l","modules","call","module","__webpack_require__","m","c","value","d","o","name","Object","defineProperty","configurable","enumerable","get","getter","n","__esModule","prototype","hasOwnProperty","object","property","p","s","__webpack_exports__","Element","proto","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","document","ownerDocument","querySelectorAll","indexOf","actual","el","selector","component","shadowRoot","querySelector","imageBox","style","backgroundImage","imageSource","hiddenImage","src","videoSource","includes","getParameterByName","setYoutubeSource","id","setMp4Source","setInterval","player","getCurrentTime","getDuration","seekTo","mute","vidRescale","playVideo","event","data","YT","PlayerState","PLAYING","classList","add","ENDED","window","innerWidth","innerHeight","w","h","setSize","video","left","offsetWidth","createElement","tag","getElementsByTagName","firstScriptTag","parentNode","insertBefore","onYouTubeIframeAPIReady","Player","videoBox","width","height","videoId","playerVars","autoplay","autohide","modestbranding","playsinline","rel","showinfo","controls","disablekb","enablejsapi","iv_load_policy","fs","events","onPlayerReady","onStateChange","display","marginLeft","addEventListener","parentElement","clientWidth","clientHeight","muted","loop","poster","replaceChild","divPlayer","replace","RegExp","regex","exec","url","results","decodeURIComponent","__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__","HTMLElement","constructor","attachShadow","mode","connectedCallback","__WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__","__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default","a","setupSlotListeners","applyImageSource","applyVideoSource","observedAttributes","attributeChangedCallback","attr","ATTR_IMG_SRC","ATTR_VIDEO_SRC","setAttribute","hasAttribute","getAttribute","customElements","define","ByuHeroBanner","__WEBPACK_IMPORTED_MODULE_0__lib_templating__","elementName","sum","head","templateId","templateElement","innerHTML","template","appendChild","ShadyCSS","prepareTemplate","styleElement","element","applyStyle","Error","importNode","content","shadow","firstChild","removeChild","imported","setTimeout","runAfterStamping","callback","TEMPLATE_RENDERED_CLASS","__WEBPACK_IMPORTED_MODULE_0_hash_sum___default","__byu_webCommunity_components","elSettings","templateHash","applyTemplateShady","applyTemplateNative","__WEBPACK_IMPORTED_MODULE_0_hash_sum__","push","list","toString","length","item","result","join","alreadyImportedModules","mediaQuery","hash","len","text","charCodeAt","chr","keys","sort","reduce","foldValue","key","seen","fold","input","foldObject","pad"],"mappings":"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","file":"components.min.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 2);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = matchesSelector;\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nfunction matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(3);\n/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\r\n\r\n\r\n\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-hero-banner', __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default.a, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_byu_hero_banner_js__ = __webpack_require__(1);\n/**\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\n\n\n\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lib_templating__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__lib_matchesSelector__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__ = __webpack_require__(4);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__lib_templating__[\"a\"]; });\n/* unused harmony reexport matchesSelector */\n/* unused harmony reexport querySelectorSlot */\n/* unused harmony reexport createEvent */\n/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nfunction createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__ = __webpack_require__(0);\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\nfunction querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__[\"a\" /* default */])(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = applyTemplate;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hash_sum__);\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nfunction applyTemplate(element, elementName, template, callback) {\n let sum = __WEBPACK_IMPORTED_MODULE_0_hash_sum___default()(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ })\n/******/ ]);\n"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 37843564c863870ec08a","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/matchesSelector.js\n// module id = 0\n// module chunks = 0","/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\"use strict\";\r\n\r\nimport template from './byu-hero-banner.html';\r\nimport * as util from 'byu-web-component-utils';\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n util.applyTemplate(this, 'byu-hero-banner', template, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.js\n// module id = 1\n// module chunks = 0","/**\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\"use strict\";\n\nimport './byu-hero-banner/byu-hero-banner.js';\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner.js\n// module id = 2\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport matches from './matchesSelector.js';\n\nexport default function querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (matches(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/querySelectorSlot.js\n// module id = 5\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport hash from 'hash-sum';\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nexport default function applyTemplate(element, elementName, template, callback) {\n let sum = hash(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/templating.js\n// module id = 6\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.scss\n// module id = 7\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader/lib/css-base.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hash-sum/hash-sum.js\n// module id = 9\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.html\n// module id = 10\n// module chunks = 0"]} \ No newline at end of file From d6573437b4bb6f429e473a13b680b26d4e0bfc89 Mon Sep 17 00:00:00 2001 From: kebowdog Date: Thu, 1 Mar 2018 16:25:31 -0700 Subject: [PATCH 2/2] update to fix wrapping in IE11 Former-commit-id: 0ef9e740d340bbbebfd313c2fb2936f3a07191b8 --- byu-hero-banner/byu-hero-banner.scss | 1 + dist/components-compat.js | 2 +- dist/components-compat.js.map | 2 +- dist/components-compat.min.js | 2 +- dist/components-compat.min.js.map | 2 +- dist/components.js | 2 +- dist/components.js.map | 2 +- dist/components.min.js | 2 +- dist/components.min.js.map | 2 +- 9 files changed, 9 insertions(+), 8 deletions(-) diff --git a/byu-hero-banner/byu-hero-banner.scss b/byu-hero-banner/byu-hero-banner.scss index a31e712..fe0c664 100644 --- a/byu-hero-banner/byu-hero-banner.scss +++ b/byu-hero-banner/byu-hero-banner.scss @@ -446,6 +446,7 @@ .read-more-link { margin-top: 20px; align-self: center; + width: 100%; ::slotted(a), ::slotted(.btn) { background-color: $navy !important; diff --git a/dist/components-compat.js b/dist/components-compat.js index b131457..e9de9f9 100644 --- a/dist/components-compat.js +++ b/dist/components-compat.js @@ -599,7 +599,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" // module - exports.push([module.i, "/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License. \r\n */\n/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\"/byu-hero-banner/dark.png\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}", ""]); + exports.push([module.i, "/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License. \r\n */\n/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\"/byu-hero-banner/dark.png\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center;width:100%}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}", ""]); // exports diff --git a/dist/components-compat.js.map b/dist/components-compat.js.map index 8661573..f849bd2 100644 --- a/dist/components-compat.js.map +++ b/dist/components-compat.js.map @@ -1 +1 @@ -{"version":3,"sources":["components.js","webpack:/webpack/bootstrap 37843564c863870ec08a","webpack:///~/byu-web-component-utils/lib/matchesSelector.js","webpack:///byu-hero-banner/byu-hero-banner.js","webpack:///byu-hero-banner.js","webpack:///~/byu-web-component-utils/index.js","webpack:///~/byu-web-component-utils/lib/createEvent.js","webpack:///~/byu-web-component-utils/lib/querySelectorSlot.js","webpack:///~/byu-web-component-utils/lib/templating.js","webpack:///byu-hero-banner/byu-hero-banner.scss","webpack:///~/css-loader/lib/css-base.js","webpack:///~/hash-sum/hash-sum.js","webpack:///byu-hero-banner/byu-hero-banner.html"],"names":["__webpack_exports__","__WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__","setupSlotListeners","applyImageSource","applyVideoSource","window","imageBox","hiddenImage","setYoutubeSource","setMp4Source","tag","firstScriptTag","player","width","height","videoId","playerVars","autoplay","autohide","modestbranding","playsinline","rel","showinfo","controls","disablekb","enablejsapi","iv_load_policy","fs","events","setInterval","vidRescale","component","video","name","Object","evt","elSettings","applyTemplateShady","applyTemplateNative","templateElement","document","ShadyCSS","shadow","setTimeout","runAfterStamping","element","callback","exports","module","list","result","item","hash","chr","seen"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAXA;AAA8B;ACA9B;AACA;ADEA;ACAA;AACA;ADEA;ACAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;ADEA;ACAA;AACA;ADEA;ACAA;AACA;ADEA;ACAA;AACA;AACA;AAAA;ADEA;AACA;ACAA;AACA;ADEA;ACAA;AACA;ADEA;ACAA;AACA;AAA2C;AAAc;ADEzD;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;ADEA;ACAA;AACA;AACA;AACA;AAA2B;AAA4B;AACvD;AAAiC;AAAe;AAChD;AACA;AACA;AAAA;ADEA;ACAA;AACA;AAAsD;AAA+D;ADErH;ACAA;AACA;ADEA;ACAA;AACA;ADEA;AAAU;AACV;AACA;AACA;AACA;AA4BA;AA1BA;AExEA;AAAAA;AAAA;AFuGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AEpGA;AACA;AACA;AAQA;AACA;AACA;AF+FA;AE7FA;AACA;AF+FA;AAlBA;AAAO;AACP;AACA;AAqBA;AAnBA;AACA;AAAqB;AACrB;AGpHA;AAAA;AH4IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AGtIA;AACA;AHwIA;AA9CkE;AAAA;AAiDlE;AGxIA;AAAA;AH2IA;AG3IA;AH6IA;AG3IA;AAFA;AAGA;AH8IA;AA1DkE;AAAA;AAAA;AGlFlE;AHiJA;AGhJA;AACAC;AACAC;AACAC;AACAC;AACK;AACL;AH2EkE;AAAA;AAAA;AGpElE;AACA;AACAD;AACA;AACA;AACAC;AACA;AANA;AAQA;AH4DkE;AAAA;AAAA;AGzDlE;AACA;AHwDkE;AGrDlE;AACA;AACA;AACA;AACA;AHiDkE;AAAA;AAAA;AG9ClE;AACA;AH6CkE;AG1ClE;AACA;AACA;AACA;AACA;AHsCkE;AAAA;AAAA;AGxElE;AACA;AHuEkE;AA+GlE;AA/GkE;AAAA;AAkHlE;AGrJAC;AACAA;AHuJA;AGrJA;AHuJA;AGrJA;AACA;AACAC;AACA;AACA;AACA;AACAC;AACA;AHuJA;AGrJA;AACA;AACA;AACAC;AACG;AACHC;AACA;AACA;AHuJA;AGrJA;AACA;AHuJA;AGrJA;AACA;AACAC;AACA;AACAC;AHuJA;AGrJA;AACA;AACAN;AACAO;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AAXA;AAaAC;AACA;AACA;AAFA;AAjBA;AAsBA;AHuJA;AGrJA;AACA;AACAC;AACA;AACA;AACA;AACK;AACLjB;AACAkB;AACA;AACAlB;AACA;AHuJA;AGrJA;AACA;AACA;AACA;AACAmB;AACA;AACA;AACA;AACA;AACAnB;AACA;AATA;AAWA;AHuJA;AGrJA;AACAoB;AACAA;AHuJA;AGrJA3B;AHuJA;AGrJA;AACA;AACA;AACA;AACAO;AACK;AACLA;AACA;AACAoB;AACA;AACA;AHuJA;AGrJA;AACA;AACA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAD;AHuJA;AGrJAD;AACAzB;AHuJA;AGrJA;AACA2B;AACAD;AACG;AHuJH;AGrJA;AACA;AACA;AACA;AACAC;AACAA;AACK;AACLA;AACAA;AACA;AACA;AACA;AHuJA;AGrJA;AACAC;AACA;AAAA;AACA;AACA;AACA;AACA;AHwJA;AGtJA;AHwJA;AA9BA;AAAO;AACP;AACA;AAiCA;AA/BA;AAiCA;AAhCAC;AI9VA;AAAA;AJkYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA3BA;AAAO;AACP;AACA;AA8BA;AA5BA;AACA;AAAqB;AACrB;AACA;AACA;AACA;AAA8F;AAA4D;AAC1J;AACA;AKjYA;AAAA;ALoaA;AACA;AACA;AAtBA;AAAO;AACP;AACA;AAyBA;AAvBA;AMpZA;AAAA;AN+aA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AM5aA;AACA;AACA;AACA;AACA;AACAC;AACA;AACA;AN8aA;AArBA;AAAO;AACP;AACA;AAwBA;AAtBA;AACA;AOvbA;AAAA;AAAA;APkdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AO7cA;AACA;AACA;AAAA;APgdA;AO9cA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;APgdA;AAnBA;AAAO;AACP;AACA;AAsBA;AApBA;AACA;AAAiCnC;AQrejC;AAAA;AAAA;AR+fA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AQ1fA;AR4fA;AQ1fA;AACA;AR4fA;AQ1fA;AACA;AACA;AACA;AACA;AACAoC;AR4fA;AQ1fA;AACAC;AACK;AACLC;AACA;AACA;AR4fA;AQ1fA;AACA;AACA;AACA;AACAC;AACAA;AACAA;AACAC;AACAC;AACA;AACA;AACAA;AACK;AACLA;AACK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACAC;AACA;AACAA;AACAC;AACAC;AACK;AACL;AR4fA;AQ1fA;AACAC;AACAD;AACA;AR4fA;AQ1fA;AACAC;AACA;AACAC;AACA;AACA;AR4fA;AAhBA;AAAO;AACP;AACA;AAmBA;AShlBAC;AACA;ATklBA;AACA;AShlBA;AACAA;ATklBA;AShlBA;ATklBA;AACA;AAjBA;AAAO;AACP;AACA;AAoBA;AU/lBA;AVimBA;AACA;AACA;AU/lBA;AACAC;AACA;AVimBA;AU/lBA;AACAC;AACA;AACA;AACA;AACA;AACAC;AACI;AACJA;AACA;AACA;AACA;AACA;AVimBA;AU/lBA;AACAD;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAE;AACK;AACLA;AACA;AACAF;AACA;AACA;AACA;AACA;AACA;AV+lBA;AAfA;AAAO;AACP;AACA;AAkBA;AAhBA;AAkBA;AWrpBA;AACA;AACAG;AACA;AACA;AACA;AXupBA;AWrpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAC;AACAD;AACAA;AACA;AACA;AACA;AXupBA;AWrpBA;AACA;AACA;AACA;AACA;AACA;AXupBA;AWrpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAE;AACA;AACA;AACA;AACA;AXupBA;AWrpBA;AACA;AACA;AXupBA;AWrpBA;AACA;AACA;AXupBA;AWrpBAN;AXupBA;AAdA;AAAO;AACP;AACA;AAiBA;AYrtBAA;AZutBA;AAfA;AAAO;AACP","file":"components-compat.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 2);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = matchesSelector;\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nfunction matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(3);\n/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\r\n\r\n\r\n\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-hero-banner', __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default.a, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_byu_hero_banner_js__ = __webpack_require__(1);\n/**\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\n\n\n\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lib_templating__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__lib_matchesSelector__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__ = __webpack_require__(4);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__lib_templating__[\"a\"]; });\n/* unused harmony reexport matchesSelector */\n/* unused harmony reexport querySelectorSlot */\n/* unused harmony reexport createEvent */\n/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nfunction createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__ = __webpack_require__(0);\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\nfunction querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__[\"a\" /* default */])(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = applyTemplate;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hash_sum__);\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nfunction applyTemplate(element, elementName, template, callback) {\n let sum = __WEBPACK_IMPORTED_MODULE_0_hash_sum___default()(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ })\n/******/ ]);\n"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 37843564c863870ec08a","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/matchesSelector.js\n// module id = 0\n// module chunks = 0","/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\"use strict\";\r\n\r\nimport template from './byu-hero-banner.html';\r\nimport * as util from 'byu-web-component-utils';\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n util.applyTemplate(this, 'byu-hero-banner', template, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.js\n// module id = 1\n// module chunks = 0","/**\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\"use strict\";\n\nimport './byu-hero-banner/byu-hero-banner.js';\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner.js\n// module id = 2\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\"use strict\";\n\nimport applyTemplate from './lib/templating';\nimport matchesSelector from './lib/matchesSelector';\nimport querySelectorSlot from './lib/querySelectorSlot';\nimport createEvent from './lib/createEvent';\n\nexport {\n applyTemplate,\n matchesSelector,\n querySelectorSlot,\n createEvent\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/index.js\n// module id = 3\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/createEvent.js\n// module id = 4\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport matches from './matchesSelector.js';\n\nexport default function querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (matches(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/querySelectorSlot.js\n// module id = 5\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport hash from 'hash-sum';\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nexport default function applyTemplate(element, elementName, template, callback) {\n let sum = hash(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/templating.js\n// module id = 6\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.scss\n// module id = 7\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader/lib/css-base.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hash-sum/hash-sum.js\n// module id = 9\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.html\n// module id = 10\n// module chunks = 0"]} \ No newline at end of file +{"version":3,"sources":["components.js","webpack:/webpack/bootstrap 37843564c863870ec08a","webpack:///~/byu-web-component-utils/lib/matchesSelector.js","webpack:///byu-hero-banner/byu-hero-banner.js","webpack:///byu-hero-banner.js","webpack:///~/byu-web-component-utils/index.js","webpack:///~/byu-web-component-utils/lib/createEvent.js","webpack:///~/byu-web-component-utils/lib/querySelectorSlot.js","webpack:///~/byu-web-component-utils/lib/templating.js","webpack:///byu-hero-banner/byu-hero-banner.scss","webpack:///~/css-loader/lib/css-base.js","webpack:///~/hash-sum/hash-sum.js","webpack:///byu-hero-banner/byu-hero-banner.html"],"names":["__webpack_exports__","__WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__","setupSlotListeners","applyImageSource","applyVideoSource","window","imageBox","hiddenImage","setYoutubeSource","setMp4Source","tag","firstScriptTag","player","width","height","videoId","playerVars","autoplay","autohide","modestbranding","playsinline","rel","showinfo","controls","disablekb","enablejsapi","iv_load_policy","fs","events","setInterval","vidRescale","component","video","name","Object","evt","elSettings","applyTemplateShady","applyTemplateNative","templateElement","document","ShadyCSS","shadow","setTimeout","runAfterStamping","element","callback","exports","module","list","result","item","hash","chr","seen"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAXA;AAA8B;ACA9B;AACA;ADEA;ACAA;AACA;ADEA;ACAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;ADEA;ACAA;AACA;ADEA;ACAA;AACA;ADEA;ACAA;AACA;AACA;AAAA;ADEA;AACA;ACAA;AACA;ADEA;ACAA;AACA;ADEA;ACAA;AACA;AAA2C;AAAc;ADEzD;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;ADEA;ACAA;AACA;AACA;AACA;AAA2B;AAA4B;AACvD;AAAiC;AAAe;AAChD;AACA;AACA;AAAA;ADEA;ACAA;AACA;AAAsD;AAA+D;ADErH;ACAA;AACA;ADEA;ACAA;AACA;ADEA;AAAU;AACV;AACA;AACA;AACA;AA4BA;AA1BA;AExEA;AAAAA;AAAA;AFuGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AEpGA;AACA;AACA;AAQA;AACA;AACA;AF+FA;AE7FA;AACA;AF+FA;AAlBA;AAAO;AACP;AACA;AAqBA;AAnBA;AACA;AAAqB;AACrB;AGpHA;AAAA;AH4IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AGtIA;AACA;AHwIA;AA9CkE;AAAA;AAiDlE;AGxIA;AAAA;AH2IA;AG3IA;AH6IA;AG3IA;AAFA;AAGA;AH8IA;AA1DkE;AAAA;AAAA;AGlFlE;AHiJA;AGhJA;AACAC;AACAC;AACAC;AACAC;AACK;AACL;AH2EkE;AAAA;AAAA;AGpElE;AACA;AACAD;AACA;AACA;AACAC;AACA;AANA;AAQA;AH4DkE;AAAA;AAAA;AGzDlE;AACA;AHwDkE;AGrDlE;AACA;AACA;AACA;AACA;AHiDkE;AAAA;AAAA;AG9ClE;AACA;AH6CkE;AG1ClE;AACA;AACA;AACA;AACA;AHsCkE;AAAA;AAAA;AGxElE;AACA;AHuEkE;AA+GlE;AA/GkE;AAAA;AAkHlE;AGrJAC;AACAA;AHuJA;AGrJA;AHuJA;AGrJA;AACA;AACAC;AACA;AACA;AACA;AACAC;AACA;AHuJA;AGrJA;AACA;AACA;AACAC;AACG;AACHC;AACA;AACA;AHuJA;AGrJA;AACA;AHuJA;AGrJA;AACA;AACAC;AACA;AACAC;AHuJA;AGrJA;AACA;AACAN;AACAO;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AACAC;AAXA;AAaAC;AACA;AACA;AAFA;AAjBA;AAsBA;AHuJA;AGrJA;AACA;AACAC;AACA;AACA;AACA;AACK;AACLjB;AACAkB;AACA;AACAlB;AACA;AHuJA;AGrJA;AACA;AACA;AACA;AACAmB;AACA;AACA;AACA;AACA;AACAnB;AACA;AATA;AAWA;AHuJA;AGrJA;AACAoB;AACAA;AHuJA;AGrJA3B;AHuJA;AGrJA;AACA;AACA;AACA;AACAO;AACK;AACLA;AACA;AACAoB;AACA;AACA;AHuJA;AGrJA;AACA;AACA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAD;AHuJA;AGrJAD;AACAzB;AHuJA;AGrJA;AACA2B;AACAD;AACG;AHuJH;AGrJA;AACA;AACA;AACA;AACAC;AACAA;AACK;AACLA;AACAA;AACA;AACA;AACA;AHuJA;AGrJA;AACAC;AACA;AAAA;AACA;AACA;AACA;AACA;AHwJA;AGtJA;AHwJA;AA9BA;AAAO;AACP;AACA;AAiCA;AA/BA;AAiCA;AAhCAC;AI9VA;AAAA;AJkYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA3BA;AAAO;AACP;AACA;AA8BA;AA5BA;AACA;AAAqB;AACrB;AACA;AACA;AACA;AAA8F;AAA4D;AAC1J;AACA;AKjYA;AAAA;ALoaA;AACA;AACA;AAtBA;AAAO;AACP;AACA;AAyBA;AAvBA;AMpZA;AAAA;AN+aA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AM5aA;AACA;AACA;AACA;AACA;AACAC;AACA;AACA;AN8aA;AArBA;AAAO;AACP;AACA;AAwBA;AAtBA;AACA;AOvbA;AAAA;AAAA;APkdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AO7cA;AACA;AACA;AAAA;APgdA;AO9cA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;APgdA;AAnBA;AAAO;AACP;AACA;AAsBA;AApBA;AACA;AAAiCnC;AQrejC;AAAA;AAAA;AR+fA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AQ1fA;AR4fA;AQ1fA;AACA;AR4fA;AQ1fA;AACA;AACA;AACA;AACA;AACAoC;AR4fA;AQ1fA;AACAC;AACK;AACLC;AACA;AACA;AR4fA;AQ1fA;AACA;AACA;AACA;AACAC;AACAA;AACAA;AACAC;AACAC;AACA;AACA;AACAA;AACK;AACLA;AACK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACAC;AACA;AACAA;AACAC;AACAC;AACK;AACL;AR4fA;AQ1fA;AACAC;AACAD;AACA;AR4fA;AQ1fA;AACAC;AACA;AACAC;AACA;AACA;AR4fA;AAhBA;AAAO;AACP;AACA;AAmBA;AShlBAC;AACA;ATklBA;AACA;AShlBA;AACAA;ATklBA;AShlBA;ATklBA;AACA;AAjBA;AAAO;AACP;AACA;AAoBA;AU/lBA;AVimBA;AACA;AACA;AU/lBA;AACAC;AACA;AVimBA;AU/lBA;AACAC;AACA;AACA;AACA;AACA;AACAC;AACI;AACJA;AACA;AACA;AACA;AACA;AVimBA;AU/lBA;AACAD;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAE;AACK;AACLA;AACA;AACAF;AACA;AACA;AACA;AACA;AACA;AV+lBA;AAfA;AAAO;AACP;AACA;AAkBA;AAhBA;AAkBA;AWrpBA;AACA;AACAG;AACA;AACA;AACA;AXupBA;AWrpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAC;AACAD;AACAA;AACA;AACA;AACA;AXupBA;AWrpBA;AACA;AACA;AACA;AACA;AACA;AXupBA;AWrpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAE;AACA;AACA;AACA;AACA;AXupBA;AWrpBA;AACA;AACA;AXupBA;AWrpBA;AACA;AACA;AXupBA;AWrpBAN;AXupBA;AAdA;AAAO;AACP;AACA;AAiBA;AYrtBAA;AZutBA;AAfA;AAAO;AACP","file":"components-compat.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 2);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = matchesSelector;\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nfunction matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(3);\n/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\r\n\r\n\r\n\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-hero-banner', __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default.a, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_byu_hero_banner_js__ = __webpack_require__(1);\n/**\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\n\n\n\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lib_templating__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__lib_matchesSelector__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__ = __webpack_require__(4);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__lib_templating__[\"a\"]; });\n/* unused harmony reexport matchesSelector */\n/* unused harmony reexport querySelectorSlot */\n/* unused harmony reexport createEvent */\n/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nfunction createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__ = __webpack_require__(0);\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\nfunction querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__[\"a\" /* default */])(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = applyTemplate;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hash_sum__);\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nfunction applyTemplate(element, elementName, template, callback) {\n let sum = __WEBPACK_IMPORTED_MODULE_0_hash_sum___default()(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center;width:100%}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ })\n/******/ ]);\n"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 37843564c863870ec08a","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/matchesSelector.js\n// module id = 0\n// module chunks = 0","/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\"use strict\";\r\n\r\nimport template from './byu-hero-banner.html';\r\nimport * as util from 'byu-web-component-utils';\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n util.applyTemplate(this, 'byu-hero-banner', template, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.js\n// module id = 1\n// module chunks = 0","/**\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\"use strict\";\n\nimport './byu-hero-banner/byu-hero-banner.js';\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner.js\n// module id = 2\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\"use strict\";\n\nimport applyTemplate from './lib/templating';\nimport matchesSelector from './lib/matchesSelector';\nimport querySelectorSlot from './lib/querySelectorSlot';\nimport createEvent from './lib/createEvent';\n\nexport {\n applyTemplate,\n matchesSelector,\n querySelectorSlot,\n createEvent\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/index.js\n// module id = 3\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/createEvent.js\n// module id = 4\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport matches from './matchesSelector.js';\n\nexport default function querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (matches(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/querySelectorSlot.js\n// module id = 5\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport hash from 'hash-sum';\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nexport default function applyTemplate(element, elementName, template, callback) {\n let sum = hash(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/templating.js\n// module id = 6\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.scss\n// module id = 7\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader/lib/css-base.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hash-sum/hash-sum.js\n// module id = 9\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.html\n// module id = 10\n// module chunks = 0"]} \ No newline at end of file diff --git a/dist/components-compat.min.js b/dist/components-compat.min.js index 1661737..6d5be0b 100644 --- a/dist/components-compat.min.js +++ b/dist/components-compat.min.js @@ -1,2 +1,2 @@ -(function(){"use strict";function a(f,g){if(!(f instanceof g))throw new TypeError("Cannot call a class as a function")}function b(f,g){if(!f)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return g&&("object"==typeof g||"function"==typeof g)?g:f}function c(f,g){if("function"!=typeof g&&null!==g)throw new TypeError("Super expression must either be null or a function, not "+typeof g);f.prototype=Object.create(g&&g.prototype,{constructor:{value:f,enumerable:!1,writable:!0,configurable:!0}}),g&&(Object.setPrototypeOf?Object.setPrototypeOf(f,g):f.__proto__=g)}var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(f){return typeof f}:function(f){return f&&"function"==typeof Symbol&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f},e=function(){function f(g,j){for(var l,k=0;k16/9?I.setSize(K,9*(K/16)):I.setSize(16*(L/9),L),J.style.left=(window.innerWidth-J.offsetWidth)/2+"px"}var F=A.shadowRoot.querySelector("#player"),G=document.createElement("script");G.src="https://www.youtube.com/iframe_api";var H=document.getElementsByTagName("script")[0];H.parentNode.insertBefore(G,H);var I;window.onYouTubeIframeAPIReady=function(){I=new YT.Player(F,{width:"100%",height:"100%",videoId:B,playerVars:{autoplay:1,autohide:1,modestbranding:1,playsinline:1,rel:0,showinfo:0,controls:0,disablekb:1,enablejsapi:0,iv_load_policy:3,fs:0},events:{onReady:C,onStateChange:D}})};var J=A.shadowRoot.querySelector("#player");J.style.display="inline",J.style.marginLeft=0,window.addEventListener("resize",E)}function p(A){function B(){var E=D.parentElement.clientWidth,F=D.parentElement.clientHeight;E/F>16/9?(D.style.width="100%",D.style.height=""):(D.style.width="",D.style.height="100%")}var C=A.shadowRoot.querySelector("#player"),D=document.createElement("video");D.id="player",D.classList.add("screen","mute"),D.src=A.videoSource,D.autoplay=!0,D.controls=!1,D.muted=!0,D.loop=!0,D.poster=A.imageSource,A.shadowRoot.querySelectorAll(".tv")[0].replaceChild(D,C),B(),window.addEventListener("resize",B),D.addEventListener("canplay",function(){A.shadowRoot.querySelector("#hidden-image").classList.add("hidden")})}function q(A,B){A=A.replace(/[\[\]]/g,"\\$&");var C=new RegExp("[?&]"+A+"(=([^&#]*)|&|#|$)"),D=C.exec(B);return D?D[2]?decodeURIComponent(D[2].replace(/\+/g," ")):"":null}function r(){}var t=j(10),u=j.n(t),v=j(3),x="image-source",y="video-source",z=function(A){function B(){a(this,B);var C=b(this,(B.__proto__||Object.getPrototypeOf(B)).call(this));return C.attachShadow({mode:"open"}),C}return c(B,A),e(B,[{key:"connectedCallback",value:function(){var D=this;v.a(this,"byu-hero-banner",u.a,function(){r(D),k(D),l(D)})}},{key:"attributeChangedCallback",value:function(D){D===x?k(this):D===y?l(this):void 0}},{key:"imageSource",set:function(D){this.setAttribute(x,D)},get:function(){return this.hasAttribute(x)?this.getAttribute(x):""}},{key:"videoSource",set:function(D){this.setAttribute(y,D)},get:function(){return this.hasAttribute(y)?this.getAttribute(y):""}}],[{key:"observedAttributes",get:function(){return[]}}]),B}(HTMLElement);window.customElements.define("byu-hero-banner",z),window.ByuHeroBanner=z},function(f,g,j){Object.defineProperty(g,"__esModule",{value:!0});j(1)},function(f,g,j){var k=j(6),l=j(0),m=j(5),p=j(4);j.d(g,"a",function(){return k.a})},function(){},function(f,g,j){var l=j(0)},function(f,g,j){function l(u,v,x,y,z){var A="__byu-custom-element-template_"+v+"_"+z,B=document.head.querySelector("template#"+A);if(B||(B=document.createElement("template"),B.id=A,B.innerHTML=x,document.head.appendChild(B),ShadyCSS.prepareTemplate(B,v)),ShadyCSS.styleElement)ShadyCSS.styleElement(u);else if(ShadyCSS.applyStyle)ShadyCSS.applyStyle(u);else throw new Error("ShadyCSS is not properly defined: no styleElement or applyStyle!");for(var C=document.importNode(B.content,!0),D=u.shadowRoot;D.firstChild;)D.removeChild(D.firstChild);D.appendChild(C),setTimeout(function(){p(u,y)})}function m(u,v,x){u.shadowRoot.innerHTML=v,p(u,x)}function p(u,v){u.classList.add(t),v&&v()}g.a=function(u,v,x,y){var z=r()(x),A=u.__byu_webCommunity_components=u.__byu_webCommunity_components||{};A.templateHash===z||(A.templateHash=z,window.ShadyCSS?l(u,v,x,y,z):m(u,x,y))};var q=j(9),r=j.n(q),t="byu-component-rendered"},function(f,g,j){g=f.exports=j(8)(),g.push([f.i,"/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License. \r\n */\n/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\"/byu-hero-banner/dark.png\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}",""])},function(f){f.exports=function(){var j=[];return j.toString=function(){for(var p,l=[],m=0;mt?-2*t:t}function m(t,u,v){return Object.keys(u).sort().reduce(function(y,z){return p(y,u[z],z,v)},t)}function p(t,u,v,x){var y=l(l(l(t,v),q(u)),"undefined"==typeof u?"undefined":d(u));return null===u?l(y,"null"):void 0===u?l(y,"undefined"):"object"===("undefined"==typeof u?"undefined":d(u))?-1===x.indexOf(u)?(x.push(u),m(y,u,x)):l(y,"[Circular]"+v):l(y,u.toString())}function q(t){return Object.prototype.toString.call(t)}f.exports=function(t){return k(p(0,t,"",[]).toString(16),8)}},function(f,g,j){f.exports="
"}])})(); +(function(){"use strict";function a(f,g){if(!(f instanceof g))throw new TypeError("Cannot call a class as a function")}function b(f,g){if(!f)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return g&&("object"==typeof g||"function"==typeof g)?g:f}function c(f,g){if("function"!=typeof g&&null!==g)throw new TypeError("Super expression must either be null or a function, not "+typeof g);f.prototype=Object.create(g&&g.prototype,{constructor:{value:f,enumerable:!1,writable:!0,configurable:!0}}),g&&(Object.setPrototypeOf?Object.setPrototypeOf(f,g):f.__proto__=g)}var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(f){return typeof f}:function(f){return f&&"function"==typeof Symbol&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f},e=function(){function f(g,j){for(var l,k=0;k16/9?I.setSize(K,9*(K/16)):I.setSize(16*(L/9),L),J.style.left=(window.innerWidth-J.offsetWidth)/2+"px"}var F=A.shadowRoot.querySelector("#player"),G=document.createElement("script");G.src="https://www.youtube.com/iframe_api";var H=document.getElementsByTagName("script")[0];H.parentNode.insertBefore(G,H);var I;window.onYouTubeIframeAPIReady=function(){I=new YT.Player(F,{width:"100%",height:"100%",videoId:B,playerVars:{autoplay:1,autohide:1,modestbranding:1,playsinline:1,rel:0,showinfo:0,controls:0,disablekb:1,enablejsapi:0,iv_load_policy:3,fs:0},events:{onReady:C,onStateChange:D}})};var J=A.shadowRoot.querySelector("#player");J.style.display="inline",J.style.marginLeft=0,window.addEventListener("resize",E)}function p(A){function B(){var E=D.parentElement.clientWidth,F=D.parentElement.clientHeight;E/F>16/9?(D.style.width="100%",D.style.height=""):(D.style.width="",D.style.height="100%")}var C=A.shadowRoot.querySelector("#player"),D=document.createElement("video");D.id="player",D.classList.add("screen","mute"),D.src=A.videoSource,D.autoplay=!0,D.controls=!1,D.muted=!0,D.loop=!0,D.poster=A.imageSource,A.shadowRoot.querySelectorAll(".tv")[0].replaceChild(D,C),B(),window.addEventListener("resize",B),D.addEventListener("canplay",function(){A.shadowRoot.querySelector("#hidden-image").classList.add("hidden")})}function q(A,B){A=A.replace(/[\[\]]/g,"\\$&");var C=new RegExp("[?&]"+A+"(=([^&#]*)|&|#|$)"),D=C.exec(B);return D?D[2]?decodeURIComponent(D[2].replace(/\+/g," ")):"":null}function r(){}var t=j(10),u=j.n(t),v=j(3),x="image-source",y="video-source",z=function(A){function B(){a(this,B);var C=b(this,(B.__proto__||Object.getPrototypeOf(B)).call(this));return C.attachShadow({mode:"open"}),C}return c(B,A),e(B,[{key:"connectedCallback",value:function(){var D=this;v.a(this,"byu-hero-banner",u.a,function(){r(D),k(D),l(D)})}},{key:"attributeChangedCallback",value:function(D){D===x?k(this):D===y?l(this):void 0}},{key:"imageSource",set:function(D){this.setAttribute(x,D)},get:function(){return this.hasAttribute(x)?this.getAttribute(x):""}},{key:"videoSource",set:function(D){this.setAttribute(y,D)},get:function(){return this.hasAttribute(y)?this.getAttribute(y):""}}],[{key:"observedAttributes",get:function(){return[]}}]),B}(HTMLElement);window.customElements.define("byu-hero-banner",z),window.ByuHeroBanner=z},function(f,g,j){Object.defineProperty(g,"__esModule",{value:!0});j(1)},function(f,g,j){var k=j(6),l=j(0),m=j(5),p=j(4);j.d(g,"a",function(){return k.a})},function(){},function(f,g,j){var l=j(0)},function(f,g,j){function l(u,v,x,y,z){var A="__byu-custom-element-template_"+v+"_"+z,B=document.head.querySelector("template#"+A);if(B||(B=document.createElement("template"),B.id=A,B.innerHTML=x,document.head.appendChild(B),ShadyCSS.prepareTemplate(B,v)),ShadyCSS.styleElement)ShadyCSS.styleElement(u);else if(ShadyCSS.applyStyle)ShadyCSS.applyStyle(u);else throw new Error("ShadyCSS is not properly defined: no styleElement or applyStyle!");for(var C=document.importNode(B.content,!0),D=u.shadowRoot;D.firstChild;)D.removeChild(D.firstChild);D.appendChild(C),setTimeout(function(){p(u,y)})}function m(u,v,x){u.shadowRoot.innerHTML=v,p(u,x)}function p(u,v){u.classList.add(t),v&&v()}g.a=function(u,v,x,y){var z=r()(x),A=u.__byu_webCommunity_components=u.__byu_webCommunity_components||{};A.templateHash===z||(A.templateHash=z,window.ShadyCSS?l(u,v,x,y,z):m(u,x,y))};var q=j(9),r=j.n(q),t="byu-component-rendered"},function(f,g,j){g=f.exports=j(8)(),g.push([f.i,"/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License. \r\n */\n/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\"/byu-hero-banner/dark.png\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center;width:100%}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}",""])},function(f){f.exports=function(){var j=[];return j.toString=function(){for(var p,l=[],m=0;mt?-2*t:t}function m(t,u,v){return Object.keys(u).sort().reduce(function(y,z){return p(y,u[z],z,v)},t)}function p(t,u,v,x){var y=l(l(l(t,v),q(u)),"undefined"==typeof u?"undefined":d(u));return null===u?l(y,"null"):void 0===u?l(y,"undefined"):"object"===("undefined"==typeof u?"undefined":d(u))?-1===x.indexOf(u)?(x.push(u),m(y,u,x)):l(y,"[Circular]"+v):l(y,u.toString())}function q(t){return Object.prototype.toString.call(t)}f.exports=function(t){return k(p(0,t,"",[]).toString(16),8)}},function(f,g,j){f.exports="
"}])})(); //# sourceMappingURL=components-compat.min.js.map diff --git a/dist/components-compat.min.js.map b/dist/components-compat.min.js.map index 5c4f878..7193737 100644 --- a/dist/components-compat.min.js.map +++ b/dist/components-compat.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["components-compat.js","components.js","webpack:/webpack/bootstrap 37843564c863870ec08a","webpack:///~/byu-web-component-utils/lib/matchesSelector.js","webpack:///byu-hero-banner/byu-hero-banner.js","webpack:///byu-hero-banner.js","webpack:///~/byu-web-component-utils/lib/querySelectorSlot.js","webpack:///~/byu-web-component-utils/lib/templating.js","webpack:///byu-hero-banner/byu-hero-banner.scss","webpack:///~/css-loader/lib/css-base.js","webpack:///~/hash-sum/hash-sum.js","webpack:///byu-hero-banner/byu-hero-banner.html"],"names":["instance","Constructor","TypeError","self","ReferenceError","call","superClass","subClass","prototype","Object","create","constructor","value","enumerable","writable","configurable","setPrototypeOf","__proto__","Symbol","iterator","obj","i","props","length","descriptor","defineProperty","target","key","protoProps","defineProperties","staticProps","installedModules","moduleId","exports","l","modules","module","__webpack_require__","m","c","d","o","name","get","getter","n","__esModule","hasOwnProperty","object","property","p","s","__webpack_exports__","Element","proto","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","document","ownerDocument","querySelectorAll","indexOf","actual","el","selector","component","shadowRoot","querySelector","imageBox","hiddenImage","videoSource","includes","getParameterByName","setYoutubeSource","setMp4Source","setInterval","getCurrentTime","player","getDuration","seekTo","vidRescale","event","data","YT","PlayerState","PLAYING","ENDED","window","innerWidth","innerHeight","w","h","video","createElement","tag","getElementsByTagName","firstScriptTag","width","height","videoId","playerVars","autoplay","autohide","modestbranding","playsinline","rel","showinfo","controls","disablekb","enablejsapi","iv_load_policy","fs","events","onPlayerReady","onStateChange","parentElement","clientWidth","clientHeight","RegExp","regex","exec","url","results","decodeURIComponent","replace","__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__","_classCallCheck","ByuHeroBanner","_possibleConstructorReturn","getPrototypeOf","_this","attachShadow","mode","_inherits","_HTMLElement","_createClass","__WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__","setupSlotListeners","applyImageSource","applyVideoSource","attr","ATTR_IMG_SRC","ATTR_VIDEO_SRC","set","setAttribute","hasAttribute","getAttribute","HTMLElement","__WEBPACK_IMPORTED_MODULE_0__lib_templating__","elementName","sum","head","templateId","templateElement","ShadyCSS","styleElement","applyStyle","Error","importNode","content","element","shadow","firstChild","setTimeout","runAfterStamping","callback","__WEBPACK_IMPORTED_MODULE_0_hash_sum___default","template","__byu_webCommunity_components","elSettings","templateHash","applyTemplateShady","applyTemplateNative","__WEBPACK_IMPORTED_MODULE_0_hash_sum__","list","item","result","join","id","alreadyImportedModules","mediaQuery","hash","len","text","chr","keys","sort","reduce","foldValue","seen","fold","input","toString","_typeof","foldObject","pad"],"mappings":"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","file":"components-compat.min.js","sourcesContent":[";(function() {\n\"use strict\";\n\n'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function 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, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/******/(function (modules) {\n // webpackBootstrap\n /******/ // The module cache\n /******/var installedModules = {};\n /******/\n /******/ // The require function\n /******/function __webpack_require__(moduleId) {\n /******/\n /******/ // Check if module is in cache\n /******/if (installedModules[moduleId]) {\n /******/return installedModules[moduleId].exports;\n /******/\n }\n /******/ // Create a new module (and put it into the cache)\n /******/var module = installedModules[moduleId] = {\n /******/i: moduleId,\n /******/l: false,\n /******/exports: {}\n /******/ };\n /******/\n /******/ // Execute the module function\n /******/modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n /******/\n /******/ // Flag the module as loaded\n /******/module.l = true;\n /******/\n /******/ // Return the exports of the module\n /******/return module.exports;\n /******/\n }\n /******/\n /******/\n /******/ // expose the modules object (__webpack_modules__)\n /******/__webpack_require__.m = modules;\n /******/\n /******/ // expose the module cache\n /******/__webpack_require__.c = installedModules;\n /******/\n /******/ // identity function for calling harmony imports with the correct context\n /******/__webpack_require__.i = function (value) {\n return value;\n };\n /******/\n /******/ // define getter function for harmony exports\n /******/__webpack_require__.d = function (exports, name, getter) {\n /******/if (!__webpack_require__.o(exports, name)) {\n /******/Object.defineProperty(exports, name, {\n /******/configurable: false,\n /******/enumerable: true,\n /******/get: getter\n /******/ });\n /******/\n }\n /******/\n };\n /******/\n /******/ // getDefaultExport function for compatibility with non-harmony modules\n /******/__webpack_require__.n = function (module) {\n /******/var getter = module && module.__esModule ?\n /******/function getDefault() {\n return module['default'];\n } :\n /******/function getModuleExports() {\n return module;\n };\n /******/__webpack_require__.d(getter, 'a', getter);\n /******/return getter;\n /******/\n };\n /******/\n /******/ // Object.prototype.hasOwnProperty.call\n /******/__webpack_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n /******/\n /******/ // __webpack_public_path__\n /******/__webpack_require__.p = \"\";\n /******/\n /******/ // Load entry module and return exports\n /******/return __webpack_require__(__webpack_require__.s = 2);\n /******/\n})(\n/************************************************************************/\n/******/[\n/* 0 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony export (immutable) */\n __webpack_exports__[\"a\"] = matchesSelector;\n /*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n function matchesSelector(el, selector) {\n var proto = Element.prototype;\n var actual = proto.matches || proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector || proto.oMatchesSelector || proto.webkitMatchesSelector || function (s) {\n var doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n }\n\n /***/\n},\n/* 1 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__ = __webpack_require__(10);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(3);\n /**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\n\n var ATTR_IMG_SRC = 'image-source';\n var ATTR_VIDEO_SRC = 'video-source';\n\n var ByuHeroBanner = function (_HTMLElement) {\n _inherits(ByuHeroBanner, _HTMLElement);\n\n function ByuHeroBanner() {\n _classCallCheck(this, ByuHeroBanner);\n\n var _this = _possibleConstructorReturn(this, (ByuHeroBanner.__proto__ || Object.getPrototypeOf(ByuHeroBanner)).call(this));\n\n _this.attachShadow({ mode: 'open' });\n return _this;\n }\n\n _createClass(ByuHeroBanner, [{\n key: 'connectedCallback',\n value: function connectedCallback() {\n var _this2 = this;\n\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-hero-banner', __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default.a, function () {\n setupSlotListeners(_this2);\n applyImageSource(_this2);\n applyVideoSource(_this2);\n });\n }\n }, {\n key: 'attributeChangedCallback',\n value: function attributeChangedCallback(attr, oldValue, newValue) {\n switch (attr) {\n case ATTR_IMG_SRC:\n applyImageSource(this);\n break;\n case ATTR_VIDEO_SRC:\n applyVideoSource(this);\n break;\n }\n }\n }, {\n key: 'imageSource',\n set: function set(value) {\n this.setAttribute(ATTR_IMG_SRC, value);\n },\n get: function get() {\n if (this.hasAttribute(ATTR_IMG_SRC)) {\n return this.getAttribute(ATTR_IMG_SRC);\n }\n return '';\n }\n }, {\n key: 'videoSource',\n set: function set(value) {\n this.setAttribute(ATTR_VIDEO_SRC, value);\n },\n get: function get() {\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\n return this.getAttribute(ATTR_VIDEO_SRC);\n }\n return '';\n }\n }], [{\n key: 'observedAttributes',\n get: function get() {\n return [];\n }\n }]);\n\n return ByuHeroBanner;\n }(HTMLElement);\n\n window.customElements.define('byu-hero-banner', ByuHeroBanner);\n window.ByuHeroBanner = ByuHeroBanner;\n\n // -------------------- Helper Functions --------------------\n\n function applyImageSource(component) {\n var imageBox = component.shadowRoot.querySelector('div.image-wrapper');\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\n // this image is kind of a hack to allow us to use either a css background image\n // or an HTML image for different scenarios, depending on which one works best.\n var hiddenImage = component.shadowRoot.querySelector('#hidden-image');\n hiddenImage.src = component.imageSource;\n }\n\n function applyVideoSource(component) {\n if (component.videoSource.includes('youtube')) {\n var id = getParameterByName('v', component.videoSource);\n setYoutubeSource(component, id);\n } else if (component.videoSource.includes('.mp4')) {\n setMp4Source(component);\n }\n }\n\n function setYoutubeSource(component, videoId) {\n var videoBox = component.shadowRoot.querySelector('#player');\n\n // Load the YouTube API asynchronously\n var tag = document.createElement('script');\n tag.src = \"https://www.youtube.com/iframe_api\";\n var firstScriptTag = document.getElementsByTagName('script')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n\n // Create the player object when API is ready\n var player;\n window.onYouTubeIframeAPIReady = function () {\n player = new YT.Player(videoBox, {\n width: '100%',\n height: '100%',\n videoId: videoId,\n playerVars: {\n autoplay: 1,\n autohide: 1,\n modestbranding: 1,\n playsinline: 1,\n rel: 0,\n showinfo: 0,\n controls: 0,\n disablekb: 1,\n enablejsapi: 0,\n iv_load_policy: 3,\n fs: 0\n },\n events: {\n 'onReady': onPlayerReady,\n 'onStateChange': onStateChange\n }\n });\n };\n\n function onPlayerReady(event) {\n // Limits the amount of black screen before restarting the video\n setInterval(function () {\n var i = player.getCurrentTime() / player.getDuration() * 100;\n // if the video is at least 99% complete, restart the video\n if (i >= 99) player.seekTo(0);\n }, 25);\n player.mute();\n vidRescale(player);\n // This forces it to start playing on mobile devices\n player.playVideo();\n }\n\n function onStateChange(event) {\n switch (event.data) {\n case YT.PlayerState.PLAYING:\n // Fade out the starting image\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\n break;\n case YT.PlayerState.ENDED:\n // Use this instead of a looped playlist to prevent loading the video again \n // limiting a longer black screen in between\n player.playVideo();\n break;\n }\n }\n\n var video = component.shadowRoot.querySelector('#player');\n video.style.display = 'inline';\n video.style.marginLeft = 0;\n\n window.addEventListener('resize', vidRescale);\n\n function vidRescale() {\n var w = window.innerWidth + 300;\n var h = window.innerHeight + 300;\n if (w / h > 16 / 9) {\n player.setSize(w, w / 16 * 9);\n } else {\n player.setSize(h / 9 * 16, h);\n }\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\n }\n }\n\n function setMp4Source(component) {\n var divPlayer = component.shadowRoot.querySelector('#player');\n var video = document.createElement('video');\n video.id = 'player';\n video.classList.add('screen', 'mute');\n video.src = component.videoSource;\n video.autoplay = true;\n video.controls = false;\n video.muted = true;\n video.loop = true;\n video.poster = component.imageSource;\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\n\n vidRescale();\n window.addEventListener('resize', vidRescale);\n\n // Fade the initial image when the video has enough frames to play\n video.addEventListener(\"canplay\", function () {\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\n });\n\n function vidRescale() {\n var w = video.parentElement.clientWidth;\n var h = video.parentElement.clientHeight;\n if (w / h > 16 / 9) {\n video.style.width = '100%';\n video.style.height = '';\n } else {\n video.style.width = '';\n video.style.height = '100%';\n }\n }\n }\n\n function getParameterByName(name, url) {\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\n results = regex.exec(url);\n if (!results) return null;\n if (!results[2]) return '';\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\n }\n\n function setupSlotListeners(component) {}\n\n /***/\n},\n/* 2 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_byu_hero_banner_js__ = __webpack_require__(1);\n /**\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\n /***/\n},\n/* 3 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__lib_templating__ = __webpack_require__(6);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__lib_matchesSelector__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__ = __webpack_require__(5);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__ = __webpack_require__(4);\n /* harmony reexport (binding) */__webpack_require__.d(__webpack_exports__, \"a\", function () {\n return __WEBPACK_IMPORTED_MODULE_0__lib_templating__[\"a\"];\n });\n /* unused harmony reexport matchesSelector */\n /* unused harmony reexport querySelectorSlot */\n /* unused harmony reexport createEvent */\n /**\n * Created by ThatJoeMoore on 2/14/17\n */\n\n /***/\n},\n/* 4 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* unused harmony export default */\n /*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n function createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, { detail: detail, cancelable: true, bubbles: true });\n }\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n }\n\n /***/\n},\n/* 5 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* unused harmony export default */\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__ = __webpack_require__(0);\n /*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n function querySelectorSlot(slot, selector) {\n var roots = slot.assignedNodes({ flatten: true }).filter(function (n) {\n return n.nodeType === Node.ELEMENT_NODE;\n });\n\n for (var i = 0, len = roots.length; i < len; i++) {\n var each = roots[i];\n if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__[\"a\" /* default */])(each, selector)) {\n return each;\n }\n var child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n }\n\n /***/\n},\n/* 6 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony export (immutable) */\n __webpack_exports__[\"a\"] = applyTemplate;\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_hash_sum__ = __webpack_require__(9);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_hash_sum___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hash_sum__);\n /*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n var TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\n function applyTemplate(element, elementName, template, callback) {\n var sum = __WEBPACK_IMPORTED_MODULE_0_hash_sum___default()(template);\n\n var elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n }\n\n function applyTemplateShady(element, elementName, template, callback, sum) {\n var templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n var templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n var imported = document.importNode(templateElement.content, true);\n var shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function () {\n runAfterStamping(element, callback);\n });\n }\n\n function applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n }\n\n function runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n }\n\n /***/\n},\n/* 7 */\n/***/function (module, exports, __webpack_require__) {\n\n exports = module.exports = __webpack_require__(8)();\n // imports\n\n\n // module\n exports.push([module.i, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n // exports\n\n\n /***/\n},\n/* 8 */\n/***/function (module, exports) {\n\n /*\n \tMIT License http://www.opensource.org/licenses/mit-license.php\n \tAuthor Tobias Koppers @sokra\n */\n // css base code, injected by the css-loader\n module.exports = function () {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n var result = [];\n for (var i = 0; i < this.length; i++) {\n var item = this[i];\n if (item[2]) {\n result.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n } else {\n result.push(item[1]);\n }\n }\n return result.join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function (modules, mediaQuery) {\n if (typeof modules === \"string\") modules = [[null, modules, \"\"]];\n var alreadyImportedModules = {};\n for (var i = 0; i < this.length; i++) {\n var id = this[i][0];\n if (typeof id === \"number\") alreadyImportedModules[id] = true;\n }\n for (i = 0; i < modules.length; i++) {\n var item = modules[i];\n // skip already imported module\n // this implementation is not 100% perfect for weird media query combinations\n // when a module is imported multiple times with different media queries.\n // I hope this will never occur (Hey this way we have smaller bundles)\n if (typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n if (mediaQuery && !item[2]) {\n item[2] = mediaQuery;\n } else if (mediaQuery) {\n item[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n }\n list.push(item);\n }\n }\n };\n return list;\n };\n\n /***/\n},\n/* 9 */\n/***/function (module, exports, __webpack_require__) {\n\n \"use strict\";\n\n function pad(hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n }\n\n function fold(hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = (hash << 5) - hash + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n }\n\n function foldObject(hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey(hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n }\n\n function foldValue(input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value === 'undefined' ? 'undefined' : _typeof(value));\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n }\n\n function toString(o) {\n return Object.prototype.toString.call(o);\n }\n\n function sum(o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n }\n\n module.exports = sum;\n\n /***/\n},\n/* 10 */\n/***/function (module, exports, __webpack_require__) {\n\n module.exports = \"
\";\n\n /***/\n}]\n/******/);\n}());\n\n\n","/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 2);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = matchesSelector;\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nfunction matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(3);\n/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\r\n\r\n\r\n\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-hero-banner', __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default.a, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_byu_hero_banner_js__ = __webpack_require__(1);\n/**\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\n\n\n\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lib_templating__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__lib_matchesSelector__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__ = __webpack_require__(4);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__lib_templating__[\"a\"]; });\n/* unused harmony reexport matchesSelector */\n/* unused harmony reexport querySelectorSlot */\n/* unused harmony reexport createEvent */\n/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nfunction createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__ = __webpack_require__(0);\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\nfunction querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__[\"a\" /* default */])(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = applyTemplate;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hash_sum__);\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nfunction applyTemplate(element, elementName, template, callback) {\n let sum = __WEBPACK_IMPORTED_MODULE_0_hash_sum___default()(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ })\n/******/ ]);\n"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 37843564c863870ec08a","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/matchesSelector.js\n// module id = 0\n// module chunks = 0","/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\"use strict\";\r\n\r\nimport template from './byu-hero-banner.html';\r\nimport * as util from 'byu-web-component-utils';\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n util.applyTemplate(this, 'byu-hero-banner', template, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.js\n// module id = 1\n// module chunks = 0","/**\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\"use strict\";\n\nimport './byu-hero-banner/byu-hero-banner.js';\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner.js\n// module id = 2\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport matches from './matchesSelector.js';\n\nexport default function querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (matches(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/querySelectorSlot.js\n// module id = 5\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport hash from 'hash-sum';\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nexport default function applyTemplate(element, elementName, template, callback) {\n let sum = hash(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/templating.js\n// module id = 6\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.scss\n// module id = 7\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader/lib/css-base.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hash-sum/hash-sum.js\n// module id = 9\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.html\n// module id = 10\n// module chunks = 0"]} \ No newline at end of file +{"version":3,"sources":["components-compat.js","components.js","webpack:/webpack/bootstrap 37843564c863870ec08a","webpack:///~/byu-web-component-utils/lib/matchesSelector.js","webpack:///byu-hero-banner/byu-hero-banner.js","webpack:///byu-hero-banner.js","webpack:///~/byu-web-component-utils/lib/querySelectorSlot.js","webpack:///~/byu-web-component-utils/lib/templating.js","webpack:///byu-hero-banner/byu-hero-banner.scss","webpack:///~/css-loader/lib/css-base.js","webpack:///~/hash-sum/hash-sum.js","webpack:///byu-hero-banner/byu-hero-banner.html"],"names":["instance","Constructor","TypeError","self","ReferenceError","call","superClass","subClass","prototype","Object","create","constructor","value","enumerable","writable","configurable","setPrototypeOf","__proto__","Symbol","iterator","obj","i","props","length","descriptor","defineProperty","target","key","protoProps","defineProperties","staticProps","installedModules","moduleId","exports","l","modules","module","__webpack_require__","m","c","d","o","name","get","getter","n","__esModule","hasOwnProperty","object","property","p","s","__webpack_exports__","Element","proto","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","document","ownerDocument","querySelectorAll","indexOf","actual","el","selector","component","shadowRoot","querySelector","imageBox","hiddenImage","videoSource","includes","getParameterByName","setYoutubeSource","setMp4Source","setInterval","getCurrentTime","player","getDuration","seekTo","vidRescale","event","data","YT","PlayerState","PLAYING","ENDED","window","innerWidth","innerHeight","w","h","video","createElement","tag","getElementsByTagName","firstScriptTag","width","height","videoId","playerVars","autoplay","autohide","modestbranding","playsinline","rel","showinfo","controls","disablekb","enablejsapi","iv_load_policy","fs","events","onPlayerReady","onStateChange","parentElement","clientWidth","clientHeight","RegExp","regex","exec","url","results","decodeURIComponent","replace","__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__","_classCallCheck","ByuHeroBanner","_possibleConstructorReturn","getPrototypeOf","_this","attachShadow","mode","_inherits","_HTMLElement","_createClass","__WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__","setupSlotListeners","applyImageSource","applyVideoSource","attr","ATTR_IMG_SRC","ATTR_VIDEO_SRC","set","setAttribute","hasAttribute","getAttribute","HTMLElement","__WEBPACK_IMPORTED_MODULE_0__lib_templating__","elementName","sum","head","templateId","templateElement","ShadyCSS","styleElement","applyStyle","Error","importNode","content","element","shadow","firstChild","setTimeout","runAfterStamping","callback","__WEBPACK_IMPORTED_MODULE_0_hash_sum___default","template","__byu_webCommunity_components","elSettings","templateHash","applyTemplateShady","applyTemplateNative","__WEBPACK_IMPORTED_MODULE_0_hash_sum__","list","item","result","join","id","alreadyImportedModules","mediaQuery","hash","len","text","chr","keys","sort","reduce","foldValue","seen","fold","input","toString","_typeof","foldObject","pad"],"mappings":"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","file":"components-compat.min.js","sourcesContent":[";(function() {\n\"use strict\";\n\n'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function 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, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/******/(function (modules) {\n // webpackBootstrap\n /******/ // The module cache\n /******/var installedModules = {};\n /******/\n /******/ // The require function\n /******/function __webpack_require__(moduleId) {\n /******/\n /******/ // Check if module is in cache\n /******/if (installedModules[moduleId]) {\n /******/return installedModules[moduleId].exports;\n /******/\n }\n /******/ // Create a new module (and put it into the cache)\n /******/var module = installedModules[moduleId] = {\n /******/i: moduleId,\n /******/l: false,\n /******/exports: {}\n /******/ };\n /******/\n /******/ // Execute the module function\n /******/modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n /******/\n /******/ // Flag the module as loaded\n /******/module.l = true;\n /******/\n /******/ // Return the exports of the module\n /******/return module.exports;\n /******/\n }\n /******/\n /******/\n /******/ // expose the modules object (__webpack_modules__)\n /******/__webpack_require__.m = modules;\n /******/\n /******/ // expose the module cache\n /******/__webpack_require__.c = installedModules;\n /******/\n /******/ // identity function for calling harmony imports with the correct context\n /******/__webpack_require__.i = function (value) {\n return value;\n };\n /******/\n /******/ // define getter function for harmony exports\n /******/__webpack_require__.d = function (exports, name, getter) {\n /******/if (!__webpack_require__.o(exports, name)) {\n /******/Object.defineProperty(exports, name, {\n /******/configurable: false,\n /******/enumerable: true,\n /******/get: getter\n /******/ });\n /******/\n }\n /******/\n };\n /******/\n /******/ // getDefaultExport function for compatibility with non-harmony modules\n /******/__webpack_require__.n = function (module) {\n /******/var getter = module && module.__esModule ?\n /******/function getDefault() {\n return module['default'];\n } :\n /******/function getModuleExports() {\n return module;\n };\n /******/__webpack_require__.d(getter, 'a', getter);\n /******/return getter;\n /******/\n };\n /******/\n /******/ // Object.prototype.hasOwnProperty.call\n /******/__webpack_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n /******/\n /******/ // __webpack_public_path__\n /******/__webpack_require__.p = \"\";\n /******/\n /******/ // Load entry module and return exports\n /******/return __webpack_require__(__webpack_require__.s = 2);\n /******/\n})(\n/************************************************************************/\n/******/[\n/* 0 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony export (immutable) */\n __webpack_exports__[\"a\"] = matchesSelector;\n /*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n function matchesSelector(el, selector) {\n var proto = Element.prototype;\n var actual = proto.matches || proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector || proto.oMatchesSelector || proto.webkitMatchesSelector || function (s) {\n var doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n }\n\n /***/\n},\n/* 1 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__ = __webpack_require__(10);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(3);\n /**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\n\n var ATTR_IMG_SRC = 'image-source';\n var ATTR_VIDEO_SRC = 'video-source';\n\n var ByuHeroBanner = function (_HTMLElement) {\n _inherits(ByuHeroBanner, _HTMLElement);\n\n function ByuHeroBanner() {\n _classCallCheck(this, ByuHeroBanner);\n\n var _this = _possibleConstructorReturn(this, (ByuHeroBanner.__proto__ || Object.getPrototypeOf(ByuHeroBanner)).call(this));\n\n _this.attachShadow({ mode: 'open' });\n return _this;\n }\n\n _createClass(ByuHeroBanner, [{\n key: 'connectedCallback',\n value: function connectedCallback() {\n var _this2 = this;\n\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-hero-banner', __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default.a, function () {\n setupSlotListeners(_this2);\n applyImageSource(_this2);\n applyVideoSource(_this2);\n });\n }\n }, {\n key: 'attributeChangedCallback',\n value: function attributeChangedCallback(attr, oldValue, newValue) {\n switch (attr) {\n case ATTR_IMG_SRC:\n applyImageSource(this);\n break;\n case ATTR_VIDEO_SRC:\n applyVideoSource(this);\n break;\n }\n }\n }, {\n key: 'imageSource',\n set: function set(value) {\n this.setAttribute(ATTR_IMG_SRC, value);\n },\n get: function get() {\n if (this.hasAttribute(ATTR_IMG_SRC)) {\n return this.getAttribute(ATTR_IMG_SRC);\n }\n return '';\n }\n }, {\n key: 'videoSource',\n set: function set(value) {\n this.setAttribute(ATTR_VIDEO_SRC, value);\n },\n get: function get() {\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\n return this.getAttribute(ATTR_VIDEO_SRC);\n }\n return '';\n }\n }], [{\n key: 'observedAttributes',\n get: function get() {\n return [];\n }\n }]);\n\n return ByuHeroBanner;\n }(HTMLElement);\n\n window.customElements.define('byu-hero-banner', ByuHeroBanner);\n window.ByuHeroBanner = ByuHeroBanner;\n\n // -------------------- Helper Functions --------------------\n\n function applyImageSource(component) {\n var imageBox = component.shadowRoot.querySelector('div.image-wrapper');\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\n // this image is kind of a hack to allow us to use either a css background image\n // or an HTML image for different scenarios, depending on which one works best.\n var hiddenImage = component.shadowRoot.querySelector('#hidden-image');\n hiddenImage.src = component.imageSource;\n }\n\n function applyVideoSource(component) {\n if (component.videoSource.includes('youtube')) {\n var id = getParameterByName('v', component.videoSource);\n setYoutubeSource(component, id);\n } else if (component.videoSource.includes('.mp4')) {\n setMp4Source(component);\n }\n }\n\n function setYoutubeSource(component, videoId) {\n var videoBox = component.shadowRoot.querySelector('#player');\n\n // Load the YouTube API asynchronously\n var tag = document.createElement('script');\n tag.src = \"https://www.youtube.com/iframe_api\";\n var firstScriptTag = document.getElementsByTagName('script')[0];\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n\n // Create the player object when API is ready\n var player;\n window.onYouTubeIframeAPIReady = function () {\n player = new YT.Player(videoBox, {\n width: '100%',\n height: '100%',\n videoId: videoId,\n playerVars: {\n autoplay: 1,\n autohide: 1,\n modestbranding: 1,\n playsinline: 1,\n rel: 0,\n showinfo: 0,\n controls: 0,\n disablekb: 1,\n enablejsapi: 0,\n iv_load_policy: 3,\n fs: 0\n },\n events: {\n 'onReady': onPlayerReady,\n 'onStateChange': onStateChange\n }\n });\n };\n\n function onPlayerReady(event) {\n // Limits the amount of black screen before restarting the video\n setInterval(function () {\n var i = player.getCurrentTime() / player.getDuration() * 100;\n // if the video is at least 99% complete, restart the video\n if (i >= 99) player.seekTo(0);\n }, 25);\n player.mute();\n vidRescale(player);\n // This forces it to start playing on mobile devices\n player.playVideo();\n }\n\n function onStateChange(event) {\n switch (event.data) {\n case YT.PlayerState.PLAYING:\n // Fade out the starting image\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\n break;\n case YT.PlayerState.ENDED:\n // Use this instead of a looped playlist to prevent loading the video again \n // limiting a longer black screen in between\n player.playVideo();\n break;\n }\n }\n\n var video = component.shadowRoot.querySelector('#player');\n video.style.display = 'inline';\n video.style.marginLeft = 0;\n\n window.addEventListener('resize', vidRescale);\n\n function vidRescale() {\n var w = window.innerWidth + 300;\n var h = window.innerHeight + 300;\n if (w / h > 16 / 9) {\n player.setSize(w, w / 16 * 9);\n } else {\n player.setSize(h / 9 * 16, h);\n }\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\n }\n }\n\n function setMp4Source(component) {\n var divPlayer = component.shadowRoot.querySelector('#player');\n var video = document.createElement('video');\n video.id = 'player';\n video.classList.add('screen', 'mute');\n video.src = component.videoSource;\n video.autoplay = true;\n video.controls = false;\n video.muted = true;\n video.loop = true;\n video.poster = component.imageSource;\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\n\n vidRescale();\n window.addEventListener('resize', vidRescale);\n\n // Fade the initial image when the video has enough frames to play\n video.addEventListener(\"canplay\", function () {\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\n });\n\n function vidRescale() {\n var w = video.parentElement.clientWidth;\n var h = video.parentElement.clientHeight;\n if (w / h > 16 / 9) {\n video.style.width = '100%';\n video.style.height = '';\n } else {\n video.style.width = '';\n video.style.height = '100%';\n }\n }\n }\n\n function getParameterByName(name, url) {\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"),\n results = regex.exec(url);\n if (!results) return null;\n if (!results[2]) return '';\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\n }\n\n function setupSlotListeners(component) {}\n\n /***/\n},\n/* 2 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_byu_hero_banner_js__ = __webpack_require__(1);\n /**\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\n /***/\n},\n/* 3 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__lib_templating__ = __webpack_require__(6);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__lib_matchesSelector__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__ = __webpack_require__(5);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__ = __webpack_require__(4);\n /* harmony reexport (binding) */__webpack_require__.d(__webpack_exports__, \"a\", function () {\n return __WEBPACK_IMPORTED_MODULE_0__lib_templating__[\"a\"];\n });\n /* unused harmony reexport matchesSelector */\n /* unused harmony reexport querySelectorSlot */\n /* unused harmony reexport createEvent */\n /**\n * Created by ThatJoeMoore on 2/14/17\n */\n\n /***/\n},\n/* 4 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* unused harmony export default */\n /*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n function createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, { detail: detail, cancelable: true, bubbles: true });\n }\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n }\n\n /***/\n},\n/* 5 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* unused harmony export default */\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__ = __webpack_require__(0);\n /*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n function querySelectorSlot(slot, selector) {\n var roots = slot.assignedNodes({ flatten: true }).filter(function (n) {\n return n.nodeType === Node.ELEMENT_NODE;\n });\n\n for (var i = 0, len = roots.length; i < len; i++) {\n var each = roots[i];\n if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__[\"a\" /* default */])(each, selector)) {\n return each;\n }\n var child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n }\n\n /***/\n},\n/* 6 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony export (immutable) */\n __webpack_exports__[\"a\"] = applyTemplate;\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_hash_sum__ = __webpack_require__(9);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_hash_sum___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hash_sum__);\n /*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n var TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\n function applyTemplate(element, elementName, template, callback) {\n var sum = __WEBPACK_IMPORTED_MODULE_0_hash_sum___default()(template);\n\n var elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n }\n\n function applyTemplateShady(element, elementName, template, callback, sum) {\n var templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n var templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n var imported = document.importNode(templateElement.content, true);\n var shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function () {\n runAfterStamping(element, callback);\n });\n }\n\n function applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n }\n\n function runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n }\n\n /***/\n},\n/* 7 */\n/***/function (module, exports, __webpack_require__) {\n\n exports = module.exports = __webpack_require__(8)();\n // imports\n\n\n // module\n exports.push([module.i, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center;width:100%}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n // exports\n\n\n /***/\n},\n/* 8 */\n/***/function (module, exports) {\n\n /*\n \tMIT License http://www.opensource.org/licenses/mit-license.php\n \tAuthor Tobias Koppers @sokra\n */\n // css base code, injected by the css-loader\n module.exports = function () {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n var result = [];\n for (var i = 0; i < this.length; i++) {\n var item = this[i];\n if (item[2]) {\n result.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n } else {\n result.push(item[1]);\n }\n }\n return result.join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function (modules, mediaQuery) {\n if (typeof modules === \"string\") modules = [[null, modules, \"\"]];\n var alreadyImportedModules = {};\n for (var i = 0; i < this.length; i++) {\n var id = this[i][0];\n if (typeof id === \"number\") alreadyImportedModules[id] = true;\n }\n for (i = 0; i < modules.length; i++) {\n var item = modules[i];\n // skip already imported module\n // this implementation is not 100% perfect for weird media query combinations\n // when a module is imported multiple times with different media queries.\n // I hope this will never occur (Hey this way we have smaller bundles)\n if (typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n if (mediaQuery && !item[2]) {\n item[2] = mediaQuery;\n } else if (mediaQuery) {\n item[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n }\n list.push(item);\n }\n }\n };\n return list;\n };\n\n /***/\n},\n/* 9 */\n/***/function (module, exports, __webpack_require__) {\n\n \"use strict\";\n\n function pad(hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n }\n\n function fold(hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = (hash << 5) - hash + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n }\n\n function foldObject(hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey(hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n }\n\n function foldValue(input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value === 'undefined' ? 'undefined' : _typeof(value));\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n }\n\n function toString(o) {\n return Object.prototype.toString.call(o);\n }\n\n function sum(o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n }\n\n module.exports = sum;\n\n /***/\n},\n/* 10 */\n/***/function (module, exports, __webpack_require__) {\n\n module.exports = \"
\";\n\n /***/\n}]\n/******/);\n}());\n\n\n","/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 2);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = matchesSelector;\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nfunction matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(3);\n/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\r\n\r\n\r\n\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-hero-banner', __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default.a, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_byu_hero_banner_js__ = __webpack_require__(1);\n/**\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\n\n\n\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lib_templating__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__lib_matchesSelector__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__ = __webpack_require__(4);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__lib_templating__[\"a\"]; });\n/* unused harmony reexport matchesSelector */\n/* unused harmony reexport querySelectorSlot */\n/* unused harmony reexport createEvent */\n/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nfunction createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__ = __webpack_require__(0);\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\nfunction querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__[\"a\" /* default */])(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = applyTemplate;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hash_sum__);\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nfunction applyTemplate(element, elementName, template, callback) {\n let sum = __WEBPACK_IMPORTED_MODULE_0_hash_sum___default()(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center;width:100%}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ })\n/******/ ]);\n"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 37843564c863870ec08a","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/matchesSelector.js\n// module id = 0\n// module chunks = 0","/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\"use strict\";\r\n\r\nimport template from './byu-hero-banner.html';\r\nimport * as util from 'byu-web-component-utils';\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n util.applyTemplate(this, 'byu-hero-banner', template, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.js\n// module id = 1\n// module chunks = 0","/**\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\"use strict\";\n\nimport './byu-hero-banner/byu-hero-banner.js';\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner.js\n// module id = 2\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport matches from './matchesSelector.js';\n\nexport default function querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (matches(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/querySelectorSlot.js\n// module id = 5\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport hash from 'hash-sum';\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nexport default function applyTemplate(element, elementName, template, callback) {\n let sum = hash(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/templating.js\n// module id = 6\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.scss\n// module id = 7\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader/lib/css-base.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hash-sum/hash-sum.js\n// module id = 9\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.html\n// module id = 10\n// module chunks = 0"]} \ No newline at end of file diff --git a/dist/components.js b/dist/components.js index 43c71e9..be5c77d 100644 --- a/dist/components.js +++ b/dist/components.js @@ -578,7 +578,7 @@ exports = module.exports = __webpack_require__(8)(); // module -exports.push([module.i, "/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License. \r\n */\n/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\"/byu-hero-banner/dark.png\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}", ""]); +exports.push([module.i, "/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License. \r\n */\n/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\"/byu-hero-banner/dark.png\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center;width:100%}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}", ""]); // exports diff --git a/dist/components.js.map b/dist/components.js.map index be0b8cf..aba0aff 100644 --- a/dist/components.js.map +++ b/dist/components.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap 37843564c863870ec08a","webpack:///./~/byu-web-component-utils/lib/matchesSelector.js","webpack:///./byu-hero-banner/byu-hero-banner.js","webpack:///./byu-hero-banner.js","webpack:///./~/byu-web-component-utils/index.js","webpack:///./~/byu-web-component-utils/lib/createEvent.js","webpack:///./~/byu-web-component-utils/lib/querySelectorSlot.js","webpack:///./~/byu-web-component-utils/lib/templating.js","webpack:///./byu-hero-banner/byu-hero-banner.scss","webpack:///./~/css-loader/lib/css-base.js","webpack:///./~/hash-sum/hash-sum.js","webpack:///./byu-hero-banner/byu-hero-banner.html"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;AChEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;ACjCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,eAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,C;;;;;;;;ACjOA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;AClBA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAOA;;;;;;;;ACfA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sCAAsC,wCAAwC;AAC9E;AACA;AACA;AACA;AACA;;;;;;;;;ACzBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,oCAAoC,cAAc;AAClD;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACnCA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AAC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AAyB,mBAAmB,iBAAiB,2CAA2C,yBAAyB,iBAAiB,mBAAmB,YAAY,gBAAgB,UAAU,cAAc,kCAAkC,0BAA0B,YAAY,gDAAgD,cAAc,WAAW,iCAAiC,gBAAgB,cAAc,YAAY,eAAe,iDAAiD,iBAAiB;;AAE/7W;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA,wCAAwC,gBAAgB;AACxD,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjDA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,SAAS;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;ACzDA,knB","file":"components.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 37843564c863870ec08a","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/matchesSelector.js\n// module id = 0\n// module chunks = 0","/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\"use strict\";\r\n\r\nimport template from './byu-hero-banner.html';\r\nimport * as util from 'byu-web-component-utils';\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n util.applyTemplate(this, 'byu-hero-banner', template, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.js\n// module id = 1\n// module chunks = 0","/**\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\"use strict\";\n\nimport './byu-hero-banner/byu-hero-banner.js';\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner.js\n// module id = 2\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\"use strict\";\n\nimport applyTemplate from './lib/templating';\nimport matchesSelector from './lib/matchesSelector';\nimport querySelectorSlot from './lib/querySelectorSlot';\nimport createEvent from './lib/createEvent';\n\nexport {\n applyTemplate,\n matchesSelector,\n querySelectorSlot,\n createEvent\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/index.js\n// module id = 3\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/createEvent.js\n// module id = 4\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport matches from './matchesSelector.js';\n\nexport default function querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (matches(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/querySelectorSlot.js\n// module id = 5\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport hash from 'hash-sum';\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nexport default function applyTemplate(element, elementName, template, callback) {\n let sum = hash(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/templating.js\n// module id = 6\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.scss\n// module id = 7\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader/lib/css-base.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hash-sum/hash-sum.js\n// module id = 9\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.html\n// module id = 10\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap 03786fdf595eaceb7ec4","webpack:///./~/byu-web-component-utils/lib/matchesSelector.js","webpack:///./byu-hero-banner/byu-hero-banner.js","webpack:///./byu-hero-banner.js","webpack:///./~/byu-web-component-utils/index.js","webpack:///./~/byu-web-component-utils/lib/createEvent.js","webpack:///./~/byu-web-component-utils/lib/querySelectorSlot.js","webpack:///./~/byu-web-component-utils/lib/templating.js","webpack:///./byu-hero-banner/byu-hero-banner.scss","webpack:///./~/css-loader/lib/css-base.js","webpack:///./~/hash-sum/hash-sum.js","webpack:///./byu-hero-banner/byu-hero-banner.html"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;AChEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;ACjCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,eAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,C;;;;;;;;ACjOA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;AClBA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAOA;;;;;;;;ACfA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sCAAsC,wCAAwC;AAC9E;AACA;AACA;AACA;AACA;;;;;;;;;ACzBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,oCAAoC,cAAc;AAClD;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACnCA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AAC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kB,yBAAyB,mBAAmB,iBAAiB,2CAA2C,yBAAyB,iBAAiB,mBAAmB,YAAY,gBAAgB,UAAU,cAAc,kCAAkC,0BAA0B,YAAY,gDAAgD,cAAc,WAAW,iCAAiC,gBAAgB,cAAc,YAAY,eAAe,iDAAiD,iBAAiB;;AAE18W;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA,wCAAwC,gBAAgB;AACxD,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjDA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,SAAS;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;ACzDA,knB","file":"components.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 03786fdf595eaceb7ec4","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/matchesSelector.js\n// module id = 0\n// module chunks = 0","/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\"use strict\";\r\n\r\nimport template from './byu-hero-banner.html';\r\nimport * as util from 'byu-web-component-utils';\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n util.applyTemplate(this, 'byu-hero-banner', template, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.js\n// module id = 1\n// module chunks = 0","/**\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\"use strict\";\n\nimport './byu-hero-banner/byu-hero-banner.js';\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner.js\n// module id = 2\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\"use strict\";\n\nimport applyTemplate from './lib/templating';\nimport matchesSelector from './lib/matchesSelector';\nimport querySelectorSlot from './lib/querySelectorSlot';\nimport createEvent from './lib/createEvent';\n\nexport {\n applyTemplate,\n matchesSelector,\n querySelectorSlot,\n createEvent\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/index.js\n// module id = 3\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/createEvent.js\n// module id = 4\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport matches from './matchesSelector.js';\n\nexport default function querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (matches(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/querySelectorSlot.js\n// module id = 5\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport hash from 'hash-sum';\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nexport default function applyTemplate(element, elementName, template, callback) {\n let sum = hash(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/templating.js\n// module id = 6\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center;width:100%}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.scss\n// module id = 7\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader/lib/css-base.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hash-sum/hash-sum.js\n// module id = 9\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.html\n// module id = 10\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/components.min.js b/dist/components.min.js index 172d838..e4ce0f6 100644 --- a/dist/components.min.js +++ b/dist/components.min.js @@ -1,2 +1,2 @@ -(function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={i:d,l:!1,exports:{}};return a[d].call(e.exports,e,e.exports,b),e.l=!0,e.exports}var c={};return b.m=a,b.c=c,b.i=function(d){return d},b.d=function(d,e,f){b.o(d,e)||Object.defineProperty(d,e,{configurable:!1,enumerable:!0,get:f})},b.n=function(d){var e=d&&d.__esModule?function(){return d['default']}:function(){return d};return b.d(e,'a',e),e},b.o=function(d,e){return Object.prototype.hasOwnProperty.call(d,e)},b.p='',b(b.s=2)})([function(a,b){'use strict';b.a=function(e,f){let g=Element.prototype,j=g.matches||g.matchesSelector||g.mozMatchesSelector||g.msMatchesSelector||g.oMatchesSelector||g.webkitMatchesSelector||function(k){let l=this.document||this.ownerDocument;return-1!==l.querySelectorAll(k).indexOf(this)};return j.call(e,f)}},function(a,b,c){'use strict';function d(u){let v=u.shadowRoot.querySelector('div.image-wrapper');v.style.backgroundImage='url(\''+u.imageSource+'\')';let x=u.shadowRoot.querySelector('#hidden-image');x.src=u.imageSource}function e(u){if(u.videoSource.includes('youtube')){let v=j('v',u.videoSource);f(u,v)}else u.videoSource.includes('.mp4')&&g(u)}function f(u,v){function x(){setInterval(function(){var G=100*(D.getCurrentTime()/D.getDuration());99<=G&&D.seekTo(0)},25),D.mute(),z(D),D.playVideo()}function y(F){switch(F.data){case YT.PlayerState.PLAYING:u.shadowRoot.querySelector('#hidden-image').classList.add('hidden');break;case YT.PlayerState.ENDED:D.playVideo();}}function z(){var F=window.innerWidth+300,G=window.innerHeight+300;F/G>16/9?D.setSize(F,9*(F/16)):D.setSize(16*(G/9),G),E.style.left=(window.innerWidth-E.offsetWidth)/2+'px'}let A=u.shadowRoot.querySelector('#player');var B=document.createElement('script');B.src='https://www.youtube.com/iframe_api';var C=document.getElementsByTagName('script')[0];C.parentNode.insertBefore(B,C);var D;window.onYouTubeIframeAPIReady=function(){D=new YT.Player(A,{width:'100%',height:'100%',videoId:v,playerVars:{autoplay:1,autohide:1,modestbranding:1,playsinline:1,rel:0,showinfo:0,controls:0,disablekb:1,enablejsapi:0,iv_load_policy:3,fs:0},events:{onReady:x,onStateChange:y}})};let E=u.shadowRoot.querySelector('#player');E.style.display='inline',E.style.marginLeft=0,window.addEventListener('resize',z)}function g(u){function v(){var z=y.parentElement.clientWidth,A=y.parentElement.clientHeight;z/A>16/9?(y.style.width='100%',y.style.height=''):(y.style.width='',y.style.height='100%')}let x=u.shadowRoot.querySelector('#player');var y=document.createElement('video');y.id='player',y.classList.add('screen','mute'),y.src=u.videoSource,y.autoplay=!0,y.controls=!1,y.muted=!0,y.loop=!0,y.poster=u.imageSource,u.shadowRoot.querySelectorAll('.tv')[0].replaceChild(y,x),v(),window.addEventListener('resize',v),y.addEventListener('canplay',function(){u.shadowRoot.querySelector('#hidden-image').classList.add('hidden')})}function j(u,v){u=u.replace(/[\[\]]/g,'\\$&');var x=new RegExp('[?&]'+u+'(=([^&#]*)|&|#|$)'),y=x.exec(v);return y?y[2]?decodeURIComponent(y[2].replace(/\+/g,' ')):'':null}function k(){}var l=c(10),m=c.n(l),p=c(3);const q='image-source',r='video-source';class t extends HTMLElement{constructor(){super(),this.attachShadow({mode:'open'})}connectedCallback(){p.a(this,'byu-hero-banner',m.a,()=>{k(this),d(this),e(this)})}static get observedAttributes(){return[]}attributeChangedCallback(u){u===q?d(this):u===r?e(this):void 0}set imageSource(u){this.setAttribute(q,u)}get imageSource(){return this.hasAttribute(q)?this.getAttribute(q):''}set videoSource(u){this.setAttribute(r,u)}get videoSource(){return this.hasAttribute(r)?this.getAttribute(r):''}}window.customElements.define('byu-hero-banner',t),window.ByuHeroBanner=t},function(a,b,c){'use strict';Object.defineProperty(b,'__esModule',{value:!0});c(1)},function(a,b,c){'use strict';var d=c(6),e=c(0),f=c(5),g=c(4);c.d(b,'a',function(){return d.a})},function(){'use strict'},function(a,b,c){'use strict';var e=c(0)},function(a,b,c){'use strict';function e(m,p,q,r,t){let u='__byu-custom-element-template_'+p+'_'+t,v=document.head.querySelector('template#'+u);if(v||(v=document.createElement('template'),v.id=u,v.innerHTML=q,document.head.appendChild(v),ShadyCSS.prepareTemplate(v,p)),ShadyCSS.styleElement)ShadyCSS.styleElement(m);else if(ShadyCSS.applyStyle)ShadyCSS.applyStyle(m);else throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');let x=document.importNode(v.content,!0),y=m.shadowRoot;for(;y.firstChild;)y.removeChild(y.firstChild);y.appendChild(x),setTimeout(function(){g(m,r)})}function f(m,p,q){m.shadowRoot.innerHTML=p,g(m,q)}function g(m,p){m.classList.add(l),p&&p()}b.a=function(m,p,q,r){let t=k()(q),u=m.__byu_webCommunity_components=m.__byu_webCommunity_components||{};u.templateHash===t||(u.templateHash=t,window.ShadyCSS?e(m,p,q,r,t):f(m,q,r))};var j=c(9),k=c.n(j);const l='byu-component-rendered'},function(a,b,c){b=a.exports=c(8)(),b.push([a.i,'/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the "License");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an "AS IS" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License. \r\n */\n/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the "License");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an "AS IS" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url("/byu-hero-banner/dark.png");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}',''])},function(a){a.exports=function(){var c=[];return c.toString=function(){for(var g,e=[],f=0;fl?-2*l:l}function f(l,m,p){return Object.keys(m).sort().reduce(function(r,t){return g(r,m[t],t,p)},l)}function g(l,m,p,q){var r=e(e(e(l,p),j(m)),typeof m);return null===m?e(r,'null'):void 0===m?e(r,'undefined'):'object'==typeof m?-1===q.indexOf(m)?(q.push(m),f(r,m,q)):e(r,'[Circular]'+p):e(r,m.toString())}function j(l){return Object.prototype.toString.call(l)}a.exports=function(l){return d(g(0,l,'',[]).toString(16),8)}},function(a,b,c){a.exports='
'}]); +(function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={i:d,l:!1,exports:{}};return a[d].call(e.exports,e,e.exports,b),e.l=!0,e.exports}var c={};return b.m=a,b.c=c,b.i=function(d){return d},b.d=function(d,e,f){b.o(d,e)||Object.defineProperty(d,e,{configurable:!1,enumerable:!0,get:f})},b.n=function(d){var e=d&&d.__esModule?function(){return d['default']}:function(){return d};return b.d(e,'a',e),e},b.o=function(d,e){return Object.prototype.hasOwnProperty.call(d,e)},b.p='',b(b.s=2)})([function(a,b){'use strict';b.a=function(e,f){let g=Element.prototype,j=g.matches||g.matchesSelector||g.mozMatchesSelector||g.msMatchesSelector||g.oMatchesSelector||g.webkitMatchesSelector||function(k){let l=this.document||this.ownerDocument;return-1!==l.querySelectorAll(k).indexOf(this)};return j.call(e,f)}},function(a,b,c){'use strict';function d(u){let v=u.shadowRoot.querySelector('div.image-wrapper');v.style.backgroundImage='url(\''+u.imageSource+'\')';let x=u.shadowRoot.querySelector('#hidden-image');x.src=u.imageSource}function e(u){if(u.videoSource.includes('youtube')){let v=j('v',u.videoSource);f(u,v)}else u.videoSource.includes('.mp4')&&g(u)}function f(u,v){function x(){setInterval(function(){var G=100*(D.getCurrentTime()/D.getDuration());99<=G&&D.seekTo(0)},25),D.mute(),z(D),D.playVideo()}function y(F){switch(F.data){case YT.PlayerState.PLAYING:u.shadowRoot.querySelector('#hidden-image').classList.add('hidden');break;case YT.PlayerState.ENDED:D.playVideo();}}function z(){var F=window.innerWidth+300,G=window.innerHeight+300;F/G>16/9?D.setSize(F,9*(F/16)):D.setSize(16*(G/9),G),E.style.left=(window.innerWidth-E.offsetWidth)/2+'px'}let A=u.shadowRoot.querySelector('#player');var B=document.createElement('script');B.src='https://www.youtube.com/iframe_api';var C=document.getElementsByTagName('script')[0];C.parentNode.insertBefore(B,C);var D;window.onYouTubeIframeAPIReady=function(){D=new YT.Player(A,{width:'100%',height:'100%',videoId:v,playerVars:{autoplay:1,autohide:1,modestbranding:1,playsinline:1,rel:0,showinfo:0,controls:0,disablekb:1,enablejsapi:0,iv_load_policy:3,fs:0},events:{onReady:x,onStateChange:y}})};let E=u.shadowRoot.querySelector('#player');E.style.display='inline',E.style.marginLeft=0,window.addEventListener('resize',z)}function g(u){function v(){var z=y.parentElement.clientWidth,A=y.parentElement.clientHeight;z/A>16/9?(y.style.width='100%',y.style.height=''):(y.style.width='',y.style.height='100%')}let x=u.shadowRoot.querySelector('#player');var y=document.createElement('video');y.id='player',y.classList.add('screen','mute'),y.src=u.videoSource,y.autoplay=!0,y.controls=!1,y.muted=!0,y.loop=!0,y.poster=u.imageSource,u.shadowRoot.querySelectorAll('.tv')[0].replaceChild(y,x),v(),window.addEventListener('resize',v),y.addEventListener('canplay',function(){u.shadowRoot.querySelector('#hidden-image').classList.add('hidden')})}function j(u,v){u=u.replace(/[\[\]]/g,'\\$&');var x=new RegExp('[?&]'+u+'(=([^&#]*)|&|#|$)'),y=x.exec(v);return y?y[2]?decodeURIComponent(y[2].replace(/\+/g,' ')):'':null}function k(){}var l=c(10),m=c.n(l),p=c(3);const q='image-source',r='video-source';class t extends HTMLElement{constructor(){super(),this.attachShadow({mode:'open'})}connectedCallback(){p.a(this,'byu-hero-banner',m.a,()=>{k(this),d(this),e(this)})}static get observedAttributes(){return[]}attributeChangedCallback(u){u===q?d(this):u===r?e(this):void 0}set imageSource(u){this.setAttribute(q,u)}get imageSource(){return this.hasAttribute(q)?this.getAttribute(q):''}set videoSource(u){this.setAttribute(r,u)}get videoSource(){return this.hasAttribute(r)?this.getAttribute(r):''}}window.customElements.define('byu-hero-banner',t),window.ByuHeroBanner=t},function(a,b,c){'use strict';Object.defineProperty(b,'__esModule',{value:!0});c(1)},function(a,b,c){'use strict';var d=c(6),e=c(0),f=c(5),g=c(4);c.d(b,'a',function(){return d.a})},function(){'use strict'},function(a,b,c){'use strict';var e=c(0)},function(a,b,c){'use strict';function e(m,p,q,r,t){let u='__byu-custom-element-template_'+p+'_'+t,v=document.head.querySelector('template#'+u);if(v||(v=document.createElement('template'),v.id=u,v.innerHTML=q,document.head.appendChild(v),ShadyCSS.prepareTemplate(v,p)),ShadyCSS.styleElement)ShadyCSS.styleElement(m);else if(ShadyCSS.applyStyle)ShadyCSS.applyStyle(m);else throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');let x=document.importNode(v.content,!0),y=m.shadowRoot;for(;y.firstChild;)y.removeChild(y.firstChild);y.appendChild(x),setTimeout(function(){g(m,r)})}function f(m,p,q){m.shadowRoot.innerHTML=p,g(m,q)}function g(m,p){m.classList.add(l),p&&p()}b.a=function(m,p,q,r){let t=k()(q),u=m.__byu_webCommunity_components=m.__byu_webCommunity_components||{};u.templateHash===t||(u.templateHash=t,window.ShadyCSS?e(m,p,q,r,t):f(m,q,r))};var j=c(9),k=c.n(j);const l='byu-component-rendered'},function(a,b,c){b=a.exports=c(8)(),b.push([a.i,'/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the "License");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an "AS IS" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License. \r\n */\n/*!\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the "License");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an "AS IS" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url("/byu-hero-banner/dark.png");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center;width:100%}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}',''])},function(a){a.exports=function(){var c=[];return c.toString=function(){for(var g,e=[],f=0;fl?-2*l:l}function f(l,m,p){return Object.keys(m).sort().reduce(function(r,t){return g(r,m[t],t,p)},l)}function g(l,m,p,q){var r=e(e(e(l,p),j(m)),typeof m);return null===m?e(r,'null'):void 0===m?e(r,'undefined'):'object'==typeof m?-1===q.indexOf(m)?(q.push(m),f(r,m,q)):e(r,'[Circular]'+p):e(r,m.toString())}function j(l){return Object.prototype.toString.call(l)}a.exports=function(l){return d(g(0,l,'',[]).toString(16),8)}},function(a,b,c){a.exports='
'}]); //# sourceMappingURL=components.min.js.map diff --git a/dist/components.min.js.map b/dist/components.min.js.map index adf7afa..ba71c39 100644 --- a/dist/components.min.js.map +++ b/dist/components.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["components.js","webpack:/webpack/bootstrap 37843564c863870ec08a","webpack:///~/byu-web-component-utils/lib/matchesSelector.js","webpack:///byu-hero-banner/byu-hero-banner.js","webpack:///byu-hero-banner.js","webpack:///~/byu-web-component-utils/lib/querySelectorSlot.js","webpack:///~/byu-web-component-utils/lib/templating.js","webpack:///byu-hero-banner/byu-hero-banner.scss","webpack:///~/css-loader/lib/css-base.js","webpack:///~/hash-sum/hash-sum.js","webpack:///byu-hero-banner/byu-hero-banner.html"],"names":["installedModules","moduleId","exports","i","l","modules","call","module","__webpack_require__","m","c","value","d","o","name","Object","defineProperty","configurable","enumerable","get","getter","n","__esModule","prototype","hasOwnProperty","object","property","p","s","__webpack_exports__","Element","proto","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","document","ownerDocument","querySelectorAll","indexOf","actual","el","selector","component","shadowRoot","querySelector","imageBox","style","backgroundImage","imageSource","hiddenImage","src","videoSource","includes","getParameterByName","setYoutubeSource","id","setMp4Source","setInterval","player","getCurrentTime","getDuration","seekTo","mute","vidRescale","playVideo","event","data","YT","PlayerState","PLAYING","classList","add","ENDED","window","innerWidth","innerHeight","w","h","setSize","video","left","offsetWidth","createElement","tag","getElementsByTagName","firstScriptTag","parentNode","insertBefore","onYouTubeIframeAPIReady","Player","videoBox","width","height","videoId","playerVars","autoplay","autohide","modestbranding","playsinline","rel","showinfo","controls","disablekb","enablejsapi","iv_load_policy","fs","events","onPlayerReady","onStateChange","display","marginLeft","addEventListener","parentElement","clientWidth","clientHeight","muted","loop","poster","replaceChild","divPlayer","replace","RegExp","regex","exec","url","results","decodeURIComponent","__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__","HTMLElement","constructor","attachShadow","mode","connectedCallback","__WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__","__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default","a","setupSlotListeners","applyImageSource","applyVideoSource","observedAttributes","attributeChangedCallback","attr","ATTR_IMG_SRC","ATTR_VIDEO_SRC","setAttribute","hasAttribute","getAttribute","customElements","define","ByuHeroBanner","__WEBPACK_IMPORTED_MODULE_0__lib_templating__","elementName","sum","head","templateId","templateElement","innerHTML","template","appendChild","ShadyCSS","prepareTemplate","styleElement","element","applyStyle","Error","importNode","content","shadow","firstChild","removeChild","imported","setTimeout","runAfterStamping","callback","TEMPLATE_RENDERED_CLASS","__WEBPACK_IMPORTED_MODULE_0_hash_sum___default","__byu_webCommunity_components","elSettings","templateHash","applyTemplateShady","applyTemplateNative","__WEBPACK_IMPORTED_MODULE_0_hash_sum__","push","list","toString","length","item","result","join","alreadyImportedModules","mediaQuery","hash","len","text","charCodeAt","chr","keys","sort","reduce","foldValue","key","seen","fold","input","foldObject","pad"],"mappings":"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","file":"components.min.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 2);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = matchesSelector;\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nfunction matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(3);\n/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\r\n\r\n\r\n\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-hero-banner', __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default.a, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_byu_hero_banner_js__ = __webpack_require__(1);\n/**\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\n\n\n\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lib_templating__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__lib_matchesSelector__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__ = __webpack_require__(4);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__lib_templating__[\"a\"]; });\n/* unused harmony reexport matchesSelector */\n/* unused harmony reexport querySelectorSlot */\n/* unused harmony reexport createEvent */\n/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nfunction createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__ = __webpack_require__(0);\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\nfunction querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__[\"a\" /* default */])(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = applyTemplate;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hash_sum__);\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nfunction applyTemplate(element, elementName, template, callback) {\n let sum = __WEBPACK_IMPORTED_MODULE_0_hash_sum___default()(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ })\n/******/ ]);\n"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 37843564c863870ec08a","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/matchesSelector.js\n// module id = 0\n// module chunks = 0","/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\"use strict\";\r\n\r\nimport template from './byu-hero-banner.html';\r\nimport * as util from 'byu-web-component-utils';\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n util.applyTemplate(this, 'byu-hero-banner', template, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.js\n// module id = 1\n// module chunks = 0","/**\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\"use strict\";\n\nimport './byu-hero-banner/byu-hero-banner.js';\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner.js\n// module id = 2\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport matches from './matchesSelector.js';\n\nexport default function querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (matches(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/querySelectorSlot.js\n// module id = 5\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport hash from 'hash-sum';\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nexport default function applyTemplate(element, elementName, template, callback) {\n let sum = hash(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/templating.js\n// module id = 6\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.scss\n// module id = 7\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader/lib/css-base.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hash-sum/hash-sum.js\n// module id = 9\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.html\n// module id = 10\n// module chunks = 0"]} \ No newline at end of file +{"version":3,"sources":["components.js","webpack:/webpack/bootstrap 03786fdf595eaceb7ec4","webpack:///~/byu-web-component-utils/lib/matchesSelector.js","webpack:///byu-hero-banner/byu-hero-banner.js","webpack:///byu-hero-banner.js","webpack:///~/byu-web-component-utils/lib/querySelectorSlot.js","webpack:///~/byu-web-component-utils/lib/templating.js","webpack:///byu-hero-banner/byu-hero-banner.scss","webpack:///~/css-loader/lib/css-base.js","webpack:///~/hash-sum/hash-sum.js","webpack:///byu-hero-banner/byu-hero-banner.html"],"names":["installedModules","moduleId","exports","i","l","modules","call","module","__webpack_require__","m","c","value","d","o","name","Object","defineProperty","configurable","enumerable","get","getter","n","__esModule","prototype","hasOwnProperty","object","property","p","s","__webpack_exports__","Element","proto","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","document","ownerDocument","querySelectorAll","indexOf","actual","el","selector","component","shadowRoot","querySelector","imageBox","style","backgroundImage","imageSource","hiddenImage","src","videoSource","includes","getParameterByName","setYoutubeSource","id","setMp4Source","setInterval","player","getCurrentTime","getDuration","seekTo","mute","vidRescale","playVideo","event","data","YT","PlayerState","PLAYING","classList","add","ENDED","window","innerWidth","innerHeight","w","h","setSize","video","left","offsetWidth","createElement","tag","getElementsByTagName","firstScriptTag","parentNode","insertBefore","onYouTubeIframeAPIReady","Player","videoBox","width","height","videoId","playerVars","autoplay","autohide","modestbranding","playsinline","rel","showinfo","controls","disablekb","enablejsapi","iv_load_policy","fs","events","onPlayerReady","onStateChange","display","marginLeft","addEventListener","parentElement","clientWidth","clientHeight","muted","loop","poster","replaceChild","divPlayer","replace","RegExp","regex","exec","url","results","decodeURIComponent","__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__","HTMLElement","constructor","attachShadow","mode","connectedCallback","__WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__","__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default","a","setupSlotListeners","applyImageSource","applyVideoSource","observedAttributes","attributeChangedCallback","attr","ATTR_IMG_SRC","ATTR_VIDEO_SRC","setAttribute","hasAttribute","getAttribute","customElements","define","ByuHeroBanner","__WEBPACK_IMPORTED_MODULE_0__lib_templating__","elementName","sum","head","templateId","templateElement","innerHTML","template","appendChild","ShadyCSS","prepareTemplate","styleElement","element","applyStyle","Error","importNode","content","shadow","firstChild","removeChild","imported","setTimeout","runAfterStamping","callback","TEMPLATE_RENDERED_CLASS","__WEBPACK_IMPORTED_MODULE_0_hash_sum___default","__byu_webCommunity_components","elSettings","templateHash","applyTemplateShady","applyTemplateNative","__WEBPACK_IMPORTED_MODULE_0_hash_sum__","push","list","toString","length","item","result","join","alreadyImportedModules","mediaQuery","hash","len","text","charCodeAt","chr","keys","sort","reduce","foldValue","key","seen","fold","input","foldObject","pad"],"mappings":"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","file":"components.min.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 2);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = matchesSelector;\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nfunction matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(3);\n/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\r\n\r\n\r\n\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-hero-banner', __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_html___default.a, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_hero_banner_byu_hero_banner_js__ = __webpack_require__(1);\n/**\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\n\n\n\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lib_templating__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__lib_matchesSelector__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__ = __webpack_require__(4);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__lib_templating__[\"a\"]; });\n/* unused harmony reexport matchesSelector */\n/* unused harmony reexport querySelectorSlot */\n/* unused harmony reexport createEvent */\n/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nfunction createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__ = __webpack_require__(0);\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\nfunction querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__[\"a\" /* default */])(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = applyTemplate;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hash_sum__);\n/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nfunction applyTemplate(element, elementName, template, callback) {\n let sum = __WEBPACK_IMPORTED_MODULE_0_hash_sum___default()(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(8)();\n// imports\n\n\n// module\nexports.push([module.i, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center;width:100%}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ })\n/******/ ]);\n"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 03786fdf595eaceb7ec4","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/matchesSelector.js\n// module id = 0\n// module chunks = 0","/**\r\n * @license\r\n * Copyright 2017 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n\"use strict\";\r\n\r\nimport template from './byu-hero-banner.html';\r\nimport * as util from 'byu-web-component-utils';\r\n\r\nconst ATTR_IMG_SRC = 'image-source';\r\nconst ATTR_VIDEO_SRC = 'video-source';\r\n\r\nclass ByuHeroBanner extends HTMLElement {\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n //This will stamp our template for us, then let us perform actions on the stamped DOM.\r\n util.applyTemplate(this, 'byu-hero-banner', template, () => {\r\n setupSlotListeners(this);\r\n applyImageSource(this);\r\n applyVideoSource(this);\r\n });\r\n }\r\n\r\n static get observedAttributes() {\r\n return [];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_IMG_SRC:\r\n applyImageSource(this);\r\n break;\r\n case ATTR_VIDEO_SRC:\r\n applyVideoSource(this);\r\n break;\r\n }\r\n }\r\n\r\n set imageSource(value) {\r\n this.setAttribute(ATTR_IMG_SRC, value);\r\n }\r\n\r\n get imageSource() {\r\n if (this.hasAttribute(ATTR_IMG_SRC)) {\r\n return this.getAttribute(ATTR_IMG_SRC);\r\n }\r\n return '';\r\n }\r\n\r\n set videoSource(value) {\r\n this.setAttribute(ATTR_VIDEO_SRC, value);\r\n }\r\n\r\n get videoSource() {\r\n if (this.hasAttribute(ATTR_VIDEO_SRC)) {\r\n return this.getAttribute(ATTR_VIDEO_SRC);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-hero-banner', ByuHeroBanner);\r\nwindow.ByuHeroBanner = ByuHeroBanner;\r\n\r\n// -------------------- Helper Functions --------------------\r\n\r\nfunction applyImageSource(component) {\r\n let imageBox = component.shadowRoot.querySelector('div.image-wrapper');\r\n imageBox.style.backgroundImage = \"url('\" + component.imageSource + \"')\";\r\n // this image is kind of a hack to allow us to use either a css background image\r\n // or an HTML image for different scenarios, depending on which one works best.\r\n let hiddenImage = component.shadowRoot.querySelector('#hidden-image');\r\n hiddenImage.src = component.imageSource;\r\n}\r\n\r\nfunction applyVideoSource(component) {\r\n if (component.videoSource.includes('youtube')) {\r\n let id = getParameterByName('v', component.videoSource);\r\n setYoutubeSource(component, id);\r\n } else if (component.videoSource.includes('.mp4')) {\r\n setMp4Source(component);\r\n }\r\n}\r\n\r\nfunction setYoutubeSource(component, videoId) {\r\n let videoBox = component.shadowRoot.querySelector('#player');\r\n\r\n // Load the YouTube API asynchronously\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/iframe_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n // Create the player object when API is ready\r\n var player;\r\n window.onYouTubeIframeAPIReady = function () {\r\n player = new YT.Player(videoBox, {\r\n width: '100%',\r\n height: '100%',\r\n videoId: videoId,\r\n playerVars: {\r\n autoplay: 1, \r\n autohide: 1,\r\n modestbranding: 1,\r\n playsinline: 1,\r\n rel: 0, \r\n showinfo: 0, \r\n controls: 0,\r\n disablekb: 1,\r\n enablejsapi: 0,\r\n iv_load_policy: 3,\r\n fs: 0\r\n },\r\n events: {\r\n 'onReady': onPlayerReady,\r\n 'onStateChange': onStateChange\r\n }\r\n });\r\n };\r\n\r\n function onPlayerReady(event) {\r\n // Limits the amount of black screen before restarting the video\r\n setInterval(function() {\r\n var i = (player.getCurrentTime()/player.getDuration())*100;\r\n // if the video is at least 99% complete, restart the video\r\n if (i >= 99) player.seekTo(0);\r\n }, 25);\r\n player.mute();\r\n vidRescale(player);\r\n // This forces it to start playing on mobile devices\r\n player.playVideo();\r\n }\r\n \r\n function onStateChange(event) {\r\n switch (event.data) {\r\n case YT.PlayerState.PLAYING:\r\n // Fade out the starting image\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n break;\r\n case YT.PlayerState.ENDED:\r\n // Use this instead of a looped playlist to prevent loading the video again \r\n // limiting a longer black screen in between\r\n player.playVideo(); \r\n break;\r\n }\r\n }\r\n\r\n let video = component.shadowRoot.querySelector('#player');\r\n video.style.display = 'inline';\r\n video.style.marginLeft = 0;\r\n \r\n window.addEventListener('resize', vidRescale);\r\n\r\n function vidRescale() {\r\n var w = window.innerWidth + 300;\r\n var h = window.innerHeight + 300;\r\n if (w / h > 16 / 9) {\r\n player.setSize(w, w / 16 * 9);\r\n } else {\r\n player.setSize(h / 9 * 16, h);\r\n }\r\n video.style.left = (window.innerWidth - video.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n\r\nfunction setMp4Source(component) {\r\n let divPlayer = component.shadowRoot.querySelector('#player');\r\n var video = document.createElement('video');\r\n video.id = 'player';\r\n video.classList.add('screen', 'mute');\r\n video.src = component.videoSource;\r\n video.autoplay = true;\r\n video.controls = false;\r\n video.muted = true;\r\n video.loop = true;\r\n video.poster = component.imageSource;\r\n component.shadowRoot.querySelectorAll('.tv')[0].replaceChild(video, divPlayer);\r\n\r\n vidRescale();\r\n window.addEventListener('resize', vidRescale);\r\n\r\n // Fade the initial image when the video has enough frames to play\r\n video.addEventListener(\"canplay\", function(){\r\n component.shadowRoot.querySelector('#hidden-image').classList.add('hidden');\r\n });\r\n\r\n function vidRescale() {\r\n var w = video.parentElement.clientWidth;\r\n var h = video.parentElement.clientHeight;\r\n if (w / h > 16 / 9) {\r\n video.style.width = '100%';\r\n video.style.height = '';\r\n } else {\r\n video.style.width = '';\r\n video.style.height = '100%';\r\n }\r\n }\r\n}\r\n\r\nfunction getParameterByName(name, url) {\r\n name = name.replace(/[\\[\\]]/g, \"\\\\$&\");\r\n var regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\"), results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\r\n}\r\n\r\nfunction setupSlotListeners(component) {\r\n\r\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.js\n// module id = 1\n// module chunks = 0","/**\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\"use strict\";\n\nimport './byu-hero-banner/byu-hero-banner.js';\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner.js\n// module id = 2\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport matches from './matchesSelector.js';\n\nexport default function querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (matches(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/querySelectorSlot.js\n// module id = 5\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nimport hash from 'hash-sum';\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nexport default function applyTemplate(element, elementName, template, callback) {\n let sum = hash(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/templating.js\n// module id = 6\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License. \\r\\n */\\n/*!\\r\\n * @license\\r\\n * Copyright 2017 Brigham Young University\\r\\n *\\r\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\r\\n * you may not use this file except in compliance with the License.\\r\\n * You may obtain a copy of the License at\\r\\n *\\r\\n * http://www.apache.org/licenses/LICENSE-2.0\\r\\n *\\r\\n * Unless required by applicable law or agreed to in writing, software\\r\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\r\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\r\\n * See the License for the specific language governing permissions and\\r\\n * limitations under the License.\\r\\n */:host{width:100%;max-height:600px;height:600px;overflow:hidden;position:relative;display:flex;justify-content:center}.image-wrapper{height:100%;width:100%}#hidden-image{display:none}.text-wrapper ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif}.text-wrapper .headline ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important}.read-more-link{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.read-more-link ::slotted(.btn),.read-more-link ::slotted(a){font-weight:700!important;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:13px;line-height:1.42857143;border-radius:1px;user-select:none;text-decoration:none!important;min-width:200px;min-height:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.read-more-link ::slotted(.btn:not(:first-child)),.read-more-link ::slotted(a){margin-top:10px;margin-left:10px}:host(.title-only){max-height:400px;height:400px}:host(.title-only) .image-wrapper{background-repeat:no-repeat;background-position:50%;background-size:cover}:host(.title-only) .text-wrapper .headline{font-size:200px!important;position:absolute;left:50%;transform:translateX(-50%);bottom:0;line-height:135px;text-transform:uppercase}:host(.title-only) .text-wrapper .headline ::slotted(*){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;color:#fff}:host(.video-hero) .image-wrapper{position:absolute;top:0;left:0;z-index:200}:host(.video-hero) .text-wrapper{color:#fff;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.video-hero) .text-wrapper .text-inner-wrapper{padding:20px}:host(.video-hero) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.video-hero) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.video-hero) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.video-hero) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.video-hero) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.video-hero) #hidden-image{display:inline;position:absolute;z-index:250}:host(.video-hero) .hidden{opacity:0;transition:opacity 2s ease-in-out}:host(.video-hero) .overlay{position:absolute;z-index:400;width:100%;height:100%;background-image:url(\\\"/byu-hero-banner/dark.png\\\");background-repeat:repeat;background-size:auto}:host(.video-hero) .tv{position:absolute;top:0;left:0;z-index:100;background-color:#000;width:100%;height:100%;overflow:hidden}:host(.video-hero) .tv .screen{position:absolute;top:0;right:0;bottom:0;left:50%;transform:translateX(-50%);z-index:150;margin:auto;opacity:1;transition:opacity .5s}:host(.video-hero) .tv .screen.active{opacity:1}:host(.full-screen) .image-wrapper{background-size:cover;background-position:50%}:host(.full-screen) .text-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:center;text-align:center;box-sizing:border-box;z-index:300}:host(.full-screen) .text-wrapper .text-inner-wrapper{padding:20px}:host(.full-screen) .text-wrapper .headline{font-size:80px;line-height:normal}:host(.full-screen) .text-wrapper .intro-text{margin-top:15px;font-size:18px}:host(.full-screen) .text-wrapper .read-more-link{margin:0 auto;margin-top:50px}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper{background-color:hsla(0,0%,100%,.8)}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .intro-text{color:inherit;margin-top:15px;font-size:18px;line-height:30px}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link{margin-top:20px;align-self:center}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(.btn:hover),:host(.full-screen.light-image) .text-wrapper .text-inner-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.full-screen.dark-image) .text-wrapper .text-inner-wrapper{background:inherit}:host(.full-screen.dark-image) .text-wrapper .headline,:host(.full-screen.dark-image) .text-wrapper .intro-text,:host(.full-screen.dark-image) .text-wrapper .read-more-link{color:#fff}:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.full-screen.dark-image) .text-wrapper .read-more-link ::slotted(a){background-color:#fff!important;color:#002e5d!important}:host(.side-image){background-color:initial;display:flex;margin:0 auto;max-width:1200px;padding:0 16px;box-sizing:border-box;height:auto;align-items:center;justify-content:center}:host(.side-image) .image-wrapper{height:414px;width:100%;background-size:contain;background-repeat:no-repeat;background-position:50%}:host(.side-image) .text-wrapper{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box;margin-left:50px}:host(.side-image) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.side-image) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.side-image) .text-wrapper .read-more-link{margin:0 -10px;margin-top:20px;justify-content:flex-start}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn),:host(.side-image) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.side-image) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.side-image) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay) .image-wrapper{width:100%;height:100%;background-size:cover;background-position:50%}:host(.transparent-overlay) .text-wrapper{height:100%;width:1200px;margin:0 auto;padding:0 16px;box-sizing:border-box;display:flex;justify-content:flex-start;position:absolute;top:0;left:50%;margin-left:-600px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:400px;height:80%;transform:translateY(10%);background-color:hsla(0,0%,100%,.8);padding:0 30px;display:flex;flex-direction:column;justify-content:center;text-align:left;box-sizing:border-box}:host(.transparent-overlay) .text-wrapper .headline{color:#002e5d;font-size:60px;line-height:normal}:host(.transparent-overlay) .text-wrapper .intro-text{margin-top:15px;font-size:18px;line-height:30px}:host(.transparent-overlay) .text-wrapper .read-more-link{margin-top:20px;align-self:center;width:100%}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a){background-color:#002e5d!important;color:#fff!important}:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(.btn:hover),:host(.transparent-overlay) .text-wrapper .read-more-link ::slotted(a:hover){background-color:#00152a!important;border-color:#000306!important}:host(.transparent-overlay.byu-hero-right) .text-wrapper,:host(.transparent-overlay.right) .text-wrapper{justify-content:flex-end}@media (max-width:1440px){:host(.title-only){max-height:320px}:host(.title-only) .text-wrapper .headline{font-size:160px!important;line-height:108px}}@media (max-width:1232px){:host(.title-only){max-height:280px}:host(.title-only) .text-wrapper .headline{font-size:130px!important;line-height:88px}:host(.transparent-overlay) .text-wrapper{width:100%;left:0;margin-left:0}}@media (max-width:1024px){:host(.title-only){max-height:220px}:host(.title-only) .text-wrapper .headline{font-size:98px!important;line-height:66px}:host(.full-screen){height:768px}:host(.full-screen) .text-wrapper .text-inner-wrapper .headline{font-size:55px;line-height:60px}:host(.full-screen) .text-wrapper .text-inner-wrapper .intro-text{font-size:16px}:host(.side-image) .image-wrapper{height:216px}:host(.side-image) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.side-image) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}:host(.transparent-overlay){height:768px}:host(.transparent-overlay) .text-wrapper{height:auto;max-width:100%;width:100%;padding:0;position:absolute;top:inherit;bottom:0;left:0}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper{width:100%;padding:30px;transform:none}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .headline{font-size:35px;line-height:37px}:host(.transparent-overlay) .text-wrapper .text-inner-wrapper .intro-text{font-size:14px;line-height:22px}}@media (max-width:768px){:host(.title-only){max-height:190px}:host(.title-only) .text-wrapper .headline{font-size:78px!important;line-height:52px}}@media (max-width:616px){:host(.title-only){max-height:120px}:host(.title-only) .text-wrapper .headline{font-size:55px!important;line-height:36px}:host(.side-image){height:auto;max-height:none;padding:0;display:block}:host(.side-image) .image-wrapper{background:none!important;height:auto}:host(.side-image) .image-wrapper #hidden-image{display:block;width:100%}:host(.side-image) .text-wrapper{margin-top:20px;margin-left:0;height:auto;padding:0 20px}:host(.side-image) .text-wrapper .read-more-link{margin-top:20px}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.scss\n// module id = 7\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader/lib/css-base.js\n// module id = 8\n// module chunks = 0","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hash-sum/hash-sum.js\n// module id = 9\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./byu-hero-banner/byu-hero-banner.html\n// module id = 10\n// module chunks = 0"]} \ No newline at end of file