, but this code // executes before the first paint, when is not yet present. The // classes are added to so styling immediately reflects the current // toolbar state. The classes are removed after the toolbar completes // initialization. const classesToAdd = ['toolbar-loading', 'toolbar-anti-flicker']; if (toolbarState) { const { orientation, hasActiveTab, isFixed, activeTray, activeTabId, isOriented, userButtonMinWidth } = toolbarState; classesToAdd.push( orientation ? `toolbar-` + orientation + `` : 'toolbar-horizontal', ); if (hasActiveTab !== false) { classesToAdd.push('toolbar-tray-open'); } if (isFixed) { classesToAdd.push('toolbar-fixed'); } if (isOriented) { classesToAdd.push('toolbar-oriented'); } if (activeTray) { // These styles are added so the active tab/tray styles are present // immediately instead of "flickering" on as the toolbar initializes. In // instances where a tray is lazy loaded, these styles facilitate the // lazy loaded tray appearing gracefully and without reflow. const styleContent = ` .toolbar-loading #` + activeTabId + ` { background-image: linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%); } .toolbar-loading #` + activeTabId + `-tray { display: block; box-shadow: -1px 0 5px 2px rgb(0 0 0 / 33%); border-right: 1px solid #aaa; background-color: #f5f5f5; z-index: 0; } .toolbar-loading.toolbar-vertical.toolbar-tray-open #` + activeTabId + `-tray { width: 15rem; height: 100vh; } .toolbar-loading.toolbar-horizontal :not(#` + activeTray + `) > .toolbar-lining {opacity: 0}`; const style = document.createElement('style'); style.textContent = styleContent; style.setAttribute('data-toolbar-anti-flicker-loading', true); document.querySelector('head').appendChild(style); if (userButtonMinWidth) { const userButtonStyle = document.createElement('style'); userButtonStyle.textContent = `#toolbar-item-user {min-width: ` + userButtonMinWidth +`px;}` document.querySelector('head').appendChild(userButtonStyle); } } } document.querySelector('html').classList.add(...classesToAdd); })(); Kelly Turner | NESDIS
Skip to main content

Kelly Turner

Chief of Staff

Kelly Turner has served as the Chief of Staff to the Assistant Administrator of NOAA’s National Environmental Satellite, Data, and Information Service (NESDIS) since 2010. In this capacity, she provides strategic counsel to NOAA’s senior leadership, oversees both internal and external communications efforts, as well as directs various multi-faceted projects and highly visible initiatives across the organization while constantly seeking to create and maintain cross-departmental relationships.

As a seasoned advisor to senior policymakers and executives on scientific and technology policies and practices, Ms. Turner is an expert in communicating complex initiatives for an array of audiences, specifically Congress and the press. She previously served as Advisor to NOAA’s Deputy Under Secretary on agency management and programmatic issues, with a particular focus on satellite and weather programs. 

Ms. Turner graduated with a Bachelor of Arts in Russian and East European Studies from Middlebury College, and obtained a Masters of Arts in International Affairs with a focus on Security Policy and U.S. Foreign Policy from George Washington University. She has been awarded the Department of Commerce Gold and Bronze Medals for her distinguished performance and prestigious contributions that impacted the mission of the department. She also speaks Russian and basic Mandarin.

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy