/**
 * Global Styles
 */
body,
html {
  margin: 0; }

body {
  font-family: Arial, Helvetica, sans-serif;
  background-color: #ffffff;
  color: #2d3a42;
  min-width: 768px;
  padding: 30px; }

p {
  margin: 0 0 15px 0; }

h2 {
  font-size: 16px;
  font-weight: normal;
  text-transform: uppercase;
  margin: 0 0 1em 0; }

address {
  font-style: normal; }

th,
td {
  vertical-align: top;
  text-align: left; }

/**
 * Wrapper & title
 */
.quote-wrapper {
  margin: 0 auto;
  width: 1280px;
  max-width: 100%;
  font-size: 14px;
  line-height: 1.5em; }

h1.quote-title {
  font-size: 27px;
  font-weight: normal;
  text-transform: uppercase;
  padding-bottom: 15px;
  border-bottom: 1px solid #cfcfcf;
  margin: 0 0 30px 0; }

.quote-title__tag {
  font-size: 14px;
  color: red;
  font-weight: bold; }

/**
 * Header (meta, addresses, date)
 */
table.quote-header {
  margin: 0 0 60px 0;
  border-collapse: collapse;
  width: 100%;
  clear: both;
  vertical-align: top; }

table.quote-header td {
  vertical-align: top;
  text-align: left; }

td.quote-id {
  padding-bottom: 30px; }

td.quote-sandler-logo {
  vertical-align: top; }

td.quote-sandler-logo img {
  display: block;
  width: 170px;
  max-width: 100%;
  margin: 0 0 30px 0; }

td.quote-sandler-logo.custom img {
  width: 250px; }

td.quote-address {
  width: 33.3%;
  padding: 0 15px 0 0; }

td.quote-date {
  padding-top: 15px;
  vertical-align: bottom; }

/**
 * Table
 */
table.quote-table {
  border-collapse: collapse;
  width: 100%;
  clear: both; }

table.quote-table th,
table.quote-table td {
  vertical-align: middle;
  text-align: left;
  padding: 5px 10px;
  border: 1px solid #CCD;
  position: relative; }

table.quote-table th {
  text-transform: uppercase;
  font-weight: normal;
  font-size: 12px;
  line-height: 1.2em;
  padding: 10px 10px; }

table.quote-table th.product,
table.quote-table th.description {
  text-align: left; }

table.quote-table th.image,
table.quote-table th.qty,
table.quote-table th.list-price,
table.quote-table th.gsa-price,
table.quote-table th.discount,
table.quote-table th.net-price,
table.quote-table th.total-price {
  text-align: center; }

table.quote-table td.section-header-cell {
  background-color: #CCD;
  font-size: 13px; }

table.quote-table td.image {
  background-color: #F8F4F4;
  padding: 5px 5px;
  text-align: center; }

table.quote-table td.image img {
  display: block;
  margin: 0;
  width: 70px; }

table.quote-table td.list-price,
table.quote-table td.net-price,
table.quote-table td.total-price {
  text-align: right; }

table.quote-table td.qty,
table.quote-table td.discount {
  text-align: center; }

table.quote-table td.product {
  text-align: left; }

table.quote-table td.description {
  max-width: 500px;
  font-size: 12px; }

.grade-name {
  font-size: 12px; }

.variation-sku {
  margin-top: 15px;
  font-size: 12px;
  line-height: 15px;
  color: #cfcfcf; }

.alternative-flag {
  padding-top: 5px;
  font-size: 12px;
  text-transform: uppercase;
  color: #8b8d8c; }

table.quote-table td.tfoot-cell {
  text-align: right; }

tr.quote-line--add-charges td.description {
  padding-bottom: 45px; }

.add-charges-label,
.add-charges-price {
  position: absolute;
  bottom: 5px;
  right: 10px;
  font-size: 14px; }

.add-charges-discount {
  position: absolute;
  bottom: 5px;
  left: 0;
  width: 100%;
  text-align: center;
  font-size: 14px; }

tr.total-alternatives {
  color: #8b8d8c; }

/**
 * Footer (meta, terms, etc)
 */
.quote-footer {
  margin: 30px 0 0 0; }

.quote-note {
  font-size: 12px;
  margin: 0 0 30px 0; }

.quote-note::last-child {
  margin-bottom: 0; }

.quote-additional {
  margin: 0 0 30px 0; }

table.quote-meta {
  margin: 0 0 30px 0;
  border-collapse: collapse;
  width: 100%;
  clear: both; }

td.quote-meta-column {
  width: 33.33%;
  vertical-align: top;
  text-align: left;
  padding: 0 15px 0 0; }

.quote-terms {
  font-size: 12px; }

.quote-internal {
  width: 100px;
  margin: 15px 0 0 auto; }

/**
 * Actions bar
 */
.quote-actions {
  margin-top: 50px;
  text-align: center; }

.action-button {
  display: inline-block;
  text-transform: uppercase;
  font-size: 15px;
  line-height: 1.2em;
  margin: 10px 3px 0 3px;
  padding: 5px 10px;
  cursor: pointer;
  text-decoration: none;
  overflow: visible;
  font-weight: normal;
  color: #ffffff;
  background-color: #2d3a42;
  border: 0;
  white-space: nowrap; }

.action-button:hover {
  background-color: #dad8da;
  color: #515151; }

.action-button--edit,
.action-button--publish,
.action-button--save-customise,
.action-button--order {
  background-color: #F39801;
  color: #ffffff; }

.action-button--edit {
  margin-right: 20px; }

.action-button--pdf,
.action-button--publish,
.action-button--order {
  margin-left: 20px; }

.action-button--legacy {
  display: none;
  float: left;
  position: relative;
  top: 40px;
  left: -5px;
  color: #2d3a42;
  background-color: transparent;
  margin: 0 0;
  padding: 3px 5px;
  text-transform: none;
  font-size: 13px; }

.action-button--d365__create,
.action-button--d365__push,
.action-button--d365__pull {
  background-color: #204265; }

.action-button--d365__create {
  margin-left: 30px; }

/**
 * Customise quote
 */
.customise-field {
  text-align: inherit; }

.customise-field input,
.customise-field textarea {
  display: block;
  margin: 0;
  border: 1px solid #ffc12e;
  background-color: #fff;
  padding: 5px;
  width: 100%;
  text-align: inherit; }

.customise-field input[type="text"] {
  max-width: 200px; }

.customise-field textarea {
  height: 75px;
  resize: vertical; }

.customise-field input[type="number"] {
  max-width: 65px; }

.add-charges-label .customise-field {
  display: inline-block;
  margin-right: 10px; }

body.quote-body.customise tr.quote-line--add-charges td.description {
  padding-bottom: 70px; }

.customise-field--sundry_code {
  margin-top: 5px; }

/**
 * Styles for project, customer, specifier, etc, forms
 */
.form-message p {
  font-style: italic;
  margin-bottom: 30px; }

.form-message--success p {
  color: #F39801;
  font-weight: bold; }

.form-message--error p,
.sandler-form-field-error,
.sandler-form-field > label > span.required {
  color: #E12128; }

.form-message > a {
  color: inherit !important; }

.form-message table.duplicates-table {
  margin-bottom: 60px; }

.form-message table.duplicates-table th {
  font-weight: bold; }

.form-message tr.duplicates-table-row--current {
  background-color: #dad8da; }

.sandler-form-field {
  margin-bottom: 15px; }

.sandler-form-field > label {
  display: inline-block;
  vertical-align: top;
  width: 150px;
  max-width: 100%;
  text-transform: none;
  font-size: 14px; }

.sandler-form-field-error {
  padding-left: 155px;
  font-size: 90%; }

.sandler-form-field > input[type="text"],
.sandler-form-field > input[type="email"],
.sandler-form-field > textarea,
.sandler-form-field > select {
  display: inline-block;
  vertical-align: top;
  width: 250px;
  max-width: 100%; }

.sandler-form-field > textarea {
  resize: vertical; }

.sandler-form-field > input:read-only {
  background-color: #cfcfcf;
  font-style: italic;
  outline: none; }

.sandler-form-field.has-error > input[type="text"],
.sandler-form-field.has-error > input[type="email"],
.sandler-form-field.has-error > textarea,
.sandler-form-field.has-error > select {
  border-color: #E12128; }

.sandler-form-field--radio > label,
.sandler-form-field--checkbox > label {
  width: auto; }

.sandler-form-radio-options label,
.sandler-form-checkbox-options label {
  display: inline-block;
  margin-right: 15px; }

.sandler-form-radio-options label > input,
.sandler-form-checkbox-options label > input {
  margin-right: 5px; }

.sandler-form-field--hidden {
  display: none; }

.sandler-form-field-redpar,
.sandler-form-field-form-store {
  padding-left: 155px;
  font-size: 90%; }

.sandler-form-field-redpar a,
.sandler-form-field-form-store a {
  text-decoration: underline; }

.sandler-form-buttons {
  padding-left: 155px; }

.sandler-form-buttons button[type="submit"] {
  margin-right: 30px; }

.sandler-form-buttons .button {
  background-color: #dad8da;
  color: #515151;
  margin-right: 5px; }

.sandler-form-buttons .button:hover {
  background-color: #2d3a42;
  color: #ffffff; }

.sandler-form-buttons .button.button--primary {
  background-color: #2d3a42;
  color: #ffffff; }

.sandler-form-buttons .button.button--primary:hover {
  background-color: #dad8da;
  color: #515151; }

.section-product-list {
  min-height: 200px; }
