, 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); })(); Dr. David Long to Speak March 27 - News & Stories | 麻豆区

麻豆区

Skip to main content

Calvin News

Dr. David Long to Speak March 27

Fri, Mar 03, 2006
N/A

Calvin College will host a renowned expert on the Middle East later this month.

Dr. David Long will speak on "Democracy in the Middle East: Pipedream or Reality" on Monday, March 27 at 3:30 pm in the Commons Annex at Calvin in the Alumni Association Board Room.

The talk is sponsored by the President's Office at Calvin (Long was a teacher and mentor to Calvin president Gaylen Byker, who has a Ph.D. in international relations) and the history and political science departments.

Long served in the U.S. Foreign Service for almost three decades, from 1962 to 1993, with assignments in the Sudan, Morocco, Saudi Arabia and Jordan, and he has extensive experience in Middle East affairs and counter-terrorism. He is the author of several books, including The Anatomy of Terrorism and The Kingdom of Saudi Arabia, and has lectured extensively in the United States and abroad on topics relating to Islam, the Middle East and terrorism.

His Washington assignments included deputy director of the State Department's Office of Counter Terrorism for Regional Policy, a member of the Secretary of State's Policy Planning Staff, and chief of the Near East Research Division in the Bureau of Intelligence and Research Bureau.

He was also detailed to the Institute for National Strategic Studies of the National Defense University in Washington and to the U.S. Coast Guard Academy where he served as visiting professor of international relations (he has a Ph.D. in international relations from the George Washington University).