body
{
  padding: 0;
  margin-left: 0.8em;
  margin-right: 0.8em;
  margin-top: 0.2em;
  margin-bottom: 0.2em;
  font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
}

fieldset, form, table, tbody
{
  border: none;
  margin: 0;
  padding: 0;
}

a
{
  text-decoration: none;
  color: #5683c1;
}

a:hover
{
  text-decoration: underline;
}

div.ws_main_frame
{
  /* max-width isn't working in IE 8, Chrome and Safari if it is applied for table*/
  /*, but it is working for div here*/
  max-width: 58em;
  margin-left: auto;
  margin-right: auto;
}

table.main
{
  width: 100%;
  height: 100%;
  /*margin: 0;*/
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
  font-size: 0.8em;
}

table.main td.main
{
  width: 100%;
  background-image: url( '../images/logo_icon.png');
  background-repeat: no-repeat;
  background-position: 20px top;
  /*background-position: left top;*/
  /*vertical-align: middle;*/
}
div.main_block
, div.message_block
{
  min-width: 33.5em;
}

div.main_block
{
  margin-top: 0;
  margin-bottom: 0;
  border: solid 1px black;
  /*background-color: #DFE5E5;*/
  background-color: #F7F7F7;
}

div.message_block
{
  margin-top: 0;
  margin-bottom: 0;
  border-top: solid 1px black;
  border-left: solid 1px black;
  border-right: solid 1px black;
  border-bottom: none;
  background-color: #DFE5E5;
  padding-top: 0.5em;
  padding-bottom: 0.7em;
}

table.main td.main div.message_block
, table.main td.main div.main_block
, table.main td.main div.logo
{
  /* Strange behaviour of IE 8 in compatible view - it doesn't add margin-bottom for centered_block*/
  /* if this widht isn't specified */
  margin-left: 92px; /*auto;*/
  margin-right: auto;
  width: 80%;/*61.8%;*/
}

table.main td.main div.input_block
{
  margin-left: auto;
  margin-right: auto;
  width: 80%;
}

table.main td.main div.logo
{
  text-align: left;
  vertical-align: top;
  padding-top: 30px;
  padding-bottom: 1em;
  font-size: 1.5em;
}

table.main td.main div.error div.message
{
  color: red;
  /*font-weight: bold;*/
}

table.main td.main div.message_block div.message
{
  text-align: left;
  margin-top: 0.2em;
  margin-left: 2em;
  margin-right: 1em;
}

table.main td.main div.input_block
{
  margin-top: 1em;
  margin-bottom: 1em;
}

div.input_block table.input_table 
{
  margin-left: auto;
  margin-right: auto;
}

div.input_block table.input_table table td
{
  white-space: nowrap;
}

table.input_table td.index
{
  vertical-align: top;
  font-size: 1.3em;
  font-weight: bold;
}

table.input_table td.control
{
  vertical-align: top;
  padding-top: 0.3em;
}

table.input_table td.control input
{
  width: 95%;
  /*border: solid 2px black;*/
  margin-top: 0.3em;
}

table.input_table tr.error td.description
, table.input_table tr.error td.control div.title
, table.a_control tr.error td.title
{
  color: red;
}

table.input_table tr.error td.control input
, table.a_control tr.error td.control input
{
  /*border-color: red;*/
  border: solid 2px red;
}

table.reg_frame
{
  margin: 0.5em;
}


table.reg_frame td.data
, table.reg_frame td.information
{
  vertical-align: top;
  padding: 0.5em;
}

table.reg_frame td.data
{
  width: 53%;
}

table.reg_frame td.control div.title
{
  font-weight: bold;
}

table.reg_frame td.control div.description
{
  font-size: 0.9em;
  font-style: italic
}

table.reg_frame td.information
{
  padding-top: 3em;
}

table.reg_frame td.information div.title
{
  font-weight: bold;
  /*font-size: 0.9em;*/
}

table.reg_frame td.information ul
, table.reg_frame td.information div.note
{
  font-size: 0.9em;
}

table.reg_frame td.information ul
{
  padding-left: 1em;
  margin: 0;
  /*padding: 0;*/
}

table.reg_frame td.information ul li
, table.reg_frame td.information div.note
{
  margin-top: 1em;
}

div.main_block div.ctrl_block
, div.main_block div.message
{
  text-align: center;
}

/*
div.main_block div.message
{
  font-size: 0.9em;
}
*/

div.main_block div.top_title
{
  margin-left: 0.8em;
  margin-top: 0.5em;
  margin-right: 0.5em;
  font-size: 1.2em;
}

div.main_block div.top_description
{
  margin-left: 1em;
  margin-right: 0.5em;
}

div.main_block div.top_note
{
  margin-top: 0.5em;
  margin-left: 2em;
  margin-right: 0.5em;
}

div.main_block div.bottom_description
{
  font-size: 0.9em;
  margin-left: 1em;
  margin-right: 1em;
  margin-top: 1em;
  margin-bottom: 1em;
}

div.main_block div.bottom_description div.bottom_title
{
  font-weight: bold;
}

div.main_block div.centered_block
{
  /*width: 55%;*/
  width: 39em;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1em;
  margin-bottom: 1em;
  font-size: 0.9em;
}

div.main_block div.status
, div.main_block div.error
{
  font-size: 0.9em;
}

table.a_control
{
  margin: 1em;
}

table.a_control td.index
{
  padding-top: 0.9em;
  padding-right: 0.6em;
  vertical-align: top;
  font-size: 1.2em;
  font-weight: bold;
}

table.a_control td.description
{
  vertical-align: top;
  padding-top: 1.2em;
}

table.a_control td.control
{
  text-align: left;
  padding: 0;
  width: 90%;
}

table.a_control td.title
{
  text-align: right;
  white-space: nowrap;
  padding-left: 3em;
  font-weight: bold;
}

table.a_control td.control input
{
  /*border: solid 2px black;*/
  margin-top: 0.3em;
  /*width: 27em;*/
  width: 95%;
  max-width: 27em;
}

table.input_table span.field_title
{
  font-weight: bold;
}

table.input_table input.long_text
{
  width: 20em;
}

table.input_table td.login_title
, table.input_table td.login_input
, table.input_table td.login_additional
, table.input_table td.login_note
{
  padding-left: 3em;
}

table.input_table td.login_title
{
  font-weight: bold;
  padding-top: 0.5em;
}

table.input_table td.login_additional
{
  padding-top: 0.5em;
}

table.input_table td.login_input input
{
  width: 25em;
}

/*
table.input_table td.login_input a
{
  padding-left: 0.5em;
}
*/

table.input_table td.login_note a
{
  padding-left: 2px;
}

div.input_block table.input_table td.inputs input
, div.input_block table.input_table td.inputs label
{
  vertical-align: middle;
}

div.openid
{
  text-align: center;
  margin-top: 1em;
  margin-right: auto;
}
div.openid img.logo
{
  border: none;
  margin-right: 1em;
  vertical-align: middle;
}

/*div.main_block.white_block*/
/*{*/
  /*background-color: white;*/
  /*border: solid 1px #316BB5;*/
/*}*/

div.main_block.white_block div.top_right
{
  float: right;
  margin-top: 0.5em;
  margin-right: 0.5em;
}
div.main_block.white_block div.green_title
{
  clear: both;
  color: #00A552;
  font-size: 1.1em;
  font-weight: bold;
  text-align: center;
  margin-bottom: 2.4em;
}

div.main_block.white_block div.green_title img
{
  padding-right: 0.7em;
  vertical-align: -8px;
}

div.main_block.white_block div.top_note
{
  font-size: 1.1em;
  margin-bottom: 1.7em;
}

div.main_block div.registration_note
{
  padding-left: 35px;
  padding-right: 1em;
  padding-top: 2em;
  padding-bottom: 2em;
  background-color: #fbf9df;
  border-bottom: solid 1px black;
  background-image: url( '../images/exclamation_icon.png');
  background-position: 5px 20px;
  background-repeat: no-repeat;
}