@charset "utf-8";
/* CSS Document */

/* 
 * ooo.css overrides 
 */
 
body {direction:rtl;}
/* top container, logo, search: */
#bannera {padding: 0 8px 0 0;}
#bannerleft {text-align: right; float: right;} 
#bannerright {float: left;}
#languagesdiv {float: left; border-left: none; border-right: solid 1px #ccc;}
#selectlanguage {direction:ltr;}
/* 
 * Tal: Since breadcrumbs are always written in English, 
 * there's no point of reversing the direction of /topnav
#topnava {padding: 4px 8px 3px 20px; text-align: left; float: left;}
#breadcrumbsa {margin: 4px 0px 4px 0px; padding: 4px 20px 3px 8px; float: right;}
*/
/* leftnav - list of links, for inner pages. */
#leftnav {
	border: 1px solid #e6ebed;
	border-right: none;
	-moz-border-radius: 0 0 0 10px;
	border-radius: 0 0 0px 10px;
	color: #003;
	float: right;
	padding: 15px 20px 5px 15px;
	width: 150px;
	background: none repeat scroll 0 0 #f5f8fa;
	margin: 0 0 20px 12px;
}
/* 
 * alternatively, create #rightnav, and add to 
 * #leftnav ul, #rightnav ul { ...}, etc. 
 *(for all tags that leftnav is defined for, in ooo.css, i.e. ul, li, h1) 
 * and... 
 * 
 */
 
/* TODO: float img left to text */






/* 
 * ./index.html CSS overrides 
 */
#actionstatements { float: right; margin: 40px 3% 50px 0%;}
#actionstatements div.action-link:hover { background: url(/images/action-link.png) top left no-repeat;  margin: 0 0 0 5px;
}
#actionstatements h2 { margin: 5px 60px 5px 0px;}
#actionstatements p { margin: 5px 60px 5px 0px;}

#actionstatements div.action-social .action-social-extra p { 
	padding: 5px 60px 5px 0px;
	}

#actionstatements div.action-info,
#actionstatements div.action-download,
#actionstatements div.action-help, 
#actionstatements div.action-extend, 
#actionstatements div.action-participate,
#actionstatements div.action-social { 
	background-position:right top;
	}
	
#actionstatements div.action-info:hover,
#actionstatements div.action-download:hover,
#actionstatements div.action-help:hover, 
#actionstatements div.action-extend:hover, 
#actionstatements div.action-participate:hover,
#actionstatements div.action-social:hover { 
	background-position: right -250px;
}

#news { float: left; margin: 0 0 0 3%;}
#news div.campaign p {text-align: right;}



/* 
 * download.html CSS overrides 
 */
.additionalinformation {float: left;}
.optionset { margin: 0 -2px 0 0; float: right;}
.optionset .button h2 {margin-right: 3%;}
.optionset .button p {margin-right: 3%;}
.green-sel-icon, .green-sel-icon:hover,
.blue-icon, .blue-icon:hover,
.lightblue-icon, .lightblue-icon:hover {
	left: 0px;
	background-position: left top;
	position: relative;
	float: left;
	right: -20px;}
.green-sel form {margin: 0 3% 20px 0;}

/*
 * product/* CSS overrides
 */
.rfloatimg {float: left;}
li.product-writer {
	background-image: url(/product/icons/writer.png);
	background-position: right center;
	background-repeat: no-repeat;
	padding: 10px 50px 3px 10px;
}
li.product-calc {
	background-image: url(/product/icons/calc.png);
	background-position: right center;
	background-repeat: no-repeat;
	padding: 10px 50px 3px 10px;
}
li.product-impress {
	background-image: url(/product/icons/impress.png);
	background-position: right center;
	background-repeat: no-repeat;
	padding: 10px 50px 3px 10px;
}
li.product-base {
	background-image: url(/product/icons/base.png);
	background-position: right center;
	background-repeat: no-repeat;
	padding: 10px 50px 3px 10px;
}
li.product-draw {
	background-image: url(/product/icons/draw.png);
	background-position: right center;
	background-repeat: no-repeat;
	padding: 10px 50px 3px 10px;
}
li.product-math {
	background-image: url(/product/icons/math.png);
	background-position: right center;
	background-repeat: no-repeat;
	padding: 10px 50px 3px 10px;
}


/*support/index.html CSS fixes */
span.supporthead {background-position: left top;}
