|  | @@ -935,21 +935,21 @@ the specific language governing permissions and limitations under the Apache Lic
 | 
	
		
			
				|  |  |                  height = this.container.outerHeight(false),
 | 
	
		
			
				|  |  |                  width = this.container.outerWidth(false),
 | 
	
		
			
				|  |  |                  dropHeight = this.dropdown.outerHeight(false),
 | 
	
		
			
				|  |  | -	        viewPortRight = $(window).scrollLeft() + document.documentElement.clientWidth,
 | 
	
		
			
				|  |  | -                viewportBottom = $(window).scrollTop() + document.documentElement.clientHeight,
 | 
	
		
			
				|  |  | +	            viewPortRight = $(window).scrollLeft() + $(window).width(),
 | 
	
		
			
				|  |  | +                viewportBottom = $(window).scrollTop() + $(window).height(),
 | 
	
		
			
				|  |  |                  dropTop = offset.top + height,
 | 
	
		
			
				|  |  |                  dropLeft = offset.left,
 | 
	
		
			
				|  |  |                  enoughRoomBelow = dropTop + dropHeight <= viewportBottom,
 | 
	
		
			
				|  |  |                  enoughRoomAbove = (offset.top - dropHeight) >= this.body().scrollTop(),
 | 
	
		
			
				|  |  | -	        dropWidth = this.dropdown.outerWidth(false),
 | 
	
		
			
				|  |  | -	        enoughRoomOnRight = dropLeft + dropWidth <= viewPortRight,
 | 
	
		
			
				|  |  | +	            dropWidth = this.dropdown.outerWidth(false),
 | 
	
		
			
				|  |  | +	            enoughRoomOnRight = dropLeft + dropWidth <= viewPortRight,
 | 
	
		
			
				|  |  |                  aboveNow = this.dropdown.hasClass("select2-drop-above"),
 | 
	
		
			
				|  |  |                  bodyOffset,
 | 
	
		
			
				|  |  |                  above,
 | 
	
		
			
				|  |  |                  css;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            // console.log("below/ droptop:", dropTop, "dropHeight", dropHeight, "sum", (dropTop+dropHeight)+" viewport bottom", viewportBottom, "enough?", enoughRoomBelow);
 | 
	
		
			
				|  |  | -            // console.log("above/ offset.top", offset.top, "dropHeight", dropHeight, "top", (offset.top-dropHeight), "scrollTop", this.body().scrollTop(), "enough?", enoughRoomAbove);
 | 
	
		
			
				|  |  | +            //console.log("below/ droptop:", dropTop, "dropHeight", dropHeight, "sum", (dropTop+dropHeight)+" viewport bottom", viewportBottom, "enough?", enoughRoomBelow);
 | 
	
		
			
				|  |  | +            //console.log("above/ offset.top", offset.top, "dropHeight", dropHeight, "top", (offset.top-dropHeight), "scrollTop", this.body().scrollTop(), "enough?", enoughRoomAbove);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              // fix positioning when body has an offset and is not position: static
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -969,9 +969,9 @@ the specific language governing permissions and limitations under the Apache Lic
 | 
	
		
			
				|  |  |                  if (!enoughRoomBelow && enoughRoomAbove) above = true;
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	    if (!enoughRoomOnRight) {
 | 
	
		
			
				|  |  | -		   dropLeft = offset.left + width - dropWidth;
 | 
	
		
			
				|  |  | -	    }
 | 
	
		
			
				|  |  | +            if (!enoughRoomOnRight) {
 | 
	
		
			
				|  |  | +               dropLeft = offset.left + width - dropWidth;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              if (above) {
 | 
	
		
			
				|  |  |                  dropTop = offset.top - dropHeight;
 |