Fix right panel on Safari browser (overflow: auto + position: fixed)
See: https://stackoverflow.com/q/26704903
 
	
	
	
	
	
	
	
	
	
	
	
	
	
 |  |  | 
 |  |  | .panel { | 
 |  |  |     opacity: .85; | 
 |  |  |     color: black; | 
 |  |  |     padding: 0; | 
 |  |  |     background: white; | 
 |  |  |     padding: 5px; | 
 |  |  |     border-left: 1px solid black; | 
 |  |  |     font-size: 14px; | 
 |  |  |     overflow-y: auto; | 
 |  |  |      | 
 |  |  |     transition: right .4s, width .4s; | 
 |  |  |      | 
 |  |  |     height: 100%; | 
 |  |  |     width: 360px; | 
 |  |  |     position: fixed; | 
 |  |  |     width: 350px; | 
 |  |  |     right: -365px; | 
 |  |  |     right: -361px; | 
 |  |  |     top: 0; | 
 |  |  |     bottom: 0; | 
 |  |  | } | 
 |  |  | 
 |  |  | } | 
 |  |  | .panel .hide { | 
 |  |  |     display: none; | 
 |  |  |     padding: 0px 1em; | 
 |  |  | } | 
 |  |  | .panel.enabled .hide { | 
 |  |  |     display: block; | 
 |  |  |      | 
 |  |  |     position: fixed; | 
 |  |  |     bottom: 20%; | 
 |  |  | 
 |  |  |      | 
 |  |  |     transition: right .4s, margin-right .4s; | 
 |  |  | } | 
 |  |  | .panel.enabled .hide { | 
 |  |  |     display: block; | 
 |  |  | } | 
 |  |  | .panel.expanded .hide { | 
 |  |  |     right: 360px; | 
 |  |  | } | 
 |  |  |  | 
 |  |  | .panel .panel-container { | 
 |  |  |     overflow-y: auto; | 
 |  |  |     box-sizing: border-box; | 
 |  |  |     padding: 5px; | 
 |  |  |     height: 100%; | 
 |  |  | } | 
 |  |  | @media (max-width: 600px) { | 
 |  |  |     .panel { | 
 |  |  |         width: 80%; | 
 |  |  | 
 |  |  |      | 
 |  |  |     .panel.enabled.expanded .hide { | 
 |  |  |         right: 80%; | 
 |  |  |         margin-right: 10px; | 
 |  |  |     } | 
 |  |  | } | 
 |  |  | .panel .type { | 
 
 |  |  | 
 |  |  |     this._hide.className = 'hide'; | 
 |  |  |     this._hide.addEventListener('click', this.toggleExpanded.bind(this)); | 
 |  |  |      | 
 |  |  |     this._close = addElementWithText(this._element, 'a', '×'); | 
 |  |  |     this._container = document.createElement('div'); | 
 |  |  |     this._container.className = 'panel-container'; | 
 |  |  | 	 | 
 |  |  |     this._close = addElementWithText(this._container, 'a', '×'); | 
 |  |  |     this._close.title = lang.action_close; | 
 |  |  |     this._close.className = 'close'; | 
 |  |  |     this._close.addEventListener('click', this.close.bind(this)); | 
 |  |  |      | 
 |  |  |     this._content = document.createElement('div'); | 
 |  |  |     this._element.appendChild(this._content); | 
 |  |  |     this._container.appendChild(this._content); | 
 |  |  |     this._element.appendChild(this._container); | 
 |  |  | } | 
 |  |  | Panel.prototype = { | 
 |  |  |     _element: null, | 
 |  |  |     _hide: null, | 
 |  |  |     _container: null, | 
 |  |  |     _close: null, | 
 |  |  |     _content: null, | 
 |  |  |      |