{"version":3,"file":"static/chunks/pages/bio/shane-holinde-9c3c0ac6348a03f4.js","mappings":"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","sources":["webpack://_N_E/./node_modules/@mui/system/esm/Container/createContainer.js","webpack://_N_E/./node_modules/@mui/material/esm/Container/Container.js","webpack://_N_E/./node_modules/@mui/system/esm/styled.js","webpack://_N_E/?ba2e","webpack://_N_E/./pages/bio/shane-holinde.js","webpack://_N_E/"],"sourcesContent":["import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"component\", \"disableGutters\", \"fixed\", \"maxWidth\", \"classes\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_capitalize as capitalize, unstable_composeClasses as composeClasses, unstable_generateUtilityClass as generateUtilityClass } from '@mui/utils';\nimport useThemePropsSystem from '../useThemeProps';\nimport systemStyled from '../styled';\nimport createTheme from '../createTheme';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultTheme = createTheme();\nconst defaultCreateStyledComponent = systemStyled('div', {\n name: 'MuiContainer',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`maxWidth${capitalize(String(ownerState.maxWidth))}`], ownerState.fixed && styles.fixed, ownerState.disableGutters && styles.disableGutters];\n }\n});\nconst useThemePropsDefault = inProps => useThemePropsSystem({\n props: inProps,\n name: 'MuiContainer',\n defaultTheme\n});\nconst useUtilityClasses = (ownerState, componentName) => {\n const getContainerUtilityClass = slot => {\n return generateUtilityClass(componentName, slot);\n };\n const {\n classes,\n fixed,\n disableGutters,\n maxWidth\n } = ownerState;\n const slots = {\n root: ['root', maxWidth && `maxWidth${capitalize(String(maxWidth))}`, fixed && 'fixed', disableGutters && 'disableGutters']\n };\n return composeClasses(slots, getContainerUtilityClass, classes);\n};\nexport default function createContainer(options = {}) {\n const {\n // This will allow adding custom styled fn (for example for custom sx style function)\n createStyledComponent = defaultCreateStyledComponent,\n useThemeProps = useThemePropsDefault,\n componentName = 'MuiContainer'\n } = options;\n const ContainerRoot = createStyledComponent(({\n theme,\n ownerState\n }) => _extends({\n width: '100%',\n marginLeft: 'auto',\n boxSizing: 'border-box',\n marginRight: 'auto',\n display: 'block'\n }, !ownerState.disableGutters && {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n // @ts-ignore module augmentation fails if custom breakpoints are used\n [theme.breakpoints.up('sm')]: {\n paddingLeft: theme.spacing(3),\n paddingRight: theme.spacing(3)\n }\n }), ({\n theme,\n ownerState\n }) => ownerState.fixed && Object.keys(theme.breakpoints.values).reduce((acc, breakpointValueKey) => {\n const breakpoint = breakpointValueKey;\n const value = theme.breakpoints.values[breakpoint];\n if (value !== 0) {\n // @ts-ignore\n acc[theme.breakpoints.up(breakpoint)] = {\n maxWidth: `${value}${theme.breakpoints.unit}`\n };\n }\n return acc;\n }, {}), ({\n theme,\n ownerState\n }) => _extends({}, ownerState.maxWidth === 'xs' && {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n [theme.breakpoints.up('xs')]: {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n maxWidth: Math.max(theme.breakpoints.values.xs, 444)\n }\n }, ownerState.maxWidth &&\n // @ts-ignore module augmentation fails if custom breakpoints are used\n ownerState.maxWidth !== 'xs' && {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n [theme.breakpoints.up(ownerState.maxWidth)]: {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n maxWidth: `${theme.breakpoints.values[ownerState.maxWidth]}${theme.breakpoints.unit}`\n }\n }));\n const Container = /*#__PURE__*/React.forwardRef(function Container(inProps, ref) {\n const props = useThemeProps(inProps);\n const {\n className,\n component = 'div',\n disableGutters = false,\n fixed = false,\n maxWidth = 'lg'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = _extends({}, props, {\n component,\n disableGutters,\n fixed,\n maxWidth\n });\n\n // @ts-ignore module augmentation fails if custom breakpoints are used\n const classes = useUtilityClasses(ownerState, componentName);\n return (\n /*#__PURE__*/\n // @ts-ignore theme is injected by the styled util\n _jsx(ContainerRoot, _extends({\n as: component\n // @ts-ignore module augmentation fails if custom breakpoints are used\n ,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other))\n );\n });\n process.env.NODE_ENV !== \"production\" ? Container.propTypes /* remove-proptypes */ = {\n children: PropTypes.node,\n classes: PropTypes.object,\n className: PropTypes.string,\n component: PropTypes.elementType,\n disableGutters: PropTypes.bool,\n fixed: PropTypes.bool,\n maxWidth: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false]), PropTypes.string]),\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n } : void 0;\n return Container;\n}","/* eslint-disable material-ui/mui-name-matches-component-name */\nimport PropTypes from 'prop-types';\nimport { createContainer } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nconst Container = createContainer({\n createStyledComponent: styled('div', {\n name: 'MuiContainer',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`maxWidth${capitalize(String(ownerState.maxWidth))}`], ownerState.fixed && styles.fixed, ownerState.disableGutters && styles.disableGutters];\n }\n }),\n useThemeProps: inProps => useThemeProps({\n props: inProps,\n name: 'MuiContainer'\n })\n});\nprocess.env.NODE_ENV !== \"production\" ? Container.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * Set the max-width to match the min-width of the current breakpoint.\n * This is useful if you'd prefer to design for a fixed set of sizes\n * instead of trying to accommodate a fully fluid viewport.\n * It's fluid by default.\n * @default false\n */\n fixed: PropTypes.bool,\n /**\n * Determine the max-width of the container.\n * The container width grows with the size of the screen.\n * Set to `false` to disable `maxWidth`.\n * @default 'lg'\n */\n maxWidth: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false]), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Container;","import createStyled from './createStyled';\nconst styled = createStyled();\nexport default styled;","\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/bio/shane-holinde\",\n function () {\n return require(\"private-next-pages/bio/shane-holinde.js\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/bio/shane-holinde\"])\n });\n }\n ","import { Typography, Box, Container, Divider } from \"@mui/material\";\nimport Image from \"next/image\";\nimport Page from \"../../component/Page\";\n\nexport default function ShaneHolinde() {\n const lastUpdateEpoch = 1680712522000;\n return (\n \n \n \n \n \n \n \n Shane Holinde\n Outreach Manager\n \n Last updated: {new Date(lastUpdateEpoch).toLocaleDateString()}\n Shane Holinde is a meteorologist who serves as Outreach Manager for Kentucky Mesonet and Kentucky Climate Center. He began working at Mesonet on March 6, 2023 after spending more than 22 years in television, all of those years coming at WBKO-TV in Bowling Green, KY.\n Shane grew up in the small town of Sorgho, located between Owensboro and Henderson, KY. A self-described \"weather geek\", Shane's fascination with meteorology began when he was just a toddler at age two. That's when the Commonwealth was hammered by the \"Great Ohio Valley Blizzard of 1978\". While Shane doesn't remember it, his parents tell him he ran around from window to window in his home, enthralled by the powerful winds and drifting snow. All the while, Shane's mom and dad were trying to get him back in bed in order to stay warm since the power had gone out! Years later, Shane began sharing his love for the weather with fellow elementary school classmates by drawing forecasts on poster board and delivering weather presentations every Friday afternoon. He even held a \"guess the date of the first 1\" snow of the season\" contest each year!\n Fast-forward to college, where Shane attended Western Kentucky University. While there, he became involved in the student produced \"NewsChannel 12\" campus broadcasts as both weather and news anchor. He was also a deejay for WKU's FM radio station, known then as \"New Rock 92\" (now \"Revolution 91.7\"). Shane also served as a meteorology lab assistant for two semesters. He double majored in Broadcasting and Geosciences, receiving his degree in 2002.\n While attending WKU, Shane was hired at WBKO-TV, first as a production assistant before working his way into an on-air role as fill-in weekend weather anchor in Spring 2001. He remained in that role into 2002, interning that Summer at WLKY in Louisville. Upon graduation and completion of his internship, he assumed a full-time position with WBKO, becoming the station's weeknight meteorologist officially in July 2003. From January 2020 until March 2023, Shane served as WBKO's Chief Meteorologist. Shane was recognized for his on-air work numerous times by the Associated Press, winning Best Weather Anchor in TV Division II in 2006, 2007, 2009, and in 2014, with a second-place award in the same category on two other occasions. Shane earned the National Weather Association Seal of Approval in 2006.\n During his time in TV, Shane covered many a severe storm and winter storm for South-Central KY. Among them were the July 2004 Derecho event, the major Christmas Week Winter Storm of 2004, the Super Tuesday Tornado Outbreak of February 2008, the Ice Storm of 2009, exceptional drought and record heat in Summer 2012, the \"snowpocalypse seasons\" of 2015 and 2016, and the deadly, catastrophic Tornado Outbreak of December 2021. Just after 1am on Saturday, Dec. 11, 2021, Shane was broadcasting live when a large tornado rated EF-3 with winds to 165 mph roared into the city of Bowling Green, missing the WBKO studios by only 900 yards, knocking out power to the station and killing 17 people on its march northeastward through the city. It was one of two tornadoes to strike Bowling Green directly, the other being an EF-2 that paralleled I-65 on the city's east side. Shane and his colleague, meteorologist Ethan Emery, provided more than ten consecutive hours of severe weather coverage during that historic event. For his efforts, Shane was awarded a \"key to the city\" by Bowling Green Mayor Todd Alcott in January 2022 and was named a \"Kentucky Colonel\" in November 2022. He was also recognized by U.S. Senator Rand Paul for outstanding community service.\n From 2009-2021, Shane served as an adjunct professor at Western Kentucky University, teaching broadcast meteorology courses part-time. A number of his students went on to become broadcast meteorologists, working in markets such as Minneapolis, Sarasota, Nashville, Louisville, Lexington, and others. Shane has also served as a member of the Board of Directors for the South-Central KY Chapter of the American Red Cross. He has spearheaded a number of fundraisers for the Red Cross in the wake of natural disasters, locally, regionally, and nationally.\n Shane is excited about his new job as Mesonet Outreach Manager. \"It's a chance for me to come full circle, in a sense\" he says. \"I came from a farming family, and I understand how important weather is for agriculture in our state. It also gives me the opportunity to do more research on past weather events and understand climate better.\" As part of his duties, Shane travels the state, educating the public about Mesonet. He also presents to classrooms, grades K-12, talking all things weather and climate!\n Shane lives in Warren County with his wife Brenda, his daughter Nora, two rescued dogs, Ollie and Rosie, and a cat, Jason.\n You can reach Shane at shane.holinde@wku.edu or at (270) 745-4575.\n \n \n\n \n \n );\n}\n","(self[\"webpackChunk_N_E\"] = self[\"webpackChunk_N_E\"] || []).push([[2151],{\n\n/***/ 4288:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"Z\": function() { return /* binding */ Container_Container; }\n});\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\nvar objectWithoutPropertiesLoose = __webpack_require__(3366);\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js\nvar esm_extends = __webpack_require__(7462);\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__(7294);\n// EXTERNAL MODULE: ./node_modules/clsx/dist/clsx.m.js\nvar clsx_m = __webpack_require__(6010);\n// EXTERNAL MODULE: ./node_modules/@mui/utils/capitalize/capitalize.js\nvar capitalize = __webpack_require__(2908);\n// EXTERNAL MODULE: ./node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js\nvar generateUtilityClass = __webpack_require__(5463);\n// EXTERNAL MODULE: ./node_modules/@mui/utils/composeClasses/composeClasses.js\nvar composeClasses = __webpack_require__(8510);\n// EXTERNAL MODULE: ./node_modules/@mui/system/esm/useThemeProps/useThemeProps.js\nvar useThemeProps = __webpack_require__(9628);\n// EXTERNAL MODULE: ./node_modules/@mui/system/esm/styled.js\nvar styled = __webpack_require__(3264);\n// EXTERNAL MODULE: ./node_modules/@mui/system/esm/createTheme/createTheme.js + 1 modules\nvar createTheme = __webpack_require__(8647);\n// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js\nvar jsx_runtime = __webpack_require__(5893);\n;// CONCATENATED MODULE: ./node_modules/@mui/system/esm/Container/createContainer.js\n\n\nconst _excluded = [\"className\", \"component\", \"disableGutters\", \"fixed\", \"maxWidth\", \"classes\"];\n\n\n\n\n\n\n\n\nconst defaultTheme = (0,createTheme/* default */.Z)();\nconst defaultCreateStyledComponent = (0,styled/* default */.Z)('div', {\n name: 'MuiContainer',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`maxWidth${(0,capitalize/* default */.Z)(String(ownerState.maxWidth))}`], ownerState.fixed && styles.fixed, ownerState.disableGutters && styles.disableGutters];\n }\n});\nconst useThemePropsDefault = inProps => (0,useThemeProps/* default */.Z)({\n props: inProps,\n name: 'MuiContainer',\n defaultTheme\n});\nconst useUtilityClasses = (ownerState, componentName) => {\n const getContainerUtilityClass = slot => {\n return (0,generateUtilityClass/* default */.ZP)(componentName, slot);\n };\n const {\n classes,\n fixed,\n disableGutters,\n maxWidth\n } = ownerState;\n const slots = {\n root: ['root', maxWidth && `maxWidth${(0,capitalize/* default */.Z)(String(maxWidth))}`, fixed && 'fixed', disableGutters && 'disableGutters']\n };\n return (0,composeClasses/* default */.Z)(slots, getContainerUtilityClass, classes);\n};\nfunction createContainer(options = {}) {\n const {\n // This will allow adding custom styled fn (for example for custom sx style function)\n createStyledComponent = defaultCreateStyledComponent,\n useThemeProps = useThemePropsDefault,\n componentName = 'MuiContainer'\n } = options;\n const ContainerRoot = createStyledComponent(({\n theme,\n ownerState\n }) => (0,esm_extends/* default */.Z)({\n width: '100%',\n marginLeft: 'auto',\n boxSizing: 'border-box',\n marginRight: 'auto',\n display: 'block'\n }, !ownerState.disableGutters && {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n // @ts-ignore module augmentation fails if custom breakpoints are used\n [theme.breakpoints.up('sm')]: {\n paddingLeft: theme.spacing(3),\n paddingRight: theme.spacing(3)\n }\n }), ({\n theme,\n ownerState\n }) => ownerState.fixed && Object.keys(theme.breakpoints.values).reduce((acc, breakpointValueKey) => {\n const breakpoint = breakpointValueKey;\n const value = theme.breakpoints.values[breakpoint];\n if (value !== 0) {\n // @ts-ignore\n acc[theme.breakpoints.up(breakpoint)] = {\n maxWidth: `${value}${theme.breakpoints.unit}`\n };\n }\n return acc;\n }, {}), ({\n theme,\n ownerState\n }) => (0,esm_extends/* default */.Z)({}, ownerState.maxWidth === 'xs' && {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n [theme.breakpoints.up('xs')]: {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n maxWidth: Math.max(theme.breakpoints.values.xs, 444)\n }\n }, ownerState.maxWidth &&\n // @ts-ignore module augmentation fails if custom breakpoints are used\n ownerState.maxWidth !== 'xs' && {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n [theme.breakpoints.up(ownerState.maxWidth)]: {\n // @ts-ignore module augmentation fails if custom breakpoints are used\n maxWidth: `${theme.breakpoints.values[ownerState.maxWidth]}${theme.breakpoints.unit}`\n }\n }));\n const Container = /*#__PURE__*/react.forwardRef(function Container(inProps, ref) {\n const props = useThemeProps(inProps);\n const {\n className,\n component = 'div',\n disableGutters = false,\n fixed = false,\n maxWidth = 'lg'\n } = props,\n other = (0,objectWithoutPropertiesLoose/* default */.Z)(props, _excluded);\n const ownerState = (0,esm_extends/* default */.Z)({}, props, {\n component,\n disableGutters,\n fixed,\n maxWidth\n });\n\n // @ts-ignore module augmentation fails if custom breakpoints are used\n const classes = useUtilityClasses(ownerState, componentName);\n return (\n /*#__PURE__*/\n // @ts-ignore theme is injected by the styled util\n (0,jsx_runtime.jsx)(ContainerRoot, (0,esm_extends/* default */.Z)({\n as: component\n // @ts-ignore module augmentation fails if custom breakpoints are used\n ,\n ownerState: ownerState,\n className: (0,clsx_m/* default */.Z)(classes.root, className),\n ref: ref\n }, other))\n );\n });\n false ? 0 : void 0;\n return Container;\n}\n// EXTERNAL MODULE: ./node_modules/@mui/material/esm/utils/capitalize.js\nvar utils_capitalize = __webpack_require__(6622);\n// EXTERNAL MODULE: ./node_modules/@mui/material/esm/styles/styled.js\nvar styles_styled = __webpack_require__(1719);\n// EXTERNAL MODULE: ./node_modules/@mui/material/esm/styles/useThemeProps.js\nvar styles_useThemeProps = __webpack_require__(8884);\n;// CONCATENATED MODULE: ./node_modules/@mui/material/esm/Container/Container.js\n/* eslint-disable material-ui/mui-name-matches-component-name */\n\n\n\n\n\nconst Container = createContainer({\n createStyledComponent: (0,styles_styled/* default */.ZP)('div', {\n name: 'MuiContainer',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`maxWidth${(0,utils_capitalize/* default */.Z)(String(ownerState.maxWidth))}`], ownerState.fixed && styles.fixed, ownerState.disableGutters && styles.disableGutters];\n }\n }),\n useThemeProps: inProps => (0,styles_useThemeProps/* default */.Z)({\n props: inProps,\n name: 'MuiContainer'\n })\n});\n false ? 0 : void 0;\n/* harmony default export */ var Container_Container = (Container);\n\n/***/ }),\n\n/***/ 3264:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var _createStyled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(182);\n\nconst styled = (0,_createStyled__WEBPACK_IMPORTED_MODULE_0__/* [\"default\"] */ .ZP)();\n/* harmony default export */ __webpack_exports__[\"Z\"] = (styled);\n\n/***/ }),\n\n/***/ 7659:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/bio/shane-holinde\",\n function () {\n return __webpack_require__(209);\n }\n ]);\n if(false) {}\n \n\n/***/ }),\n\n/***/ 209:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ ShaneHolinde; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5893);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4288);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1953);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1138);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4373);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5675);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_image__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _component_Page__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4374);\n\n\n\n\nfunction ShaneHolinde() {\n const lastUpdateEpoch = 1680712522000;\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_component_Page__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .Z, {\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"] */ .Z, {\n sx: {\n py: 5\n },\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z, {\n sx: {\n p: {\n xs: 1,\n md: 5\n },\n display: \"flex\",\n flexWrap: \"wrap-reverse\"\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z, {\n sx: {\n flex: 1,\n maxWidth: 300,\n mx: \"auto\"\n },\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)((next_image__WEBPACK_IMPORTED_MODULE_1___default()), {\n src: \"/bio/shane-holinde.jpg\",\n width: 300,\n height: 450\n })\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z, {\n sx: {\n flex: 1,\n px: {\n xs: 1,\n md: 5\n },\n minWidth: 400\n },\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z, {\n variant: \"h2\",\n children: \"Shane Holinde\"\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z, {\n variant: \"h3\",\n children: \"Outreach Manager\"\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_6__/* [\"default\"] */ .Z, {\n sx: {\n my: 2\n }\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z, {\n variant: \"caption\",\n paragraph: true,\n children: [\n \"Last updated: \",\n new Date(lastUpdateEpoch).toLocaleDateString()\n ]\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z, {\n paragraph: true,\n children: \"Shane Holinde is a meteorologist who serves as Outreach Manager for Kentucky Mesonet and Kentucky Climate Center. He began working at Mesonet on March 6, 2023 after spending more than 22 years in television, all of those years coming at WBKO-TV in Bowling Green, KY.\"\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z, {\n paragraph: true,\n children: 'Shane grew up in the small town of Sorgho, located between Owensboro and Henderson, KY. A self-described \"weather geek\", Shane\\'s fascination with meteorology began when he was just a toddler at age two. That\\'s when the Commonwealth was hammered by the \"Great Ohio Valley Blizzard of 1978\". While Shane doesn\\'t remember it, his parents tell him he ran around from window to window in his home, enthralled by the powerful winds and drifting snow. All the while, Shane\\'s mom and dad were trying to get him back in bed in order to stay warm since the power had gone out! Years later, Shane began sharing his love for the weather with fellow elementary school classmates by drawing forecasts on poster board and delivering weather presentations every Friday afternoon. He even held a \"guess the date of the first 1\" snow of the season\" contest each year!'\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z, {\n paragraph: true,\n children: 'Fast-forward to college, where Shane attended Western Kentucky University. While there, he became involved in the student produced \"NewsChannel 12\" campus broadcasts as both weather and news anchor. He was also a deejay for WKU\\'s FM radio station, known then as \"New Rock 92\" (now \"Revolution 91.7\"). Shane also served as a meteorology lab assistant for two semesters. He double majored in Broadcasting and Geosciences, receiving his degree in 2002.'\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z, {\n paragraph: true,\n children: \"While attending WKU, Shane was hired at WBKO-TV, first as a production assistant before working his way into an on-air role as fill-in weekend weather anchor in Spring 2001. He remained in that role into 2002, interning that Summer at WLKY in Louisville. Upon graduation and completion of his internship, he assumed a full-time position with WBKO, becoming the station's weeknight meteorologist officially in July 2003. From January 2020 until March 2023, Shane served as WBKO's Chief Meteorologist. Shane was recognized for his on-air work numerous times by the Associated Press, winning Best Weather Anchor in TV Division II in 2006, 2007, 2009, and in 2014, with a second-place award in the same category on two other occasions. Shane earned the National Weather Association Seal of Approval in 2006.\"\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z, {\n paragraph: true,\n children: 'During his time in TV, Shane covered many a severe storm and winter storm for South-Central KY. Among them were the July 2004 Derecho event, the major Christmas Week Winter Storm of 2004, the Super Tuesday Tornado Outbreak of February 2008, the Ice Storm of 2009, exceptional drought and record heat in Summer 2012, the \"snowpocalypse seasons\" of 2015 and 2016, and the deadly, catastrophic Tornado Outbreak of December 2021. Just after 1am on Saturday, Dec. 11, 2021, Shane was broadcasting live when a large tornado rated EF-3 with winds to 165 mph roared into the city of Bowling Green, missing the WBKO studios by only 900 yards, knocking out power to the station and killing 17 people on its march northeastward through the city. It was one of two tornadoes to strike Bowling Green directly, the other being an EF-2 that paralleled I-65 on the city\\'s east side. Shane and his colleague, meteorologist Ethan Emery, provided more than ten consecutive hours of severe weather coverage during that historic event. For his efforts, Shane was awarded a \"key to the city\" by Bowling Green Mayor Todd Alcott in January 2022 and was named a \"Kentucky Colonel\" in November 2022. He was also recognized by U.S. Senator Rand Paul for outstanding community service.'\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z, {\n paragraph: true,\n children: \"From 2009-2021, Shane served as an adjunct professor at Western Kentucky University, teaching broadcast meteorology courses part-time. A number of his students went on to become broadcast meteorologists, working in markets such as Minneapolis, Sarasota, Nashville, Louisville, Lexington, and others. Shane has also served as a member of the Board of Directors for the South-Central KY Chapter of the American Red Cross. He has spearheaded a number of fundraisers for the Red Cross in the wake of natural disasters, locally, regionally, and nationally.\"\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z, {\n paragraph: true,\n children: 'Shane is excited about his new job as Mesonet Outreach Manager. \"It\\'s a chance for me to come full circle, in a sense\" he says. \"I came from a farming family, and I understand how important weather is for agriculture in our state. It also gives me the opportunity to do more research on past weather events and understand climate better.\" As part of his duties, Shane travels the state, educating the public about Mesonet. He also presents to classrooms, grades K-12, talking all things weather and climate!'\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_mui_material__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z, {\n paragraph: true,\n children: \"Shane lives in Warren County with his wife Brenda, his daughter Nora, two rescued dogs, Ollie and Rosie, and a cat, Jason.\"\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_mui_material__WEBPACK_IMPORTED_MODULE_5__/* [\"default\"] */ .Z, {\n paragraph: true,\n children: [\n \"You can reach Shane at \",\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"a\", {\n href: \"mailto:shane.holinde@wku.edu\",\n target: \"_blank\",\n children: \"shane.holinde@wku.edu\"\n }),\n \" or at (270) 745-4575.\"\n ]\n })\n ]\n })\n ]\n })\n })\n });\n}\n\n\n/***/ })\n\n},\n/******/ function(__webpack_require__) { // webpackRuntimeModules\n/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }\n/******/ __webpack_require__.O(0, [6770,9412,4374,9774,2888,179], function() { return __webpack_exec__(7659); });\n/******/ var __webpack_exports__ = __webpack_require__.O();\n/******/ _N_E = __webpack_exports__;\n/******/ }\n]);"],"names":["self","push","__unused_webpack_module","__webpack_exports__","__webpack_require__","d","Container_Container","objectWithoutPropertiesLoose","esm_extends","react","clsx_m","capitalize","generateUtilityClass","composeClasses","useThemeProps","styled","createTheme","jsx_runtime","_excluded","defaultTheme","Z","defaultCreateStyledComponent","name","slot","props","styles","ownerState","root","String","maxWidth","fixed","disableGutters","useThemePropsDefault","inProps","useUtilityClasses","componentName","getContainerUtilityClass","ZP","classes","slots","utils_capitalize","styles_styled","styles_useThemeProps","Container","createContainer","options","createStyledComponent","ContainerRoot","theme","width","marginLeft","boxSizing","marginRight","display","paddingLeft","spacing","paddingRight","breakpoints","up","Object","keys","values","reduce","acc","breakpointValueKey","value","unit","Math","max","xs","forwardRef","ref","className","component","other","jsx","as","_createStyled__WEBPACK_IMPORTED_MODULE_0__","__unused_webpack_exports","window","__NEXT_P","r","ShaneHolinde","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","_mui_material__WEBPACK_IMPORTED_MODULE_3__","_mui_material__WEBPACK_IMPORTED_MODULE_4__","_mui_material__WEBPACK_IMPORTED_MODULE_5__","_mui_material__WEBPACK_IMPORTED_MODULE_6__","next_image__WEBPACK_IMPORTED_MODULE_1__","next_image__WEBPACK_IMPORTED_MODULE_1___default","n","_component_Page__WEBPACK_IMPORTED_MODULE_2__","children","sx","py","jsxs","p","md","flexWrap","flex","mx","src","height","px","minWidth","variant","my","paragraph","Date","toLocaleDateString","href","target","O","s","_N_E"],"sourceRoot":""}