h3 {margin-bottom:5px; margin-top:10px;}
ul, ol {list-style-type:none;}
.summary_vertical dt, .summary_vertical dd {line-height:1.2em; width:50%;}
dt.total, dd.total {padding-top:5px; margin-top:5px; border-top:1px solid #AAA;}
#personal, #email_info, #password_info {margin-bottom:20px;}

#phones {}
#phones li {float:left; display:block; margin-bottom:10px;}
#phones li > div {padding:10px; border:2px solid #AAA; background-color:#CCC; text-align:center;} 
#phones label {}
#phones select {width:100%; text-align:center;}

#plans  li {float:left; display:block; margin-bottom:10px; margin-top:10px;}
#plans li a, #dataplans li a  {text-decoration:none;}
#plans h3 {height:0; margin-bottom:20px;}

#summary dl {margin-top:20px;}

.summary_horizontal {background-color:#f5f5f5; margin-bottom:10px; display:block; width:100%; border-bottom:2px solid #AAA; border-top:2px solid #AAA;}
.summary_horizontal dt {float:left; padding:8px 0 8px 8px;}
.summary_horizontal dd {float:left; margin:0 20px 0 0; padding:8px 4px;}

.summary_vertical {}
.summary_vertical dt {float:left; clear:left;}
.summary_vertical dd {float:right; text-align:right;}

ol.horizontal li, ul.horizontal li {float:left; display:block; width:25%;}

#choose_deposit {float:left; padding:0; margin:20px 0 20px 10px; padding-right:-10px;}
#choose_deposit ol {margin:0; padding:0; background-color:#f5f5f5; border-top:2px solid #AAA; border-bottom:2px solid #AAA;}
#choose_deposit li {line-height:1.3em; padding-top:5px; padding-bottom:5px; margin-top:0; margin-bottom:0;}
#choose_deposit h3 {}

#terms_and_conditions {margin-top:10px;}
.box dl, .box ol, #terms_and_conditions p {
  border-top:2px solid #AAA; 
  border-bottom:2px solid #AAA; 
  background-color:#f5f5f5; 
  padding:10px; 
  margin:0; 
}

#summary_personal {}
#summary_plans {}
#summary_paynow {}
#summary_paynow label {}
#summary_paylater {}

#how_paylater, #how_paynow {margin-top:20px;}

.submit {margin-bottom:20px; margin-top:20px;}
#next {float:right;}

#direct_debit {background-color:#f5f5f5; margin-top:0; padding:10px; border-bottom:2px solid #AAA; margin-top:-1px;}
#direct_debit input {float:left; margin-right:5px; border:1px solid #AAA;}
#dd1 {width:40px;}
#dd2 {width:40px;}
#dd3 {width:25px;}
#dd4 {width:100px;}

#delivery_address_outer {margin-top:20px;}
#delivery_address_outer h3 {}
#delivery_address_outer>label {background-color:#f5f5f5; border-bottom:2px solid #AAA; border-top:2px solid #AAA; padding:5px 10px; line-height:1.3em; display:block;}

#delivery_address {background-color:#f5f5f5; margin-top:0; padding:10px; border-bottom:2px solid #AAA; margin-top:-1px;}
#delivery_address h4 {border-bottom:1px solid #AAA; margin-bottom:6px; padding-bottom:2px;}
#delivery_address label {float:left; clear:both; font-size:10px; padding:2px 0; margin:2px 0;}
#delivery_address input {margin-left:10px; font-size:10px; float:right; border:1px solid #AAA; margin:2px 0;}
#delivery_address #address_line1 {}
#delivery_address #address_line2 {}
#delivery_address #address_zip {}
#delivery_address #address_city {}

#final_summary {padding-bottom:20px;}
#final_summary table {width:60%; border-collapse:collapse;}
#final_summary td {text-align:right; padding:2px 10px;}
#final_summary td.text {text-align:left; padding:2px 0;}
#final_summary tr.sum td {border-top:1px solid #AAA; padding-top:5px;}

.hidden {display:none;}

.button {
  text-decoration:none;
  display:block;
  font-size:2em;
  line-height:3em;
  text-align:center;
  background-color:#f5f5f5;
  border-top:2px solid #CCC;
  border-left:2px solid #CCC;
  border-right:2px solid #AAA;
  border-bottom:2px solid #AAA;
}

.button:hover {
  border-top:2px solid #AAA;
  border-left:2px solid #AAA;
  border-right:2px solid #CCC;
  border-bottom:2px solid #CCC;
}

#dataplans .button {
  font-size:1em;
  line-height:1.2em;
  padding:25px 0;
  vertical-align:middle;
  font-weight:bold;
}

a.chosen {background-color:#AADDAA;}

span.checkbox {
	width: 19px;
	height: 25px;
	padding: 0 5px 0 0;
	background: url(/images/checkbox.png) no-repeat;
	display: block;
	clear: left;
	float: left;
}

span.radio {
	width: 19px;
	height: 25px;
	padding: 0 5px 0 0;
	background: url(/images/radio.png) no-repeat;
	display: block;
	clear: left;
	float: left;
}

span.select {
	position: absolute;
	width: 158px; /* With the padding included, the width is 190 pixels: the actual width of the image. */
	height: 21px;
	padding: 0 24px 0 8px;
	color: #fff;
	font: 12px/21px arial,sans-serif;
	background: url(/images/select.png) no-repeat;
	overflow: hidden;
}

#insurance_cnt {position:relative;}
#insurance_cnt span {position:absolute; right:80px; top:5px;}
.flash {font-weight:bold; border:2px solid #AAA; margin-bottom:10px;}
.error {border: 2px solid #F44;}
.flash p {padding:10px;}

h3 a.info {float:right;}
