What you need to know (and love) about Dauphin Island, Alabama (2023)

Yahoo News

Recorder

Correspondence

Recorderto see your email

(Video) Dauphin Island, AL Daytrip; Stories Across America
  • News
  • ONS
  • Policy
  • World
  • COVID 19
  • Climate change
  • Health
  • Science
  • Originals
    • 360
    • Podcast Skullduggery
    • underground land
  • contact us
      {promoMarkup}{notifMarkup}

    {notificationCenterNavMsg}

    ',panelEmptyTemplate='

  • {emptyPanelMsg}

  • ',panelErrorTemplate='

    {errorMsg}

    ',panelParentTemplate='

    ',notifOnboardPromoTemplate='

  • What you need to know (and love) about Dauphin Island, Alabama (3)

    {notifOnboardMsg}

    (Video) LOTS OF FIRSTS | Ferry to Dauphin Island, Alabama

  • ',EXPANDED_PANEL="rozszerzony_panel",ERROR_PANEL="panel_błędu",NotificationView=function(){função e(n,t){classCallCheck(this,e);var i=this;i._config=n,i._panelNode= null,i._store=t}zwróć createClass(e,[{key:"_generatePanelMarkup",value:function(e,n){var t=this._config,i=void 0,o=void 0;"indefinido" !=typevenster&&(i=window.Notification&&"default"===window.Notification.permission,o=t.promos.bypassEligibleClassCheck||hasClass(document.body,t.promos.eligibleBodyClass));var s=t.promos .enableNotifOnboard&&i&&o?notifOnboardPromoTemplate:"";if(s){var r=t.promos.showYahooLogo?"":"yns-no-logo";s=s.replace("{notifOnboardBtnLabel}",t.promos.notifOnboardBtnLabel .replace("{notifOnboardMsg}",t.promos.notifOnboardMsg).replace("{subscriptionTopic}",t.promos.subscriptionTopic).replace("{noLogoClass}",r).replace("{promoLogo} ", t.promos.promoLogo)}var a=n.newCount>t.panel.maxCount?n.newCount:"",c=t.panel.notificationCenterPath,l=c?"":constants.panelHideElement,d= t. panel.headerMsg?"":" "+constants.panelHideElement,u=c?constants.panelPaddingBtm:"",p=void 0;n.count?p=n.markup:p=panelEmptyTemplate.replace("{ emptyPanelMsg} ",t.panel.emptyPanelMsg);return e=e.replace("{notifMarkup}",p).replace("{promoMarkup}",s).replace("{hideClass}",l).replace(" {notifCenterLink}",c).replace("{paddingClass}",u).replace("{headerMsg}",t.panel.headerMsg).replace("{hideHeaderClass}",d).replace(/ {notificationCenterNavMsg }/g,t.panel.notificationCenterNavMsg).replace(/{newCount}/g,a)}},{key:"render",value:function(e,n){var t=to;if( t. _panelNode){var i=leegte 0,o=t._panelNode,s=leegte 0,r=leegte 0;switch(e){case EXPANDED_PANEL:i=panelTemplate,r=t._store.getNotifications(),s =t ._generatePanelMarkup(i,r),o.innerHTML=s;break;case ERROR_PANEL:s=(i=panelErrorTemplate).replace("{errorMsg}",t._config.panel.errorMsg),o.innerHTML= s} n&&n()}else n&&n(new Error("Sem painel pai"))}},{key:"createPanelParentNode",value:function(e){e&&(e.innerHTML=panelParentTemplate, this._panelNode=document. getElementById( fixeds.panelNodeId))}},{key:"updateBadgeNode",value:function(e){if(e){var n=this._store.getNotifications().newCount,t=this._config.badge. maxCount;if(n){var i=n>t?t+"+":n;e.innerHTML=i}else e.innerHTML=""}}},{klucz:"addStyles",wartość:funkcja(e ){if(e&&"undefined"!=typevenster){var n=document.getElementById(this._config.panel.styleTagId);n||((n=document.createElement("estilo")).type=" texto /css",n.id=this._config.panel.styleTagId,n.innerText=e,document.head.appendChild(n)}}}]),e}(),EXPANDED_PANEL$1="rozszerzony_panel", ERROR_PANEL $1 ="error_panel",PanelController=function(){funkcja e(n,t,i){classCallCheck(this,e);var o=this;o._store=t,o._view=i,o._config = n ;var s=o._config.panel;o._panelParentNode=document.querySelector(s.parentSelector),o._badgeNode=o._config.badge.selector&&document.querySelector(o._config.badge.selector),o. _indicatorNode=s.indicatorSelector&&document.querySelector(s.indicatorSelector)}zwróć createClass(e,[{key:"createPanelParentNode",value:function(){this._view.createPanelParentNode(this._panelParentNode),this._notifPanelNode=document.getElementById (constants.panelNodeId)}},{chave:"refreshPanelNode",value:function(e,n){var t=this;addClass(t._notifPanelNode,constants.panelLoading),t._store.fetchNotifications(e,(função (e,i){var o=window.wafer&&window.wafer.baseo&&o.destroy(t._notifPanelNode),e?t._notifPanelNode.innerHTML||(t._view.render(ERROR_PANEL$1),addClass(t. _notifPanelNode, fixeds.panelLoading)):(t._view.render(EXPANDED_PANEL$1),t._view.updateBadgeNode(t._badgeNode),t._showBadge(),t._showIndicator(),t._view.addStyles(i.css) ),removeClass(t._notifPanelNode,constants.panelLoading),o&&o.sync(t._notifPanelNode.parentNode),n&&n(e,i)}))}},{klucz:"resetBadge",wartość:funkcja() {var e=dit;e._store.resetNewCount(),e._view.updateBadgeNode(e._badgeNode),addClass(e._badgeNode,e._config.badge.hideClass)}},{klucz:"_showIndicator",wartość:funkcja (){this._indicatorNode&&(this._store.getNotifications().newCount?addClass(this._indicatorNode,this._config.panel.indicatorClass):removeClass(this._indicatorNode,this._config.panel.indicatorClass))}}, {key:"_showBadge",value:function(){var e=this;e._store.getNotifications().newCount?removeClass(e._badgeNode,e._config.badge.hideClass):addClass(e._badgeNode ,e ._config.badge.hideClass)}}]),e}(),config={promos:{eligibleBodyClass:"display-push-promos",enableNotifOnboard:!0,bypassEligibleClassCheck:!1,notifOnboardBtnLabel:"Możesz zrobić hoogte ",notifOnboardMsg:"Otrzymaj powiadomienie dla wszystkich nowych użytkowników na szczycie",promoLogo:"https://s.yimg.com/cv/apiv2/ae/news/circle_bell.png",showYahooLogo:!0,subscriptionTopic:" gondor_homerun_news "},badge:{hideClass:"",maxCount:5,selector:""},panel:{emptyPanelMsg:"Uwaga nie jest dostępna.",errorMsg:"",headerMsg:"Powiadomienia",imageTag:" img :40x40|2|80",indicatorClass:"yns-indicator",indicatorSelector:null,maxCount:6,notificationCenterNavMsg:"Obecnie jako {newCount} powiadomienia",notificationCenterPath:"",notificationTypes:"",parentSelector:null , styleTagId:"notificationStyles",theme:"default"},service:{attemptCount:1,attemptDelay:2,url:null,resetUrl:null,isRMP:!1,responseType:"json",timeout:1500}}, Principal = function(){função e(n){classCallCheck(this,e);var t=this;t.config=t._parseConfig(n),t._validateRequiredConfigs()&&(t._request=new NotificationRequest(t . config ),t._store=nieuwe NotificationStore(t.config,t._request),t._view=nieuwe NotificationView(t.config,t._store),t._panelController=nieuwe PanelController(t.config,t._store, t ._view),t._panelController.createPanelParentNode(),t._assignHelperMethods())}zwróć createClass(e,[{key:"_parseConfig",value:function(e){var n={};for(var t w objectAssign(n,config),n)if(n.hasOwnProperty(t)){var i=n[t],o=e[t];"obiekt"===(void 0===i?" undefined ":_typeof(i))?objectAssign(i,o):n[t]=e[t]}return n}},{key:"_validateRequiredConfigs",value:function(){var e=this.config ; return!(!e.panel.parentSelector||!e.service.url)}},{key:"_assignHelperMethods",value:function(){var e=this;e.helpers={refreshPanelNode:e._panelController odświeżPanelNode.bind(e._panelController),resetBadge:e._panelController.resetBadge.bind(e._panelController),resetIndicator:function(){removeClass(e._panelController._indicatorNode,e.config.panel.indicatorClass)}}} } ]),e}(),notificationClient_module_min=Main,notificationClient={NotificationClient:notificationClient_module_min},CONSUMPTION_STORAGE_KEY="lnct",NotifClient=function(){função e(){var e,n;this.personalized=!1, this.ybarElem=document.getElementById("ybar"),this.partnerClasses=null===(n=null===(e=this.ybarElem)||void 0===e?void 0:e.className ) ||void 0===n?void 0:n.match(/ybar-variant-([a-z]*)/),this.client=nowe powiadomienieClient.NotificationClient(this.getConfig())}return e. prototype .refreshPanel=function(){var e,n,t,i=this,o={lastUpdate:this.getTimeStamp()||this.setTimeStamp(),loadInHpViewer:!0,includePersonalized:this.personalized},s = (null===(e=window.YAHOO)||void 0===e?void 0:e.context)||(null===(n=window.Af)||void 0=== n ?void 0:n.context)||{};return s.region&&s.lang&&(o.lang=s.lang,o.region=s.region),(null===(t=this.partnerClasses) | |void 0===t?void 0:t.length)&&(o.partner=this.partnerClasses[1]),new Promise((function(e,n){i.client.helpers.refreshPanelNode({matrixParams :o},(function(t,i){t&&(logError("Vernieuwingsfout fusão:",t),n(t)),e(i)}))}))},e.prototype.resetBadge= funkcja (){this.client.helpers.resetBadge(),this.setTimeStamp()},e.prototype.getConfig=function(){var e,n,t,i,o,s={promocje:{eligibleBodyClass: " display-push-promos",enableNotifOnboard:!0},badge:{selector:"#notif-badge",hideClass:"ybar-notification-hidden"},panel:{emptyPanelMsg:"Jeżeli nie masz połączenia." ,errorMsg: "Kom later terug.",headerMsg:"Notificaties",maxCount:5,parentSelector:"#ybarNotificationBody",notificationTypes:"breakingNews"},service:{url:"/tdv2_fp/api/resource/NotificationHistory. getHistory ",isRMP:!1}},r=document.getElementById("kontener-powiadomień"),a=null===(e=null==r?void 0:r.dataset)||void 0== = e?void 0:e.config,c={};if(a){"att"===(null===(n=this.partnerClasses)||void 0===n?void 0: n [1])&&(s.promos.showYahooLogo=!1);spróbuj{var l=JSON.parse(a);c=__assign({},l),this.personalized=1===l.personalize } catch(e){logError("Błąd analizy konfiguracji powiadomień",e)}r&&delete r.dataset.config}var d=this.mergeConfigs(s,c);return(null===(t=this. partnerClasses) | |void 0===t?void 0:t.length)&&"yahoo"!==(null===(i=this.partnerClasses)||void 0===i?void 0:i [1 ] )&&(null===(o=d.promos)||void 0===o?void 0:o.subscriptionTopic)&&verwijderen d.promos.subscriptionTopic,d},e.prototype.mergeConfigs=function (e , n){var t=__toewijzen({},e);for(var i in e)t[i]=__toewijzen(__toewijzen({},e[i]),n[i]);retornar t }, e.prototype.getTimeStamp=function(){var e;return null===(e=window.localStorage)||void 0===e?void 0:e.getItem(CONSUMPTION_STORAGE_KEY)},e.prototype .setTimeStamp = functie(){var e,n=""+Math.floor((ostatnie dane).getTime()/1e3);return null===(e=window.localStorage)||void 0=== e| |e.setItem(CONSUMPTION_STORAGE_KEY,n),n},e}();nieuwe NotifClient;var reInit=function(){nieuwe NotifClient},ybarRapid,ybarRapidInterval,ybarRapidErrMsg="",beaconQueue=[],noop=function( ){},logRapidError=function(){window.removeEventListener("beforeunload",logRapidError),""!==ybarRapidErrMsg&&logError("Szybki brak dostępu do strony",new Error(ybarRapidErrMsg))},findRapidWithSpaceid=function(e) {var n=void 0;if(e&e.comprimento>0)for(var t=0;t

    0){if(ybarRapid.addModules(o,!1,i),beaconQueue.length>0)for(e=0;e90&&fireImageBeacon("wydajność",e)}catch(e){}}),1e3)})}},measureInit=measure("ybar-init");initYbar(),measureInit.stop(),initPerformanceMetricsBeaconListener(), initRapid(),initErrorBeaconListener();var selected$1="_yb_1emv3",Css$9={"right-item":"_yb_5gsz1",selected:selected$1,"ybar-mod-topnavigation":"_yb_n7tvm","ybar- mod-topnavigation-teaser-imp":"_yb_7ahee"},DOCUMENT_NODE_TYPE=9;if("undefined"!=typeelement&&!Element.prototype.matches){var proto=Element.prototype;proto.matches=proto.matchesSelector| |proto.mozMatchesSelector||proto.msMatchesSelector||proto.oMatchesSelector||proto.webkitMatchesSelector}função dichtstbijzijnde(e,n){for(;e&e.nodeType!==DOCUMENT_NODE_TYPE;){if("função"==typ de e .matches&&e.matches(n))return e;e=e.parentNode}}var dichtstbijzijnde_1=dichtstbijzijnde;function _delegate(e,n,t,i,o){var s=listener.apply(this,arguments); return e.addEventListener(t,s,o),{destroy:function(){e.removeEventListener(t,s,o)}}}função gedelegeerd(e,n,t,i,o){return"function" = =typeof e.addEventListener?_delegate.apply(null,arguments):"function"==typeof t?_delegate.bind(null,document).apply(null,arguments):("string"==typ e&&(e = document.querySelectorAll(e)),Array.prototype.map.call(e,(function(e){return _delegate(e,n,t,i,o)}))}}função luisteraar(e,n, t,i){return function(t){t.delegateTarget=najbliższy_1(t.target,n),t.delegateTarget&&i.call(e,t)}}var delegatie_1=delegat,ListNode=function(e){this. data =e,this.next=null,this.prev=null},LinkedList=funkcja(){zabawa e(){this.head=null,this.tail=null}terug e.prototype.push=funkcja(e ) {var n=new ListNode(e);return this.head?this.tail?(n.prev=this.tail,this.tail.next=n,this.tail=n):(this.tail=n , this.tail.prev=this.head, this.head.next=this.tail):(this.head=n,n.next=this.tail),n},e.prototype.size=funkcja() { for(var e=0,n=deze.kop;n;)e+=1,n=n.volgende;retour e},e.prototype.getHead=function(){retourneer deze.kop},e.prototype . getTail=funkcja(){geef deze.staart terug},e.prototype.get=funkcja(e){if(e>=deze.grootte())retour null;for(var n=0,t=deze.kop ;(null==t?void 0:t.następny)&&n0&&Array.prototype.forEach.call(e,(function(e){e.onerror=function(){e.onerror=null,e.style.display="none"}}))},fixLogoOutline=function(e,n){e&&(hideOutlineOnMouseDown("#ybar-logo","#ybar-logo",n),n.onDestroy((function(){e.classList.remove("ybar-show-outline"),e.classList.remove("ybar-hide-outline")})))},logoClick=function(e,n){n&&e.addElementListener(n,"click",(function(){e.triggerEvent("logo-click")}))},init$3=function(e,n){n.logoImages&&hideLogosOnError(n.logoImages),n.wrapper&&(fixLogoOutline(n.wrapper,e),logoClick(e,n.wrapper))};initModule("ybar-mod-logo",(function(e){var n={wrapper:document.getElementById("ybar-logo"),logoImages:document.querySelectorAll(".".concat(Css$6["logo-image"]))};init$3(e,n)}));var overlay="_yb_1qvdb",tooltip="_yb_fsneg",tooltip__text="_yb_1dy5t",tooltip__voice="_yb_1nnh7",tooltip__web="_yb_6wzok",dark="_yb_1oang",darker="_yb_ioe4l",light="_yb_gmc3t",midnight60="_yb_aqc2u",Css$5={"dropdown-open":"_yb_3zjc2","merchant-is-selected":"_yb_ee6xo",overlay:overlay,"selected-merchant-clear-button":"_yb_nom6l","shops-buttons":"_yb_1eeps","styled-select":"_yb_1pwnj",tooltip:tooltip,"tooltip--show":"_yb_7brwc",tooltip__text:tooltip__text,tooltip__voice:tooltip__voice,tooltip__web:tooltip__web,dark:dark,darker:darker,light:light,midnight60:midnight60},range=function(e,n){var t=Math.max(e,n),i=Math.min(e,n),o=Math.abs(t-i);return __spreadArray([],__read(new Array(o+1)),!1).map((function(e,n){return i+n}))},openSearchOverlay=function(e,n,t){var i=e.getConfig().bucketConfig,o=(void 0===i?{}:i).enable_search_ui,s=void 0!==o&&oif(n.ybar){n.ybar.classList.add("ybar-searchbox-assist-fullscreen"),document.documentElement.classList.add("ybar-overlay"),document.body.classList.add("ybar-overlay-noscroll");beaconClick("ybar","websrch","",{elm:"expand",subsec:"searchbox",itc:"1"}),setTimeout((function(){n.searchInput instanceof HTMLInputElement&&(t&&(n.searchInput.value=t),n.searchInput.focus(),s&&n.searchInput.click())}))}},closeSearchOverlay=function(e){var n;null===(n=e.ybar)||void 0===n||n.classList.remove("ybar-searchbox-assist-fullscreen"),document.documentElement.classList.remove("ybar-overlay"),document.body.classList.remove("ybar-overlay-noscroll"),e.searchInput instanceof HTMLInputElement&&(e.searchInput.value="",e.searchInput.blur())},initMweb=function(e,n){"smartphone"===e.getConfig().device&&(e.addElementListener(n.searchBoxPlaceholder,"click",(function(){openSearchOverlay(e,n)})),e.addElementListener(n.searchBoxPlaceholder,"keydown",(function(t){var i=t,o=i.keyCode,s=i.key,r=range(65,90),a=__spreadArray(__spreadArray([],__read(range(58,57)),!1),__read(range(96,105)),!1),c=__spreadArray(__spreadArray([],__read(r),!1),__read(a),!1).includes(o);(32===o||13===o||c)&&(t.preventDefault(),t.stopPropagation(),openSearchOverlay(e,n,c?s:""))})),n.searchBoxBackButton&&(e.addElementListener(n.searchBoxBackButton,"click",(function(e){e.stopPropagation(),closeSearchOverlay(n);beaconClick("ybar","back-close-srch","",{elm:"btn",subsec:"searchbox",itc:"1"})})),e.addElementListener(n.searchInput,"keyup",(function(e){e.stopPropagation();27===e.keyCode&&(e.stopPropagation(),closeSearchOverlay(n))}))),e.addEventListener("viewerClosed",(function(){closeSearchOverlay(n)})),e.onDestroy((function(){closeSearchOverlay(n)})))},Tooltip=function(){function e(e,n,t){n&&(this.ybar=e,this.elem=n,this.options=t,this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.addEventListeners())}return Object.defineProperty(e.prototype,"tooltip",{get:function(){var e=this;return this.tooltipMarkup||(this.tooltipMarkup=this.createTooltip(),(this.options.tooltipParentElm||this.elem).appendChild(this.tooltipMarkup),this.ybar.onDestroy((function(){var n,t;null===(t=null===(n=e.tooltipMarkup)||void 0===n?void 0:n.parentNode)||void 0===t||t.removeChild(e.tooltipMarkup)}))),this.tooltipMarkup},enumerable:!1,configurable:!0}),e.prototype.show=function(){this.tooltip.classList.add(this.options.showClass)},e.prototype.hide=function(){this.tooltip.classList.remove(this.options.showClass)},e.prototype.addEventListeners=function(){this.ybar.addElementListener(this.elem,"mouseenter",this.show),this.ybar.addElementListener(this.elem,"focus",this.show),this.ybar.addElementListener(this.elem,"mouseleave",this.hide),this.ybar.addElementListener(this.elem,"blur",this.hide)},e.prototype.createTooltip=function(){var e=document.createElement("div");e.className=this.options.containerClass||"";var n=document.createElement("p");return n.textContent=this.options.label,n.className=this.options.textClass||"",e.appendChild(n),e},e}();createCommonjsModule((function(module){(function(){var __webpack_modules__={"./src/index.js":/*!**********************!*\ !*** ./src/index.js ***! \**********************/function(__unused_webpack_module,__unused_webpack_exports,__webpack_require__){eval("var I18n = __webpack_require__(/*! ./lib/I18n */ \"./src/lib/I18n.js\");\n\n(function (win, doc) {\n \"use strict\";\n\n var defaultConfig = {\n uiLang: 'en-US',\n speechLang: 'en-US',\n voiceButton: '#voice-btn',\n searchBox: {\n form: '#sf',\n input: '#yschsp',\n params: {\n fr: '',\n fr2: ''\n }\n },\n enable_voice_trending: false,\n trending: {\n market: \"en-us\"\n },\n ui: {\n speechOverlay: {\n disableBlur: false\n }\n },\n browsers: {\n edge: false\n }\n };\n\n function VoiceSearch(config) {\n var self = this;\n self.config = Object.assign(defaultConfig, config || {});\n self.i18n = new VoiceSearch.I18n({\n lang: self.config.uiLang\n });\n self.renderPermissionGuide(self);\n self.renderSpeechPanel(self);\n self.speechResult = '';\n self.noSpeech = true;\n self.isRecognitionStart = false;\n self.recognition = null;\n self.voiceButton = doc.querySelector(self.config.voiceButton);\n self.searchBoxForm = doc.querySelector(self.config.searchBox.form);\n self.searchBoxQuery = doc.querySelector(self.config.searchBox.input);\n self.speechPanel = doc.querySelector('#spch');\n self.speechButtonContainer = doc.querySelector('#spchbc');\n self.speechButton = doc.querySelector('#spchbc-btn');\n self.speechText = doc.querySelector('#spcht');\n self.speechOverlay = doc.getElementById('spch-overlay');\n self.retryLink = doc.querySelector('#spcht-retry');\n self.trending = doc.getElementById('spch-trending');\n self.trendingTerms = doc.getElementById('trending-terms');\n self.termSpans = doc.getElementsByClassName(\"trending-term\");\n self.closeButton = doc.querySelector('#spchx');\n self.startAudio = new Audio('https://s.yimg.com/pv/static/misc/voice-start-202105050733.wav');\n self.resultAudio = new Audio('https://s.yimg.com/pv/static/misc/voice-result-202105050733.wav');\n self.errorAudio = new Audio('https://s.yimg.com/pv/static/misc/voice-error-202105050733.wav');\n self.closeAudio = new Audio('https://s.yimg.com/pv/static/misc/voice-close-202105050733.wav');\n self.permissionGuide = doc.querySelector('#spchp');\n self.permissionGuideClose = doc.querySelector('#spchpx');\n self.permissionGuideTimer = null;\n\n self.onEscKeyDown = function (e) {\n if (e.code !== 'Escape') {\n return;\n }\n\n self.recognition.stop();\n self.sendBeacon('keybrd', 'voicesearch_cancel_esc'); // The clean up should put inside closePanel() instead of here,\n // or func won't be cleaned up if user close panel with btn or overlay\n\n self.closePanel(self);\n };\n\n if (self.isBrowserSupported()) {\n var SpeechRecognition = win.SpeechRecognition || win.webkitSpeechRecognition;\n var SpeechGrammarList = win.SpeechGrammarList || win.webkitSpeechGrammarList;\n var speechGrammar = '#JSGF V1.0;';\n self.recognition = new SpeechRecognition();\n var speechRecognitionList = new SpeechGrammarList();\n\n if (speechRecognitionList.addFromString) {\n speechRecognitionList.addFromString(speechGrammar, 1);\n }\n\n self.recognition.grammars = speechRecognitionList;\n self.recognition.continuous = false;\n self.recognition.lang = self.config.speechLang;\n self.recognition.interimResults = false;\n self.recognition.maxAlternatives = 1;\n /* Listeners */\n\n if (self.voiceButton) {\n self.voiceButton.onclick = function () {\n self.recognition.start();\n\n if (self.permissionGuideTimer) {\n win.clearTimeout(self.permissionGuideTimer);\n }\n\n self.permissionGuideTimer = win.setTimeout(function () {\n if (!self.isRecognitionStart) {\n self.showPermissionGuide(self);\n }\n }, 300); // Also close when pressing esc\n\n doc.addEventListener('keydown', self.onEscKeyDown);\n self.sendBeacon('clk', 'voicesearch');\n };\n }\n\n if (self.speechButton) {\n self.speechButton.onclick = function () {\n if (!self.isRecognitionStart) {\n self.recognition.start();\n self.sendBeacon('clk', 'voicesearch_panel_mic_restart');\n } else {\n self.recognition.stop();\n self.sendBeacon('clk', 'voicesearch_panel_mic_close');\n self.closePanel(self);\n }\n };\n }\n\n if (self.retryLink) {\n self.retryLink.onclick = function () {\n if (!self.isRecognitionStart) {\n self.recognition.start();\n self.sendBeacon('clk', 'voicesearch_panel_retry');\n }\n };\n }\n\n if (self.speechOverlay) {\n self.speechOverlay.onclick = function () {\n self.recognition.stop();\n self.sendBeacon('clk', 'voicesearch_cancel_outside');\n self.closePanel(self);\n };\n }\n\n if (self.closeButton) {\n self.closeButton.onclick = function\n /*event*/\n () {\n self.recognition.stop();\n self.sendBeacon('clk', 'voicesearch_cancel');\n self.closePanel(self);\n };\n }\n\n if (self.permissionGuideClose) {\n self.permissionGuideClose.onclick = function\n /*event*/\n () {\n self.recognition.stop();\n self.sendBeacon('clk', 'voicesearch_permission_close');\n self.closeAudio.play();\n self.hidePermissionGuide(self);\n };\n }\n /* Recognition Events */\n\n\n self.recognition.onresult = function (event) {\n // The SpeechRecognitionEvent results property returns a SpeechRecognitionResultList object\n // The SpeechRecognitionResultList object contains SpeechRecognitionResult objects.\n // It has a getter so it can be accessed like an array\n // The first [0] returns the SpeechRecognitionResult at the last position.\n // Each SpeechRecognitionResult object contains SpeechRecognitionAlternative objects that contain individual results.\n // These also have getters so they can be accessed like arrays.\n // The second [0] returns the SpeechRecognitionAlternative at position 0.\n // We then return the transcript property of the SpeechRecognitionAlternative object\n // console.log('Confidence: ' + event.results[0][0].confidence);\n self.speechResult = event.results[0][0].transcript;\n /* Punctuation Handling: Check last character and strip it if necessary */\n\n self.handlePunctuation(self);\n\n if (self.speechText) {\n self.speechText.innerText = self.speechResult;\n }\n\n if (self.searchBoxQuery) {\n self.searchBoxQuery.value = self.speechResult;\n }\n\n self.resultAudio.play();\n win.setTimeout(function () {\n if (self.speechPanel) {\n self.speechPanel.classList.remove(\"s2tb\");\n self.speechPanel.classList.add(\"s2tb-h\");\n }\n\n self.hideRetryLink(self);\n\n if (self.searchBoxForm) {\n var inputFr = self.searchBoxForm.querySelector('[name=fr]');\n var inputFr2 = self.searchBoxForm.querySelector('[name=fr2]');\n\n if (inputFr && self.config.searchBox && self.config.searchBox.params && self.config.searchBox.params.fr) {\n inputFr.value = config.searchBox.params.fr;\n inputFr.disabled = false; // for homepage case\n }\n\n if (inputFr2 && self.config.searchBox && self.config.searchBox.params && self.config.searchBox.params.fr2) {\n inputFr2.value = config.searchBox.params.fr2;\n inputFr2.disabled = false; // for homepage case\n }\n\n self.searchBoxForm.submit();\n }\n }, 1000);\n };\n\n self.recognition.onspeechstart = function\n /*event*/\n () {// Fired when speech starts\n };\n\n self.recognition.onspeechend = function () {\n // Fired when speech ends\n self.recognition.stop();\n };\n\n self.recognition.onerror = function\n /*event*/\n () {\n // console.log('Error occurred in recognition: ' + event.error);\n if (self.speechText) {\n self.speechText.innerText = self.i18n.t('search.voice.recognition_error');\n }\n\n self.hideTrending(self);\n self.showRetryLink(self);\n self.errorAudio.play();\n };\n\n self.recognition.onaudiostart = function\n /*event*/\n () {\n // Fired when the user agent has started to capture audio.\n if (self.speechButtonContainer) {\n self.speechButtonContainer.classList.add(\"listening\");\n }\n };\n\n self.recognition.onaudioend = function\n /*event*/\n () {\n // Fired when the user agent has finished capturing audio.\n if (self.speechButtonContainer) {\n self.speechButtonContainer.classList.remove(\"listening\");\n }\n };\n\n self.recognition.onsoundstart = function\n /*event*/\n () {\n // Fired when any sound — recognisable speech or not — has been detected.\n self.hideTrending(self);\n self.noSpeech = false;\n\n if (self.speechButtonContainer) {\n self.speechButtonContainer.classList.remove(\"listening\");\n self.speechButtonContainer.classList.add(\"speaking\");\n }\n };\n\n self.recognition.onsoundend = function\n /*event*/\n () {\n // Fired when no sound present\n if (self.speechButtonContainer) {\n self.speechButtonContainer.classList.remove(\"speaking\");\n }\n };\n\n self.recognition.onstart = function\n /*event*/\n () {\n // Fired when the speech recognition service has begun listening\n self.recognitionInit(self);\n self.startRecognition(self);\n };\n\n self.recognition.onend = function\n /*event*/\n () {\n // Fired when the speech recognition service has disconnected.\n self.isRecognitionStart = false;\n\n if (self.noSpeech == false && self.speechResult == '') {\n // No match: Fired when the speech recognition can't recognise speech\n if (self.speechText) {\n self.speechText.innerText = self.i18n.t('search.voice.recognition_nomatch');\n }\n\n self.hideTrending(self);\n self.showRetryLink(self);\n self.errorAudio.play();\n }\n }; // trigger onReady event when initialized\n\n\n if (document && document.dispatchEvent) {\n document.dispatchEvent(new Event('VOICE_JS_READY'));\n }\n }\n } // static members\n\n\n VoiceSearch.I18n = I18n; // instance members\n\n VoiceSearch.prototype.renderPermissionGuide = function (self) {\n var tmpl = \"\\n

    \\N

    \\N

    \\N

    \\N

    \\N

    \\N

    \\N

    \".concat(self.i18n.t('search.voice.permission_title'), \"

    \\N

    \").concat(self.i18n.t('search.voice.permission_text'), \"

    \\N

    \\N

    \\N

    \\n \");\n var dom = new DOMParser().parseFromString(tmpl, 'text/html');\n document.body.appendChild(dom.body.children[0]);\n }; \n\n VoiceSearch.prototype.renderSpeechPanel = function (automatic) {\n var tmpl = \"\\n

    \\N

    (Video) Dauphin Island 2022 NYE

    \\N

    \\N

    \\N

    \\N

    \\N\\n \\n\\N\\N\\N\\N

    \\N

    \\N

    \\N\\N\\N\".concat(self.i18n.t('search.voice.recognition_retry'), \"\\N

    \\N

    \\N

    \\N

    \\N

    \\N

    \\N\").concat(self.i18n.t('search.voice.trending_title'), \"\\N\\N

    \\N

    \\N

    (Video) Douphin Island Alabama and Capt Snappers

    \\n \");\n var dom = new DOMParser().parseFromString(tmpl, 'text/html');\n\n if (self && self.config && self.config.ui && self.config.ui.speechOverlay && self.config.ui.speechOverlay.disableBlur) {\n dom.body.children[0].classList.add('disable-blur-overlay');\n }\n\n document.body.appendChild(dom.body.children[0]);\n };\n\n VoiceSearch.prototype.isBrowserSupported = function () {\n var isSupported = false;\n var self = this;\n var isChromium = Boolean(window.chrome);\n var isIOSChrome = /CriOS/.test(window.navigator.userAgent);\n var isEdge = /Edg\\//.test(window.navigator.userAgent);\n var isLegacyEdge = /Edge\\//.test(window.navigator.userAgent);\n var isOpera = Boolean(window.opr);\n var isBrave = Boolean(window.navigator.brave);\n var browsers = [// chrome\n {\n checkEnabled: function checkEnabled() {\n return true;\n },\n checkBrowser: function checkBrowser() {\n return isChromium && !isIOSChrome && !isEdge && !isOpera && !isBrave;\n },\n checkAPI: function checkAPI() {\n return win && ('SpeechRecognition' in win || 'webkitSpeechRecognition' in win) && ('SpeechGrammarList' in win || 'webkitSpeechGrammarList' in win);\n }\n }, // edge\n {\n checkEnabled: function checkEnabled() {\n return self && self.config && self.config.browsers && self.config.browsers.edge;\n },\n checkBrowser: function checkBrowser() {\n return isChromium && isEdge && !isLegacyEdge;\n },\n checkAPI: function checkAPI() {\n return win && ('SpeechRecognition' in win || 'webkitSpeechRecognition' in win) && ('SpeechGrammarList' in win || 'webkitSpeechGrammarList' in win);\n }\n }];\n\n for (var b = 0; b < browsers.length; b++) {\n var browser = browsers[b];\n\n if (browser && browser.checkBrowser && browser.checkBrowser() && browser.checkEnabled && browser.checkEnabled(self) && browser.checkAPI && browser.checkAPI()) {\n isSupported = true;\n }\n }\n\n return isSupported;\n };\n\n VoiceSearch.prototype.recognitionInit = function (self) {\n // Initialize flags for checking whether user is speaking or not\n self.speechResult = '';\n self.noSpeech = true;\n self.isRecognitionStart = true;\n };\n\n VoiceSearch.prototype.showPermissionGuide = function (self) {\n if (self.permissionGuide) {\n self.permissionGuide.classList.remove(\"hide\");\n }\n };\n\n VoiceSearch.prototype.hidePermissionGuide = function (self) {\n if (self.permissionGuide) {\n self.permissionGuide.classList.add(\"hide\");\n }\n };\n\n VoiceSearch.prototype.getTrending = function (self) {\n // Call api for trending terms\n if (!self.config.enable_voice_trending || !self.trending) {\n return;\n }\n\n var url = \"https://api.search.yahoo.com/data/v3/search?appid=4d234a9d&market=\" + self.config.trending.market + \"&features=trending.voice\";\n self.ajaxReq(url, function (resBody) {\n if (!resBody || !resBody.response || !resBody.response.search || !resBody.response.search.results || !resBody.response.search.results[\"trending.voice\"]) {\n return;\n }\n\n var terms = resBody.response.search.results[\"trending.voice\"].data;\n self.showTrending(self, terms);\n });\n };\n\n VoiceSearch.prototype.showTrending = function (self, terms) {\n // params check\n if (!Array.isArray(terms) || terms.length < 3) {\n return;\n } // DOM check\n\n\n if (!self.trending || !self.termSpans || !self.termSpans[0]) {\n return;\n }\n\n var trendingLabel = '';\n trendingLabel += '\"' + terms[0].text + '\"' + ', ';\n trendingLabel += '\"' + terms[1].text + '\"' + ' ';\n trendingLabel += self.i18n.t('search.voice.trending_or') + ' ';\n trendingLabel += '\"' + terms[2].text + '\"';\n self.termSpans[0].innerText = trendingLabel;\n self.trending.classList.remove(\"hide\");\n };\n\n VoiceSearch.prototype.hideTrending = function (self) {\n if (!self.trending) {\n return;\n }\n\n self.trending.classList.add(\"hide\");\n };\n\n VoiceSearch.prototype.showRetryLink = function (self) {\n if (self.retryLink) {\n self.retryLink.innerText = self.i18n.t('search.voice.recognition_retry');\n self.retryLink.classList.remove(\"hide\");\n }\n };\n\n VoiceSearch.prototype.hideRetryLink = function (self) {\n if (self.retryLink) {\n self.retryLink.classList.add(\"hide\");\n }\n };\n\n VoiceSearch.prototype.startRecognition = function (self) {\n self.hidePermissionGuide(self);\n self.getTrending(self);\n self.startAudio.play();\n\n if (self.speechText) {\n self.speechText.innerText = self.i18n.t('search.voice.recognition_start');\n win.setTimeout(function () {\n self.speechText.innerText = self.i18n.t('search.voice.recognition_listening');\n }, 2000);\n }\n\n if (self.speechPanel) {\n self.speechPanel.classList.remove(\"s2tb-h\");\n self.speechPanel.classList.add(\"s2tb\");\n }\n\n self.hideRetryLink(self);\n };\n\n VoiceSearch.prototype.closePanel = function (self) {\n self.closeAudio.play();\n win.setTimeout(function () {\n if (self.speechPanel) {\n self.speechPanel.classList.remove(\"s2tb\");\n self.speechPanel.classList.add(\"s2tb-h\");\n }\n\n self.hideTrending(self);\n self.hideRetryLink(self); // clean up esc listener\n\n doc.removeEventListener('keydown', self.onEscKeyDown);\n }, 100);\n };\n\n VoiceSearch.prototype.handlePunctuation = function (self) {\n if (self.speechResult.length > 0) {\n var lastChar = self.speechResult.charAt(self.speechResult.length - 1);\n\n if (lastChar === '.' || lastChar === '?' || lastChar === '。' || lastChar === '?') {\n self.speechResult = self.speechResult.slice(0, -1);\n }\n }\n };\n\n VoiceSearch.prototype.sendBeacon = function (actn, slk) {\n var ULT = win.YAHOO.ULT || {},\n SB = win.YAHOO.SB || {};\n\n if (ULT.beacon_click) {\n var trackParams = {\n _S: SB.config.i13n.spaceid,\n _I: SB.config.i13n.pvid,\n actn: actn,\n sec: 'search',\n slk: slk\n };\n win.YAHOO.ULT.beacon_click(trackParams);\n }\n };\n\n VoiceSearch.prototype.ajaxReq = function (url, callback) {\n var DONE_STATE = XMLHttpRequest.DONE || 4; // for IE-compatibility\n\n var xhr = new XMLHttpRequest();\n var responseRaw;\n var response; // CORS request only for IE8/IE9\n\n if (doc.documentMode && doc.documentMode < 10) {\n var xdr = new win.XDomainRequest();\n\n xdr.onload = function () {\n try {\n response = JSON.parse(responseRaw);\n callback(response);\n } catch (err) {\n return;\n }\n };\n\n xhr.open('GET', url);\n xhr.send();\n return;\n } // CORS request for browers newer than IE9\n\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState !== DONE_STATE) {\n return;\n } // handle ajax response\n\n\n switch (xhr.status) {\n case 200:\n responseRaw = xhr.responseText;\n\n try {\n response = JSON.parse(responseRaw);\n callback(response);\n } catch (err) {\n return;\n }\n\n break;\n\n default:\n // non-200 status code: retry or assume failure\n callback(response);\n break;\n }\n };\n\n xhr.open('GET', url, true);\n /* aync request */\n\n xhr.timeout = 10000;\n xhr.send();\n };\n\n if (!win.YAHOO) {\n win.YAHOO = {};\n }\n\n if (!win.YAHOO.Util) {\n win.YAHOO.Util = {};\n }\n\n win.YAHOO.Util.VoiceSearch = VoiceSearch;\n})(window, document);\n\n//# sourceURL=webpack://@vzmi/voicejs/./src/index.js?")},"./src/lib/I18n.js":/*!*************************!*\ !*** ./src/lib/I18n.js ***! \*************************/function(module,__unused_webpack_exports,__webpack_require__){eval("module.exports = function () {\n var LANG_LIST = __webpack_require__(/*! ./lang_list.json */ \"./src/lib/lang_list.json\");\n\n var DEFAULT_LANG = 'default';\n\n var isValidLang = function isValidLang(lang) {\n return LANG_LIST.indexOf(lang) !== -1;\n }; // convert language strings to key-value map\n\n\n var buildStrMap = function buildStrMap(langStrings) {\n return langStrings.reduce(function (strMap, item) {\n strMap[item.id] = item.defaultMessage;\n return strMap;\n }, {});\n };\n\n var I18n = function I18n(options) {\n // initialize\n this.lang = isValidLang(options && options.lang) ? options.lang : DEFAULT_LANG;\n }; // static members\n\n\n I18n.langMap = {};\n I18n.langMap[DEFAULT_LANG] = buildStrMap(__webpack_require__(/*! ../lang/strings.json */ \"./src/lang/strings.json\"));\n\n I18n.setLangMap = function (lang, strings) {\n if (lang && strings) {\n I18n.langMap[lang] = buildStrMap(strings);\n }\n }; // instance members\n\n\n I18n.prototype = {\n t: function t(id) {\n switch (true) {\n // look up target language\n case Boolean(I18n.langMap && I18n.langMap[this.lang] && I18n.langMap[this.lang][id]):\n return I18n.langMap[this.lang][id];\n // fallback to default strings\n\n case Boolean(I18n.langMap && I18n.langMap[DEFAULT_LANG] && I18n.langMap[DEFAULT_LANG][id]):\n return I18n.langMap[DEFAULT_LANG][id];\n\n default:\n return '';\n }\n }\n };\n return I18n;\n}();\n\n//# sourceURL=webpack://@vzmi/voicejs/./src/lib/I18n.js?")},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./src/index.css":/*!*******************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./src/index.css ***! \*******************************************************************************************************/function(module,__webpack_exports__,__webpack_require__){eval('__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);\n// Imports\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, "/* Sprites */\\n#spchp.permission-guide .guide .microphone .sprite,\\n#spchp .close-button,\\n#spch .close-button,\\n#spch .spchc .microphone,\\n#spch .spchc .speaking .microphone {\\n background-image: url(https://s.yimg.com/pv/static/img/voiceSearch1x-1620383531565.min.png);\\n background-repeat: no-repeat;\\n background-size: initial;\\n color: transparent;\\n}\\n/* Retina displays */\\n@media\\n only screen and (-webkit-min-device-pixel-ratio: 2),\\n only screen and (min-device-pixel-ratio: 2),\\n only screen and (min-resolution: 192dpi),\\n only screen and (min-resolution: 2dppx) {\\n#spchp.permission-guide .guide .microphone .sprite,\\n#spchp .close-button,\\n#spch .close-button,\\n#spch .spchc .microphone,\\n#spch .spchc .speaking .microphone {\\n background-size: 41px 330px;\\n background-image: url(https://s.yimg.com/pv/static/img/voiceSearch2x-1620383531565.min.png)\\n}\\n }\\n\\n/* permission guide */\\n#spchp.permission-guide {\\n height: 100%;\\n width: 100%;\\n padding: 0;\\n opacity: 0.9;\\n background-color: #fff;\\n left: 0;\\n overflow: hidden;\\n position: fixed;\\n text-align: left;\\n top: 0;\\n z-index: 10000;\\n transition: visibility 0s linear 0.218s, background-color 0.218s;\\n}\\n#spchp.permission-guide .close-button {\\n background-position: 0 0;\\n width: 24px;\\n height: 24px;\\n border: none;\\n cursor: pointer;\\n right: 0;\\n margin: 20px;\\n padding: 0;\\n position: absolute;\\n top: 0;\\n z-index: 10;\\n opacity: 0.8;\\n }\\n#spchp.permission-guide .close-button:hover {\\n opacity: 1;\\n }\\n#spchp.permission-guide .guide {\\n margin: 191px 0 0 507px;\\n }\\n#spchp.permission-guide .guide .microphone {\\n height: 68px;\\n width: 52px;\\n border-right: 1px solid #232a31;\\n float: left;\\n }\\n#spchp.permission-guide .guide .microphone .sprite {\\n background-position: 0 -105px;\\n width: 28px;\\n height: 28px;\\n }\\n#spchp.permission-guide .guide .guide-text {\\n height: 68px;\\n margin-left: 24px;\\n float: left;\\n }\\n#spchp.permission-guide .guide .guide-text .title {\\n color: #232a31;\\n font-size: 32px;\\n font-family: HelveticaNeue-Bold;\\n line-height: 28px;\\n margin-bottom: 16px;\\n }\\n#spchp.permission-guide .guide .guide-text .text {\\n color: #232a31;\\n font-size: 16px;\\n line-height: 28px;\\n }\\n#spchp.permission-guide.hide {\\n display: none;\\n }\\n\\n/* speech panel */\\n#spch.spch {\\n background: #fff;\\n height: 100%;\\n left: 0;\\n opacity: 0;\\n overflow: hidden;\\n position: fixed;\\n text-align: left;\\n top: 0;\\n visibility: hidden;\\n width: 100%;\\n z-index: 10000;\\n transition: visibility 0s linear 0.218s, background-color 0.218s;\\n}\\n#spch.spch .close-button {\\n background-position: 0 0;\\n width: 24px;\\n height: 24px;\\n border: none;\\n cursor: pointer;\\n right: 0;\\n margin: 20px;\\n padding: 0;\\n position: absolute;\\n top: 0;\\n z-index: 10;\\n opacity: 0.8;\\n }\\n#spch.spch .close-button:hover {\\n opacity: 1;\\n }\\n#spch.spch .spchc {\\n display: block;\\n height: 97px;\\n pointer-events: none;\\n }\\n#spch.spch .spchc .inner-container {\\n width: 100%;\\n height: 100%;\\n opacity: 0.1;\\n pointer-events: none;\\n transition: opacity 0.318s ease-in;\\n }\\n#spch.spch .spchc .inner-container .spch-control {\\n display: inline-block;\\n }\\n#spch.spch .spchc .inner-container .text-container {\\n float: left;\\n height: 91px;\\n overflow: hidden;\\n margin: 3px 0;\\n pointer-events: none;\\n width: calc(50% - 48.5px);\\n }\\n#spch.spch .spchc .inner-container .text-container p {\\n display: table-cell;\\n vertical-align: middle;\\n width: 550px;\\n height: 97px;\\n }\\n#spch.spch .spchc .inner-container .text-container .spcht {\\n font-weight: normal;\\n color: #6e7780;\\n line-height: normal;\\n opacity: 0;\\n pointer-events: none;\\n text-align: left;\\n -webkit-font-smoothing: antialiased;\\n transition: opacity 0.1s ease-in, margin-left 0.5s ease-in, top 0s linear 0.218s;\\n }\\n#spch.spch .spchc .inner-container .text-container .spcht.hide {\\n display: none;\\n }\\n#spch.spch .spchc .inner-container .text-container #spcht-retry {\\n color: #0f69ff;\\n cursor: pointer;\\n pointer-events: auto;\\n }\\n#spch.spch .spchc .inner-container .button-container {\\n pointer-events: none;\\n position: relative;\\n transition: transform 0.218s, opacity 0.218s ease-in;\\n }\\n#spch.spch .spchc .inner-container .button-container .button {\\n background-color: #fff;\\n border: 1px solid #eee;\\n border-radius: 100%;\\n bottom: 0;\\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);\\n cursor: pointer;\\n display: inline-block;\\n left: 0;\\n opacity: 0;\\n pointer-events: none;\\n position: absolute;\\n right: 0;\\n top: 0;\\n transition: background-color 0.218s, border 0.218s, box-shadow 0.218s;\\n }\\n#spch.spch .spchc .inner-container .button-container .button .microphone {\\n background-position: 0 -24px;\\n width: 41px;\\n height: 41px;\\n left: 27px;\\n pointer-events: none;\\n position: absolute;\\n top: 27px;\\n transform: scale(1);\\n }\\n#spch.spch .spchc .inner-container .button-container.listening .ripple {\\n position: absolute;\\n width: 136px;\\n height: 136px;\\n z-index: -1;\\n left: 50%;\\n top: 50%;\\n opacity: 0;\\n margin: -70px 0 0 -70px;\\n border-radius: 100px;\\n -webkit-animation: ripple 3.3s infinite;\\n animation: ripple 3.3s infinite;\\n background-color: #fff !important;\\n border: 2px solid #e0e4e9;\\n }\\n#spch.spch .spchc .inner-container .button-container.listening .ripple:nth-child(2) {\\n -webkit-animation-delay: 1.1s;\\n animation-delay: 1.1s;\\n }\\n#spch.spch .spchc .inner-container .button-container.listening .ripple:nth-child(3) {\\n -webkit-animation-delay: 2.2s;\\n animation-delay: 2.2s;\\n }\\n#spch.spch .spchc .inner-container .button-container.speaking .button {\\n background-color: #0f69ff;\\n }\\n#spch.spch .spchc .inner-container .button-container.speaking .button .microphone {\\n background-position: 0 -65px;\\n width: 40px;\\n height: 40px;\\n pointer-events: none;\\n position: absolute;\\n transform: scale(1);\\n }\\n#spch.spch .spchc .inner-container .button-container.speaking .ripple {\\n background-size: 114px;\\n position: absolute;\\n width: 114px;\\n height: 114px;\\n z-index: -1;\\n left: 50%;\\n top: 50%;\\n margin: -57px 0 0 -57px;\\n -webkit-animation: speakingRipple1 2s infinite;\\n animation: speakingRipple1 2s infinite;\\n }\\n#spch.spch .spchc .inner-container .button-container.speaking .ripple:nth-child(2) {\\n background-size: 123px;\\n width: 123px;\\n height: 123px;\\n margin: -62px 0 0 -62px;\\n -webkit-animation: speakingRipple2 2s infinite;\\n animation: speakingRipple2 2s infinite;\\n }\\n#spch.spch .spchc .inner-container .button-container.speaking .ripple:nth-child(3) {\\n background-size: 136px;\\n width: 136px;\\n height: 136px;\\n margin: -68px 0 0 -68px;\\n -webkit-animation: speakingRipple3 2s infinite;\\n animation: speakingRipple3 2s infinite;\\n }\\n#spch.spch .spcho {\\n background-image: linear-gradient(to bottom, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 99%);\\n display: block;\\n min-width: 100%;\\n text-align: center;\\n top: 145px;\\n padding-bottom: 71px;\\n pointer-events: auto;\\n }\\n#spch.spch .spcho #spch-trending {\\n -webkit-animation: fadeIn 1s forwards;\\n animation: fadeIn 1s forwards;\\n opacity: 0;\\n }\\n#spch.spch .spcho #spch-trending .trending {\\n color: #6e7780;\\n display: inline-block;\\n font-size: 16px;\\n }\\n#spch.spch .spcho #spch-trending #trending-label {\\n font-weight: bold;\\n margin: 5px 5px;\\n }\\n#spch.spch .spcho #spch-trending.hide {\\n display: none;\\n }\\n#spch.spch.s2tb .spchc, #spch.spch.s2tb-h .spchc {\\n background: #fff;\\n box-sizing: border-box;\\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);\\n height: auto;\\n margin: 0;\\n min-width: 100%;\\n overflow: hidden;\\n padding: 24px 115px;\\n }\\n#spch.spch.s2tb .spchc .inner-container, #spch.spch.s2tb-h .spchc .inner-container {\\n opacity: 1;\\n transition: opacity 0.318s ease-in;\\n }\\n#spch.spch.s2tb .spchc .inner-container .text-container, #spch.spch.s2tb-h .spchc .inner-container .text-container {\\n position: relative;\\n }\\n#spch.spch.s2tb {\\n background: rgba(255, 255, 255, 0);\\n opacity: 1;\\n visibility: visible;\\n transition-delay: 0s;\\n }\\n#spch.spch.s2tb .spchc .inner-container .button-container {\\n transform: scale(1);\\n height: 97px;\\n right: 0;\\n top: 0;\\n width: 97px;\\n }\\n#spch.spch.s2tb .spchc .inner-container .button-container .button {\\n opacity: 1;\\n pointer-events: auto;\\n position: absolute;\\n transform: scale(1);\\n transition-delay: 0;\\n }\\n#spch.spch.s2tb .spchc .inner-container .text-container .spcht {\\n font-size: 24px;\\n margin-left: 0;\\n opacity: 1;\\n transition: opacity 0.5s ease-out, margin-left 0.5s ease-out;\\n }\\n#spch.spch.s2tb #spch-overlay {\\n -webkit-backdrop-filter: blur(10px);\\n backdrop-filter: blur(10px);\\n background-color: #fff;\\n height: 100%;\\n opacity: 0.9;\\n position: absolute;\\n top: 149px;\\n\\n /* spchc\'s height */\\n width: 100%;\\n }\\n#spch.spch.disable-blur-overlay #spch-overlay {\\n background-color: transparent;\\n -webkit-backdrop-filter: none;\\n backdrop-filter: none;\\n }\\n#spch.spch.disable-blur-overlay .spcho {\\n height: 27px;\\n padding-bottom: 20px;\\n background: #fff;\\n background-image: none;\\n box-shadow: 0 8px 6px -6px rgb(0 0 0 / 20%);\\n }\\n#spch.spch.s2tb-h {\\n background: rgba(255, 255, 255, 0);\\n opacity: 0;\\n visibility: hidden;\\n }\\n\\n@-webkit-keyframes fadeIn {\\n 0% {\\n opacity: 0;\\n }\\n\\n 100% {\\n opacity: 1;\\n }\\n}\\n\\n@keyframes fadeIn {\\n 0% {\\n opacity: 0;\\n }\\n\\n 100% {\\n opacity: 1;\\n }\\n}\\n\\n@-webkit-keyframes ripple {\\n 0% {\\n opacity: 1;\\n transform: scale(0.7);\\n }\\n\\n 100% {\\n opacity: 0;\\n transform: scale(1);\\n }\\n}\\n\\n@keyframes ripple {\\n 0% {\\n opacity: 1;\\n transform: scale(0.7);\\n }\\n\\n 100% {\\n opacity: 0;\\n transform: scale(1);\\n }\\n}\\n\\n@-webkit-keyframes speakingRipple1 {\\n 0%,\\n 100% {\\n background-image: url(\\"https://s.yimg.com/pv/static/img/ripple1-1-202105260611.png\\");\\n }\\n\\n 25%,\\n 75% {\\n background-image: url(\\"https://s.yimg.com/pv/static/img/ripple1-2-202105260611.png\\");\\n transform: scale(1.1);\\n }\\n\\n 50% {\\n background-image: url(\\"https://s.yimg.com/pv/static/img/ripple1-3-202105260611.png\\");\\n transform: scale(0.9);\\n }\\n}\\n\\n@keyframes speakingRipple1 {\\n 0%,\\n 100% {\\n background-image: url(\\"https://s.yimg.com/pv/static/img/ripple1-1-202105260611.png\\");\\n }\\n\\n 25%,\\n 75% {\\n background-image: url(\\"https://s.yimg.com/pv/static/img/ripple1-2-202105260611.png\\");\\n transform: scale(1.1);\\n }\\n\\n 50% {\\n background-image: url(\\"https://s.yimg.com/pv/static/img/ripple1-3-202105260611.png\\");\\n transform: scale(0.9);\\n }\\n}\\n\\n@-webkit-keyframes speakingRipple2 {\\n 0%,\\n 100% {\\n background-image: none;\\n }\\n\\n 25%,\\n 75% {\\n background-image: url(\\"https://s.yimg.com/pv/static/img/ripple2-2-202105260611.png\\");\\n transform: scale(1.1);\\n }\\n\\n 50% {\\n background-image: url(\\"https://s.yimg.com/pv/static/img/ripple2-3-202105260611.png\\");\\n transform: scale(0.9);\\n }\\n}\\n\\n@keyframes speakingRipple2 {\\n 0%,\\n 100% {\\n background-image: none;\\n }\\n\\n 25%,\\n 75% {\\n background-image: url(\\"https://s.yimg.com/pv/static/img/ripple2-2-202105260611.png\\");\\n transform: scale(1.1);\\n }\\n\\n 50% {\\n background-image: url(\\"https://s.yimg.com/pv/static/img/ripple2-3-202105260611.png\\");\\n transform: scale(0.9);\\n }\\n}\\n\\n@-webkit-keyframes speakingRipple3 {\\n 0%,\\n 25%,\\n 75%,\\n 100% {\\n background-image: none;\\n }\\n\\n 50% {\\n background-image: url(\\"https://s.yimg.com/pv/static/img/ripple3-3-202105260611.png\\");\\n transform: scale(0.9);\\n }\\n}\\n\\n@keyframes speakingRipple3 {\\n 0%,\\n 25%,\\n 75%,\\n 100% {\\n background-image: none;\\n }\\n\\n 50% {\\n background-image: url(\\"https://s.yimg.com/pv/static/img/ripple3-3-202105260611.png\\");\\n transform: scale(0.9);\\n }\\n}\\n", ""]);\n// Exports\n/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);\n\n\n//# sourceURL=webpack://@vzmi/voicejs/./src/index.css?./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js')},"./node_modules/css-loader/dist/runtime/api.js":/*!*****************************************************!*\ !*** ./node_modules/css-loader/dist/runtime/api.js ***! \*****************************************************/function(module){eval('\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return "@media ".concat(item[2], " {").concat(content, "}");\n }\n\n return content;\n }).join("");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === "string") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, ""]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = "".concat(mediaQuery, " and ").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\n//# sourceURL=webpack://@vzmi/voicejs/./node_modules/css-loader/dist/runtime/api.js?')},"./src/index.css":/*!***********************!*\ !*** ./src/index.css ***! \***********************/function(module,__unused_webpack_exports,__webpack_require__){eval('var api = __webpack_require__(/*! !../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");\n var content = __webpack_require__(/*! !!../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/dist/cjs.js!./index.css */ "./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./src/index.css");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === \'string\') {\n content = [[module.id, content, \'\']];\n }\n\nvar options = {};\n\noptions.insert = "head";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};\n\n//# sourceURL=webpack://@vzmi/voicejs/./src/index.css?')},"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":/*!****************************************************************************!*\ !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***! \****************************************************************************/function(module,__unused_webpack_exports,__webpack_require__){eval("\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = true ? __webpack_require__.nc : 0;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of

    FAQs

    What you need to know (and love) about Dauphin Island, Alabama? ›

    Dauphin Island is famous for its relative isolation and quiet beaches. Compared to many top gulf side beach destinations, Dauphin Island is an untapped paradise. It gets substantially less foot traffic (and fewer crowds) compared to other islands along the gulf.

    What is special about Dauphin Island? ›

    Dauphin Island is famous for its relative isolation and quiet beaches. Compared to many top gulf side beach destinations, Dauphin Island is an untapped paradise. It gets substantially less foot traffic (and fewer crowds) compared to other islands along the gulf.

    What are the best months to visit Dauphin Island? ›

    The spring is one of the best times to visit and stay in a Dauphin Island vacation rental. During the spring months, you can witness the spring migration of the birds while the weather is at its finest. From mid-March to late May, temperatures will start comfortable and slowly heat up.

    Can you swim in the water at Dauphin Island? ›

    Swimming & Water Safety

    Generally, the ocean around Dauphin Island is quite safe: the waters are calm and the beach tapers off slowly, so swimming in the shallows is a great activity for the kids.

    Why go to Dauphin Island? ›

    Exciting attractions are located on the east end of the island including historic Fort Gaines, the Dauphin Island Sea Lab, Audubon Bird Sanctuary and numerous boat launch sites. On the west end of the island you'll find our beautiful beaches of sugar white sand, public golf and parks with ancient oaks.

    Is Dauphin Island beach clear water? ›

    Located three miles south of Mobile Bay, Dauphin Island has clear blue water and powdery white sand galore. It's connected to mainland Alabama by a bridge, and ferry rides take you to and from the island.

    Is Dauphin Island beach clean? ›

    Beaches are clean with no trash, but offshore are many oil rigs, and the waters are dirty. Fish are dying and going to shore, and hammerhead sharks are being caught from the shore by locals.

    What side of Dauphin Island is best? ›

    Family Vacations at Dauphin Island – Choose Bay or Sound.

    Many families choose to stay on the Bay side of Dauphin Island. The calmer waters are easier for small children to play and splash around, and it is easy to beach a jet ski, or small craft along the shore.

    Can you swim with dolphins at Dauphin Island? ›

    At Dolphin Island Park you can swim with dolphins and live the free experience of Snorkeling with Sharks and Stingrays live an extreme adventure for ten minutes.

    How long is the ferry ride from Dauphin Island? ›

    The trip takes approximately 40 minutes and is a great way for passengers to view birds, sea life and other boats and ships. The ferry service utilizes two ferries, the Fort Morgan and the Marissa Mae Nicole to carry passengers and vehicles across the Bay.

    Are there sea turtles on Dauphin Island? ›

    The predominant species of sea turtles we find nesting on Dauphin Island are Loggerhead turtles. Occasionally, Kemp's Ridley turtles and Green Sea Turtles nest on our beaches, as well.

    Are there gators on Dauphin Island? ›

    Alligators are known to frequent areas of the interior of Dauphin Island and, if hungry enough, will sneak into freshwater areas in search of crabs, sea turtles and even sharks.

    Does Dauphin Island have shops? ›

    Treat yourself to a variety of local items in our island shops. From original art to that special gift for a friend, family member or yourself, you're sure to find a treasured keepsake on your next visit to Dauphin Island.

    Do I need a car on Dauphin Island? ›

    Your trip should be an opportunity to get away from it all, so if you don't want to bother with a car, Dauphin Island is the perfect place to take it slow. You are easily able to bike, walk, or jog around the island, as everything is relatively close.

    Does Dauphin Island have a boardwalk? ›

    Hike + Bird Watch in the Dauphin Island Bird Sanctuary

    On the eastern end of the island, visitors can walk the beautiful trails and boardwalks through the coastal forest, marshland, and along the beach to watch for birds.

    Do you have to pay to go Dauphin Island? ›

    Island residents do not have to pay to be admitted. Please provide proof of residency with a Driver's license or Dauphin Island home address. The “Beach” decal issued by the Dauphin Island Police Department will also allow access to the beaches. Non-residents are able to purchase season passes for the beaches.

    What is the prettiest beach in Alabama? ›

    According to U.S. News, the prettiest beaches in Alabama are Gulf Shores, Orange Beach, Gulf State Park, Dauphin Island, Fort Morgan, West Beach, Fairhope, and Robinson Island.

    Can you have alcohol on the beach in Dauphin Island? ›

    No alcohol ban for Dauphin Island as town unveils a revitalized East End Beach - al.com.

    Is red tide in Dauphin Island? ›

    DAUPHIN ISLAND, Ala. (WPMI) Researchers said Friday that the Gulf Coast is experiencing the largest red tide outbreak the area has seen in more than a decade. In fact, Public Health officials have issued a health advisory: The algae could cause respiratory problems.

    Can you sleep on the beach at Dauphin Island? ›

    Q: Can I camp on a vacant lot or on the beach? A: No camping allowed anywhere on the Island except at the Dauphin Island Campground on the east end of the Island.

    Can you drink tap water in Dauphin Island? ›

    For the latest quarter assessed by the U.S. EPA (January 2021 - March 2021), tap water provided by this water utility was in compliance with federal health-based drinking water standards.

    Why is water murky Dauphin Island? ›

    All the sediments carried on the Mississippi are released into the Sound, in addition, all the sediments carried on the Mobile River across the Southeast are released into the Mobile Bay. The confluence of these two forces creates a very murky water, making snorkeling in Dauphin Island underwhelming.

    Who lives on Dauphin Island? ›

    There are 1,771 residents in Dauphin Island, with a median age of 61. Of this, 52.17% are males and 47.83% are females. US-born citizens make up 97.68% of the resident pool in Dauphin Island, while non-US-born citizens account for 2.15%. Additionally, 0.17% of the population is represented by non-citizens.

    Where is the best place to find shells on Dauphin Island? ›

    West end of beach is best for shelling.

    Do you have to take a ferry to Dauphin Island? ›

    How Do I Get To the Dauphin Island Sea Lab? The Dauphin Island Sea Lab is located on the eastern end of a 17-mile-long barrier island. About three miles from the mainland, the 35-acre campus is bordered by Mobile Bay and the Gulf of Mexico. To get to the barrier island, you will have to take the Fort Morgan ferry!

    How much does it cost to swim with the dolphins at Dauphin Island? ›

    Participants (48 inches to 53 inches) $199 regular price– must be accompanied in the water by a paying participant 18 yrs + (one on one.) (Younger children will do alternate behaviors if necessary in the case that the deep water behaviors cannot be completed.

    How do you attract dolphins to the shore? ›

    You basically attract dolphin by becoming a floating object and sweetening the waters with chunks of ballyhoo, Spanish sardines or pilchards.

    How much does it cost to go to Dauphin Island beach? ›

    Dauphin Island Public Beach

    There is a nominal fee of $5 per car, and the beach is open from 8 a.m. to 6 p.m. daily.

    How deep is the water around Dauphin Island? ›

    The sound side of Dauphin Island is composed of a narrow (~ 0.5 km) island platform less than 2 m deep that slopes into Mississippi Sound (fig.

    Can you walk to the end of Dauphin Island? ›

    Not easy, but very doable. I had 18.3 miles round trip. Definitely 9+ miles to the actual end of the island.

    What times do the Dauphin Island ferry run? ›

    Fort Morgan Loading Dock:
    SCHEDULE FROM AFTER LABOR DAY TO THE END OF DAYLIGHT SAVINGS TIME
    DEPART DAUPHIN ISLANDDEPART FORT MORGAN
    8:00 A.M.8:45 A.M.
    9:30 A.M.10:15 A.M.
    11:00 A.M.11:45 A.M.
    6 more rows

    What time of year do sea turtles hatch in Gulf Shores? ›

    Every year, around May, female sea turtles lay hundreds of thousands of eggs in nests along the Gulf Coast. Hundreds of volunteers help stake out these nests to increase the odds these little guys will make it to the gulf. And from July to October, they hatch, and make their way to the Gulf.

    Can you find seashells on Dauphin Island? ›

    #3 Dauphin Island is the Best Place for Shells and Sea Glass

    When we chose Dauphin Island as our beach vacation, we had no idea that it would be the perfect location for finding all kinds of seashells and sea glass. What is this? We started doing research and found it to be the #1 spot.

    Are there sharks around Dauphin Island? ›

    The Dauphin Island area is home to a variety of sea creatures, including common sharks including blacktip and bull sharks. Blacktips grow up to 6 feet and eat a diet of fish.

    Are there dolphins around Dauphin Island? ›

    The marine life in the waters around Dauphin Island is diverse, as the Gulf of Mexico is home to sharks, gamefish, dolphins, and many other incredible species. Visitors can explore the gulf on wildlife boat tours and see a spectacle of marine life and bird sightings. Dolphin sightings are extremely common.

    Is it safe to swim with gators? ›

    Do not allow your dogs or children to swim in waters inhabited by alligators, or to drink or play at the water's edge. To an alligator, a splash potentially means a food source is in the water. It is best to avoid swimming in areas that are known habitats for large alligators but at the least, never swim alone.

    Can Gators swim in the ocean? ›

    There are many things you may encounter when swimming in the ocean. Alligators probably aren't one of them. While alligators can tolerate salt water for a few hours or even days, they are primarily freshwater animals, living in swampy areas, rivers, streams, lakes, and ponds.

    How far is a walmart from Dauphin Island in Alabama? ›

    Walmart is located at 5245 Rangeline Service Road, a 45-minute drive away from Dauphin Island.

    Are there sand dollars in Dauphin Island? ›

    Sand dollars are always a fun find on the island ! that I found as a child at Dauphin Island. There are still sand dollars at Dauphin Isl. What an awesome find on the island !

    What happened to the Dauphin Island Pier? ›

    (A similar situation occurred in the 1600s and created Pelican Bay, which was one of the reasons the French first settled here.) The Pier structure has now been modified to provide sightseeing and picnicking. Steps at the end of the Pier give quick access to the Gulf shoreline.

    How far is it from mobile to Dauphin Island? ›

    Located only a 45-minute car ride from downtown Mobile, the sprawling sandy beaches of Dauphin Island beckon visitors to come out and play.

    Does Dauphin Island have Internet? ›

    HughesNet, Viasat, EarthLink and CenturyLink offer internet service in Dauphin Island, AL .

    Does Dauphin Island have a lighthouse? ›

    The lighthouse is a pivotal part of Dauphin Island history. You learn more about the Sand Island Lighthouse, and many other long-standing attractions, by contacting us at (251)-861-3311.

    Is the ferry the only way to Dauphin Island? ›

    You can drive to Dauphin Island via the long bridge connecting it to mainland Alabama. Travel via I-193 over the three fascinating miles that were previously called the Gordon Persons Bridge.

    Can you see dolphins at Dauphin Island? ›

    The marine life in the waters around Dauphin Island is diverse, as the Gulf of Mexico is home to sharks, gamefish, dolphins, and many other incredible species. Visitors can explore the gulf on wildlife boat tours and see a spectacle of marine life and bird sightings. Dolphin sightings are extremely common.

    Is Dauphin Island beach pretty? ›

    The beaches on Dauphin Island are stunning.

    Plan to hit all the beautiful public beaches while visiting. There are 7-miles of public beaches along with a few different access points and areas to park.

    Can you walk around Dauphin Island? ›

    You are easily able to bike, walk, or jog around the island, as everything is relatively close. Once you visit Dauphin Island, you can see for yourself why it is a favorite destination among many.

    Does anyone live on Dauphin Island? ›

    With 1,771 people, Dauphin Island is the 247th most populated city in the state of Alabama out of 588 cities. But watch out, Dauphin Island, because Double Springs with 1,753 people and Ashland with 1,741 people are right behind you.

    What time of day do dolphins come to shore? ›

    Dolphins are most active in the morning and evening. They tend to be less active at night, especially if it's cloudy or rainy out. Dolphins prefer to hunt and play when the tide is low (when there's less water). They'll be less active if there's more water around them.

    What kind of sharks are in Dauphin Island? ›

    We see a lot of blacktip sharks. That's probably the one the beachgoers would encounter. Most are a little farther offshore, a lot of tiger sharks.

    Can you drink alcohol on the beach in Dauphin Island? ›

    No alcohol ban for Dauphin Island as town unveils a revitalized East End Beach - al.com.

    What is the best side of Dauphin Island? ›

    Family Vacations at Dauphin Island – Choose Bay or Sound.

    Many families choose to stay on the Bay side of Dauphin Island. The calmer waters are easier for small children to play and splash around, and it is easy to beach a jet ski, or small craft along the shore.

    Do you have to pay to go to Dauphin Island beach? ›

    Dauphin Island Public Beach

    There is a nominal fee of $5 per car, and the beach is open from 8 a.m. to 6 p.m. daily. Pets are allowed on the beach, but they must be leashed at all times.

    Who owns Dauphin Island? ›

    The island was under successive French, English, and Spanish control prior to becoming part of the Alabama Territory of the United States and ultimately the state of Alabama in 1819. Incorporated in 1988, the Town of Dauphin Island has a mayor/council form of government.

    Videos

    1. ROAD TRIP to DAUPHIN ISLAND ALABAMA !! ARE WE QUITTING THE RV LIFE ?
    (Romancing The States)
    2. Returning to Paradise: Dauphin Island Interview "On the Porch"
    (EIU WeatherCenter)
    3. Ask the Aquarist: Alabama's Snakes
    (Dauphin Island Sea Lab)
    4. RECORD BREAKING Grouper! Catch, Clean, Cook! Dauphin Island, Alabama
    (Brook Crist Outdoors)
    5. Dauphin Island,AL Shopping
    (Bootstrapmentality)
    6. BEACH VLOG || DAUPHIN ISLAND ALABAMA, FAMILY VACATION
    (Mady Henderson)

    References

    Top Articles
    Latest Posts
    Article information

    Author: Errol Quitzon

    Last Updated: 15/06/2023

    Views: 5371

    Rating: 4.9 / 5 (79 voted)

    Reviews: 86% of readers found this page helpful

    Author information

    Name: Errol Quitzon

    Birthday: 1993-04-02

    Address: 70604 Haley Lane, Port Weldonside, TN 99233-0942

    Phone: +9665282866296

    Job: Product Retail Agent

    Hobby: Computer programming, Horseback riding, Hooping, Dance, Ice skating, Backpacking, Rafting

    Introduction: My name is Errol Quitzon, I am a fair, cute, fancy, clean, attractive, sparkling, kind person who loves writing and wants to share my knowledge and understanding with you.