/**
* @author   Open Images Platform
* @since    May 2009
* @name     Main stylesheet
* @version  '$Id$'
*/

@import url("framework.css");
@import url("specific-styles.css");
@import url("mmbase.css");
@import url("components.css");

/* general elements */
body, div, p, pre, blockquote, img, hr, h1, h2, h3, h4, h5, h6, ul, ol, li, dd, dl, dt, 
form, fieldset, table, thead, tbody, tfoot, tr, th, td, address
{
	padding: 0;
	margin: 0;
}

html
{
	background: #fff;
	color: #666;
}

body
{
	line-height: 1.5em;
	font-family: Helvetica, sans-serif;
	font-size: 0.85em;
}

/* html styles */
img { border: 0; }
hr
{
	clear: both;
	margin: 1em 0;
}

h1, h2, h3
{
	font-family: "Helvetica Neue", Helvetica, sans-serif;
	font-weight: 200;
	text-transform: uppercase;
	letter-spacing: 1pt;
	margin: 8px 0 12px 0;
	color: #7F7F7F;
	clear: both;
}

div.error h1, 
div.error h2,
div.error.h3 { text-transform: none; }

h2 { font-size: 1.3em; }
h3 { font-size: 1.2em; }
h4
{
	font-size: 1.05em;
	color: #777;
}

h5
{
	font-size: 1em;
	color: #777;
}

a:link { color: #c00; }
a:visited { color: #333; }
a:hover, a:active
{
	color: #c00;
	text-decoration: underline;
}

h2 a:link, h2 a:visited,
h3 a:link, h3 a:visited,
h4 a:link, h4 a:visited,
h5 a:link, h5 a:visited
{
	color: #a2a2a2;
	text-decoration: none;
}

h2 a:hover, h2 a:active,
h3 a:hover, h3 a:active,
h4 a:hover, h4 a:active,
h5 a:hover, h5 a:active
{
	color: #C00;
	text-decoration: underline;
}


p { margin-bottom: 1em; }

/* generic classes */
.hidden { display: none; }


/* generic messages */
.msg, 
.err {
	font-family: Helvetica, sans-serif;
	width: auto;
	text-align: center;
	color: #000;
	clear: both;
}
.err em, 
.msg em {
	font-size: 0.8em;
	display: block;
}
.msg {
	border: 2px solid #679911;
	background-color: #CEFFCD;
}
.err {
	border: 2px #F93537 solid;
	background-color: #FDD3C7;
}
.msg.grey {
	background-color: #efefef;
	border-color: #ccc;
	text-align: left;
}

p.msg, 
div.msg, 
p.err, 
div.err {
	margin: 4px 0 4px 0;
	padding: 0.5em;
}
p.msg.grey { margin-bottom: 12px; }
div#error.err {	text-align: left; }
div#error.err p {
	font-family: Monaco, Courier, monospaced;
	font-size: 0.9em;
}

/* general form stuff (apply to all forms) */
fieldset
{
	border: 0;
	margin-bottom: 1em;
	clear: both;
}
fieldset > div
{
	clear: both;
	padding-bottom: 6px;
	margin: 0;
	min-height: 28px;
}
label
{
	display: block;
	float: left;
	width: 148px;
	color: #888;
	padding-top: 2px;
	cursor: pointer;
}
fieldset.captcha label {
    width: 240px;
}
fieldset.captcha input {
    width: 120px;
}

/* labels for textareas */
label.intro,
label.body,
label.description,
label.you_allow,
label.contributor,
label.relation { float: none; }

input
{
	width: 352px;
	padding: 5px;
	margin: 0 0 6px 0;
	color: #888;
	font-size: 1em;
	font-family: Helvetica, sans-serif;
	line-height: 20px;
	border: 1px solid #cfcfcf;
}
input[type="radio"], 
input[type="checkbox"],
input[type="file"]
{
	width: auto;
	border: none;
}
input[type="file"] { /*margin-left: 148px;*/ }
textarea
{
	width: 498px;
	padding: 5px;
	color: #888;
	font-size: 1em;
	font-family: Helvetica, sans-serif;
	line-height: 15pt;
	border: 1px solid #cfcfcf;
}

div.b_user-media textarea.big { width: 500px; }
div.b_user-media textarea.small
{
	width: 500px;
	height: 80px;
}

/* I thought we left the Dark Ages of browser sniffing */
@media screen and (-webkit-min-device-pixel-ratio:0) { 
    input { padding: 2px; width: 358px; }
    textarea { width: 500px; } 
    div.b_user-media textarea.big, div.b_user-media textarea.small { padding: 2px; width: 506px; } 
}

form div p.info
{
	display: none;
	position: absolute;
	z-index: 1;
	width: 356px;
	background: #999;
	color: #fff;
	margin-left: 148px;
	margin-top: 26px;
	padding: 4px !important;
	font-size: 0.9em;
	text-align: left;
}

form div.intro p.info,
form div.body p.info,
form div.description p.info,
form div.you_allow p.info,
form div.contributor p.info,
form div.relation p.info
{
	margin-left: 0;
	margin-top: 1px;
	width: 504px;
}

input.radiobutton { width: auto; }

input.submit, 
input.cancel, 
input.info {
	width: auto;
	cursor: pointer;
	min-width: 72px;
	padding: 5px 10px;
	margin-top: 8px;
	font-size: 1.1em;
	color: #555;
	border: 1px solid #dadada;
	background-color: #f4f4f4;
	background-image: url(images/button-gradient.png);
	background-repeat: no-repeat;
	background-position: 0 50%;
	/* for css3 savvy browsers below */
	background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#efefef));
	background: -moz-linear-gradient(top, #f9f9f9, #efefef);
}
input.cancel { border-right: none; }
form#search input.submit,
form#loginform input.submit,
input#submit_registration,
input#submit_upload { float: right; }
form#loginform input.submit { margin-top: 0; }
fieldset.buttons {
	text-align: right;
}


/* remove ugly borders in Firefox */
input[type="submit"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner { border: 0; }

div.b_user-media input#delete,
div.b_user-media input.submit,
div.b_user-media input.info,
div.b_user-mediadelete input#cancel,
div.b_user-mediadelete input#delete { margin-left: 0; }
div.b_user-mediadelete input#cancel { margin-right: 12px; }

div.b_user-media input.info
{
	border-right: 0;
	padding-right: 26px;
	background-image: url(images/button-gradient.png);
	background-repeat: no-repeat;
	background-position: right 50%;
}

input[disabled]
{
	cursor: auto;
	border: 1px solid #CE8A8A;
	color: #CE6868;
} 

p.required
{
	font-style: italic;
	color: #888;
}
p.required span { font-style: normal; }

span.text, span.text span {
  display: inline-block;
  color: transparent;
  overflow: hidden;
  background-repeat: no-repeat;
  white-space: nowrap;
}

/* search form */
form#search { width: 190px; }
form#search h2 { margin-top: 16px; }
form#search fieldset { width: 190px; }
form#search label
{
	font-style: italic;
	cursor: default;
	font-size: 0.9em;
}
form#search label.license, form#search label.mm_searchlang
{
	font-style: italic;
	display: none;
}
form#search input { width: 180px; }
@media screen and (-webkit-min-device-pixel-ratio:0) { 
    form#search input { padding: 2px; width: 186px; } 
}

form#search select
{
	width: 190px;
	margin-bottom: 4px;
}
form#search select#mm_searchlang,
form#search select#license { margin-top: 10px; }
form#search select#license { margin-bottom: 16px; }

form#search fieldset.button {
	margin: 0;
	padding-bottom: 0;
}
form#search input.submit
{
	width: auto;
	margin-right: 0;
	margin-bottom: 0;
	padding-left: 6px;
	padding-right: 6px;
}

input#searchinput
{
	background-image: url(images/search-bg.png);
	background-position: right 50%;
	background-repeat: no-repeat;
}

form#search p
{
    text-align: right;
    text-transform: lowercase;
    font-size: 0.9em;
}

form#search p a:link,
form#search p a:visited
{
    color: #868686;
    text-decoration: none;
}

form#search p a:hover,
form#search p a:active
{
    color: #c00;
    text-decoration: underline;
}

#usersearch input {
    background-image: url(images/search-bg.png);
    background-position: 100% 50%;
    background-repeat: no-repeat;
}

/* 
  Trick for IE, which SUCKS
  IE does not support color: transparent;
  It also does not support [class=text] selector.
  In IE6 you can't search/select the text, but at least it looks ok.
  I don't know about IE7/IE8.
*/
span.text span {
    visibility: hidden;
}
/*
span[class=text] span  { 
  visibility: visible !important
}
*/

/* TODO: class */
.TODO {
  /*text-decoration: blink;*/
}
