/* Everything related to forms goes in this sheet */

form,fieldset {
  border: 0;
  width: 100%;
}

.FormBox {
  background: #f7f7f7;
  padding: 15px;
  border: solid 6px #ddd;
  margin: 0 0 15px 0;
  position: relative;
  -moz-border-radius: 10px;
	-webkit-border-radius: 10px;
}



.FormBox h2.Title {
  border-bottom: solid 4px #ebebeb;
  padding-bottom: 6px;
  margin-bottom: 25px;
  font-weight: bold;
}

.FormBox h2.Title span.Required {
  float: right;
  font-size: 12px;
  position: relative;
  top: 5px;
}


.FormActions {
  border-top:solid 1px #ccd4d9;
  margin-top: 22px;
  padding: 8px 0 0 0;
}

.FormBox .FormActions a {
  font-weight: bold;
  font-size: 15px;
  text-decoration: none;
  padding-left: 20px;
  background: url('/images/global/icons/edit_form.gif') top left no-repeat;
}

.FormActions a:hover {
  text-decoration: underline;
}

.RequiredFields {
  position: absolute;
  text-align: right;
  top: 10px;
  left: 0px;
  width: 100%;
  display: none;
}

.RequiredFields span {
  position: relative;
  left: -10px;
}

.FormBox h2 {

  font-size: 18px;
  font-weight: normal;
  margin: 0 0 22px 0;
  color: #666;
}

.FormBox h2.WithTitle {
  margin: 0 0 5px 0;
}

.FormBox label {
  display: block;
  font-weight: bold;
  color: #666;
}

.FormBox p.SubLabel {
  margin-bottom: 8px;
}


/* Stuff relating to text inputs */

.FieldContainer {
  position: relative;
  padding-bottom: 20px;
  background: url('/images/global/checkmark_gray.gif') right 3px no-repeat;
  width: 100%;
}

.TextInput {
  position: relative;
  left: 1px;
  top: 0px;
  width: 97%;
  padding: 5px 3px;
  border-color: #cccccc;
  border-width: 0px 1px 1px 1px;
  border-style: solid;
  background: url('/images/global/bg/textinput_bg.gif') top left repeat-x white;  
}


.Valid {
  background-image: url('/images/global/checkmark_green.gif');
}

.Valid .TextInput {
  border: solid 2px #79ab3a;
  left: 0px;
  top: -1px;
}

.Invalid .TextInput {
  border: solid 2px #db8080;
  position: relative;
  top: -1px;
  left: 0px;
}




.DropDownInput {
  padding: 2px;
}

.TextOutput {
  margin: 4px 0 5px 0;
}

.FormBox .FieldHelper {
  color: #999;
  margin: 0;
}

.FieldHelper span {
  color: #999999;
  font-size: 11px;
}



/* Valid/Invalid */

.FormBox hr {
  border: none;
  border-bottom: solid 1px #CCC;
  height: 1px;
  padding: 0;
  margin: 15px 0px 20px 0px;
}

.FormBox p.TOSDisclaimer {
  border-top: solid 1px #CCC;
  padding-top: 7px;
  margin: 5px 0 12px 0;
}

.FormBox p.ForgotPassword {
  border-top: solid 1px #CCC;
  padding-top: 10px;
  margin: 20px 0 0 0;
}

/*Custom TextInput sizes, set by the fieldcontainer wrapper*/


.SMSPrefix .TextInput {
  width: 120px;
}

.PhoneNumber .TextInput {
  width: 200px;
}

.CardType .TextInput {
  width: 100px;
}

.CardNumber .TextInput {
  width: 230px;
}

.CreateAccount .TextInput {
  width: 80%;
}

.Address .TextInput {
  width: 250px;
}

.PostalCode .TextInput {
  width: 80px;
}

.Region .TextInput {
  width: 200px;

}

.FieldContainer.Names {
  padding-right: 0 !important;
  width: 350px;
}

.Names .TextInput {
  width: 42%;
}

.CardType .TextInput {
  width: 200px;
}

.FormBox .ExpiryMonth {
  width: 70px;
  margin-right: 0;
}

.FormBox .ExpiryYear {
  width: 80px;
  margin-left: 0;

}

.CVV .TextInput {
  width: 60px;
}


.FormButton {
  padding: 2px 8px;  
  overflow: visible;
  font-size: 15px;
  font-weight: normal;
  color: #222;
}

/*Slider*/

/* Tooltips */

.ToolTip {
  position: absolute;
  top: -70px;
  left: 150px;
  padding: 15px 15px 0 15px;
  color: #555;
  width: 380px;
  background: white;
  border: solid 2px #DDD;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
}

.ToolTip p {
  margin-bottom: 15px; 
}

.ToolTip em {
  display: block;
  margin-top: 4px;
  color: #666;
}

.ToolTipLauncher {
  font-weight: normal;
  background: url(/images/global/icons/information.png) top left no-repeat;
  padding: 0 16px 0 0;
  position: relative;
  top: 0px;
  left: 2px;
}

.ToolTipLauncher:hover {
  text-decoration: none;
  background-color: transparent;
}

.ToolTipContainer {
  position: relative;
 	z-index: 100;
}


/*Mobile number form */

.PhoneSuffix {
  width: 100px;
  float: none !important;
}

.PhonePrefix {
  float: left;
  width: 80px !important;
  margin-right: 5px;
  font-family: monospace;
}



.PhonePrefix {
  padding-left: 4px;
}

.PhonePrefix option {
  font-size: 12px;
  padding-left: 20px;
  width: 350px;
  position: relative;
  background-repeat: no-repeat;
  background-position: 1px 1px;
}

.PhonePrefix option span {
  position: absolute;
  top: 10px;
  left: 20px;
}

.PhonePrefix option span {
  display: block;
  padding: 20px;
}

.PhoneLabel {

}

.FormBox h4 {
  margin-bottom: 0px;
}


/* Preview Phone*/


.PreviewPhone .PreviewText {
  position: relative;
	top: 70px;
	left: 31px;
	width: 160px;
	line-height: 120%;
}


.PreviewPhone .PreviewText p {
	line-height: 120%;
	margin-bottom: 0px;
}

.PreviewPhone .PreviewText {
  position: relative;
	top: 70px;
	left: 31px;
	width: 160px;
	line-height: 120%;
}

.PreviewPhone * {
	color: #859092;
}

.PreviewPhone {
	height: 200px;
	width: 224px;
	background: url('/images/global/bg/preview-phone-incoming.gif') top left no-repeat;
	position: absolute;
	left: 330px;
	top: 10px;
}



.FormBox h3.PhoneLabel {
	font-size: 13px;
	padding: 0px;
	margin: 0px;
	font-weight: bold;
	color: #999;
	position: absolute;
	top: 15px;
	width: 100%;
  text-align: center;

}

.FormBox h3 {
  font-size: 12px;
  margin-bottom: 20px;
}

p.EmailOptIn {
  position: relative;
  padding-left: 23px;
  margin-bottom: 12px;
}

p.EmailOptIn input {
  position: absolute;
  left: 0px;
  top: -1px;
}

p.EmailOptIn strong {
  font-size: 15px;
}



.FieldContainer .BlastMessage {
	width: 50%;
}
