input.sam.input,
textarea.sam{
  appearance: none;
  border: 1px solid #aeb0b5;
  border-radius: 0;
  box-sizing: border-box;
  color: #212121;
  display: block;
  font-size: 15px;
  line-height: 1.3;
  margin: 5px 0 15px;
  max-width: 460px;
  padding: 10px;
  width: 100%;
}

input.sam.input{
  height: 40px;
}

textarea.sam{
  height: 160px;
}

select.sam{
  border: 1px solid #aeb0b5;
}

input.sam.input:focus,
input.sam.input.focus,
textarea.sam:focus,
select.sam:focus{
  outline: 2px dotted #aeb0b5;
  outline-offset: 3px;
  box-shadow: none;
}

input.sam.input.error{
  border-color: #E31C3D;
}

.sam.input.error.message{
  display: block;
  margin-top: 5px;
  .fa{
    font-size: 20px;
    color:#E31C3D;
  }
}

.sam.input.label{
  color: #323A45;
  &.optional{
    font-weight: 400;
    color:#5B616B;
  }
}

.sam.content{
  max-width: 75ch;
}

.dollar-text{
  text-align:right;
}

[type=checkbox].sam,
[type=radio].sam {
  // The actual input element is only visible to screen readers, because
  // all visual styling is done via the label.
  position: absolute;
  left: -999em;
}

[type=checkbox].sam + label,
[type=radio].sam + label {
  display: block;
  cursor: pointer;
  font-weight: 400;
  margin-bottom: 10px;
}

[type=checkbox].sam + label::before,
[type=radio].sam + label::before {
  background: white;
  border-radius: 2px;
  box-shadow: 0 0 0 1px #757575;
  content: '\a0';
  display: inline-block;
  height: 20px;
  line-height: 20px;
  margin-right: 10px;
  text-indent: 0.15em;
  vertical-align: middle\0; // Target IE 11 and below to vertically center inputs
  width: 20px;
}

[type=radio].sam + label::before {
  border-radius: 100%;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 3px #757575;
  height: 14px; // Size overrides to account for shape + checked styling
  line-height: 14px;
  margin-right: 10px;
  width: 14px;
}

[type=checkbox].sam:checked + label::before,
[type=radio].sam:checked + label::before {
  box-shadow: 0 0 0 2px #112e51;
}

[type=radio].sam:checked + label::before {
  background-color: #112e51;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #112e51;
}

[type=checkbox].sam:checked + label::before,
[type=checkbox].sam:checked:disabled + label::before {
  background-color: transparent;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 216 146'%3e%3cpath fill='%23112e51' d='M168.86 37.966l-11.08-11.08c-1.52-1.52-3.367-2.28-5.54-2.28-2.172 0-4.02.76-5.54 2.28L93.254 80.414 69.3 56.38c-1.52-1.522-3.367-2.282-5.54-2.282-2.172 0-4.02.76-5.54 2.28L47.14 67.46c-1.52 1.522-2.28 3.37-2.28 5.542 0 2.172.76 4.02 2.28 5.54l29.493 29.493 11.08 11.08c1.52 1.52 3.368 2.28 5.54 2.28 2.173 0 4.02-.76 5.54-2.28l11.082-11.08L168.86 49.05c1.52-1.52 2.283-3.37 2.283-5.54 0-2.174-.76-4.02-2.28-5.54z'/%3e%3c/svg%3e");
  background-position: 50%;
  background-repeat: no-repeat;
}

[type=radio].sam:focus + label::before {
  outline: 2px dotted #aeb0b5;
  outline-offset: 6px;
}

[type=checkbox].sam:disabled + label,
[type=radio].sam:disabled + label {
  color: #d6d7d9;
}

[type=checkbox].sam:focus + label::before {
  outline: 2px dotted #aeb0b5;
  outline-offset: 3px;
}

[type=checkbox].sam:disabled + label::before,
[type=radio].sam:disabled + label::before {
  background: #f1f1f1;
  box-shadow: 0 0 0 1px #aeb0b5;
  cursor: not-allowed;
}

[type=radio].sam:disabled + label::before {
  box-shadow: 0 0 0 2px #f1f1f1, 0 0 0 3px #aeb0b5;
}
