* {
  background: transparent;
  border: 0;
  box-sizing: content-box;
  color: inherit;
  cursor: inherit;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: normal;
  margin: 0;
  outline: 0;
  padding: 0;
  text-decoration: none;
  text-indent: 0;
  vertical-align: baseline;
}
*:focus {
  outline: 0;
}

html,
body {
  cursor: default;
  font-style: normal;
  text-align: center;
  line-height: 1.5;
  scroll-margin-top: 90px; /* Account for fixed header */
  scroll-behavior: smooth;
}

ol,
ul {
  list-style: none;
}

q,
blockquote {
  quotes: none;
}

q:after,
q:before,
blockquote:after,
blockquote:before {
  content: none;
}

hr {
  height: 0;
  visibility: hidden;
}

img {
  cursor: default;
}

input,
textarea {
  cursor: text;
}

input[type="file"] {
  cursor: pointer;
}

a,
a *,
label,
button,
button *,
input[type="radio"],
input[type="checkbox"],
input[type="submit"],
input[type="button"],
input[type="image"] {
  cursor: pointer;
}

input[type="text"],
input[type="password"] {
  cursor: text;
}

button::-moz-focus-inner {
  border: 0;
  padding: 0;
}

hr,
br {
  clear: both;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  vertical-align: top;
}

body {
  color: #40382c;
  font: 16px Raleway, sans-serif;
  font-weight: 400;
}

::-moz-selection {
  background: #dd5301;
  color: white;
}

::selection {
  background: #dd5301;
  color: white;
}

*:before,
*:after {
  font-family: FontAwesome;
}

article a {
  color: #dd5300;
  text-decoration: underline;
  transition: color 0.2s linear;
}
article a:hover,
article a:focus {
  color: #ff7522;
}
article strong,
article strong * {
  font-weight: 600;
}
article em,
article em * {
  font-style: italic;
}
article h1 {
  color: #dd5300;
  font-size: 4.5em;
  font-weight: 200;
}
article h3 {
  font-size: 1.5em;
  font-weight: 600;
}
article p {
}
article section.body {
  margin: 0 auto;
  max-width: 720px;
  padding: 0 60px;
  text-align: left;
}
article section.body p {
}

nav.breadcrumbs {
  background: #f3f1e6;
  left: 0;
  position: absolute;
  right: 0;
  text-align: left;
  top: 90px;
}
nav.breadcrumbs li {
  display: inline-block;
  padding: 1em;
  position: relative;
  vertical-align: middle;
}
nav.breadcrumbs a {
  display: block;
  margin: -1em;
  padding: 1em;
  white-space: nowrap;
}
nav.breadcrumbs li + li:before {
  content: "\f105";
  left: -1em;
  position: absolute;
  text-align: center;
  top: 1em;
  width: 2em;
}

@media screen and (max-width: 800px) {
  nav.breadcrumbs {
    display: none;
  }
}
::-webkit-input-placeholder {
  color: #b19d81;
}

:-moz-placeholder {
  color: #b19d81;
}

::-moz-placeholder {
  color: #b19d81;
}

:-ms-input-placeholder {
  color: #b19d81;
}

.btn,
button,
input[type="button"],
input[type="submit"] {
  background: #eceadc;
  border: 3px double #ddb189;
  border-radius: 2px;
  color: #c66225 !important;
  display: inline-block;
  font-size: 1.5em;
  font-weight: 600;
  line-height: 2;
  padding: 0 1.5em;
  text-decoration: none !important;
  transition: background 0.2s linear, border 0.2s linear, box-shadow 0.2s linear;
  vertical-align: middle;
}
.btn:hover,
.btn:focus,
button:hover,
button:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus {
  background-color: white;
  border: 3px solid white;
  box-shadow: 0 0 0 2px #c66225;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"] {
  border-bottom: 2px solid #c7baa7;
  box-sizing: border-box;
  color: #40382c;
  display: inline-block;
  height: 2em;
  font-size: 1.5em;
  font-weight: 200;
  margin: 30px;
  padding: 0.5em;
  transition: border 0.2s linear;
  vertical-align: bottom;
  width: 370px;
}
input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="url"]:focus {
  border-color: #dd5300;
  font-weight: 400;
}

textarea {
  background: #f3f1e6;
  border-bottom: 2px solid #c7baa7;
  box-sizing: border-box;
  color: #40382c;
  display: inline-block;
  font-size: 1.5em;
  font-weight: 200;
  height: 10.5em;
  line-height: 1.5;
  margin: 30px auto;
  max-width: 800px;
  padding: 0.5em;
  transition: border 0.2s linear;
  vertical-align: bottom;
  width: 100%;
}
textarea:focus {
  border-color: #dd5300;
  font-weight: 400;
}

.select {
  border-bottom: 2px solid #c7baa7;
  box-sizing: border-box;
  color: #40382c;
  cursor: pointer;
  display: inline-block;
  font-size: 1.5em;
  font-weight: 200;
  height: 2em;
  margin: 30px;
  padding: 0.5em;
  position: relative;
  transition: border 0.2s linear;
  vertical-align: bottom;
  width: 370px;
}
.select select {
  box-sizing: border-box;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}

.file {
  background: #f3f1e6;
  border-bottom: 2px solid #c7baa7;
  box-sizing: border-box;
  color: #40382c;
  display: inline-block;
  font-weight: 200;
  overflow: hidden;
  margin: 30px;
  padding: 0;
  transition: border 0.2s linear;
  vertical-align: bottom;
  width: 370px;
}
.file label {
  display: block;
  font-weight: 600;
  padding: 1em;
  text-align: center;
}
.file label img {
  cursor: pointer;
  display: block;
  margin: 1em auto 0;
  max-width: 100%;
}
.file label a {
  display: block;
  margin: 1em 0 0;
  transition: box-shadow 0.2s linear;
}
.file label a img {
  margin: 0 auto;
}
.file label a:hover {
  background: #d95100;
  box-shadow: 0 0 0 3px #d95100;
}
.file input {
  background: #baa991;
  padding: 1em;
  margin: 0 -0.5em;
  width: 100%;
}

.fieldError input[type="text"],
.fieldError input[type="password"],
.fieldError input[type="email"],
.fieldError input[type="url"],
.fieldError textarea,
.fieldError .select {
  background: #f5dee3;
  border-bottom: 2px dashed #ee0032;
}

p > label {
  color: #dd5300;
  display: block;
  font-weight: 600;
  margin: 0 auto;
  max-width: 800px;
  text-align: left;
}
p > label + input[type="text"],
p > label + input[type="password"],
p > label + input[type="email"],
p > label + input[type="url"],
p > label + textarea,
p > label + .select {
  margin-top: 0.5em;
}

.radioSelect {
  border-bottom: 2px solid #c7baa7;
  box-sizing: border-box;
  color: #40382c;
  display: inline-block;
  font-size: 1.5em;
  font-weight: 200;
  height: 2em;
  margin: 30px;
  overflow: hidden;
  position: relative;
  transition: border 0.2s linear;
  vertical-align: bottom;
  width: 370px;
}
.radioSelect:after {
  color: #b19d81;
  content: "\f0d7";
  position: absolute;
  line-height: 2;
  right: 0;
  text-align: center;
  top: 0;
  width: 2em;
}
.radioSelect ol {
  height: 0;
  margin: 0;
  padding: 2em 0 0;
  position: static;
}
.radioSelect ol input {
  left: -999em;
  position: absolute;
}
.radioSelect mark,
.radioSelect input:checked ~ label {
  bottom: 0;
  cursor: pointer;
  font-weight: 200;
  left: 0;
  overflow: hidden;
  padding: 0.5em;
  position: absolute;
  right: 2em;
  text-align: left;
  top: 0;
  white-space: nowrap;
}
.radioSelect mark {
  color: #b19d81;
}
.radioSelect input:checked ~ label {
  color: #40382c;
}
.radioSelect:hover {
  border-color: #dd5300;
}
.radioSelect:hover:after {
  color: #dd5300;
}
.radioSelect:hover mark {
  font-weight: 400;
}
.radioSelect.open {
  overflow: visible;
}
.radioSelect.open ol {
  background: white;
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.1);
  height: auto;
  left: 0;
  margin: 0;
  max-height: 12em;
  overflow: scroll;
  overflow-x: hidden;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 9;
}
.radioSelect.open ol li {
  list-style: none;
  padding: 0;
  overflow: hidden;
}
.radioSelect.open ol li label {
  color: #40382c;
  display: block;
  font-size: 0.75em;
  font-weight: 400;
  overflow: hidden;
  padding: 1em;
  position: static;
  text-align: left;
  white-space: normal;
}
.radioSelect.open ol li label:hover,
.radioSelect.open ol li label:focus {
  background: #dd5300;
  color: white;
}
.radioSelect.open ol li ~ li label {
  border-top: 1px solid #f3f1e6;
}
.radioSelect.open ol li input:checked ~ label {
  background: #1a160e;
  color: white;
  font-weight: 600;
}
.radioSelect.hasValue mark {
  display: none;
}

@media screen and (max-width: 863px) {
  textarea {
    max-width: 370px;
  }
}
body.busy:after,
#mask {
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 97;
}

#mask:after {
  background: #1a160e;
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0.8;
  filter: alpha(opacity=80);
  position: absolute;
  right: 0;
  top: 0;
}

body:after {
  background: url("/assets/images/busy.gif") 50% 50% no-repeat #1a160e;
  opacity: 0.8;
  filter: alpha(opacity=80);
}

body.busy:after {
  content: "";
}

body.busy:before {
  bottom: 50%;
  color: white;
  content: attr(data-busy);
  font: 4em Raleway, sans-serif;
  font-weight: 200;
  left: 0;
  margin: 0 0 70px;
  position: fixed;
  right: 0;
  text-align: center;
  z-index: 98;
}

body.busy.hasMask:before,
body.busy.hasMask:after {
  display: none;
}

body > .modal {
  background: white;
  box-shadow: 0 0 50px rgba(18, 14, 10, 0.7);
  display: none;
  left: 50%;
  margin: -100px 0 0 -300px;
  padding: 50px;
  position: fixed;
  text-align: left;
  top: 30%;
  width: 500px;
  z-index: 99;
}
body > .modal h1 {
  color: #db5200;
  font-size: 2em;
  font-weight: 200;
  text-transform: capitalize;
}
body > .modal h1 + p {
  margin-top: 2em;
}
body > .modal p {
  font-size: 1.1em;
}
body > .modal .actions {
  background: #eceadc;
  margin: 50px -50px -50px;
  padding: 10px;
  text-align: center;
}
body > .modal .actions button + button {
  margin-left: 10px;
}

body > .modal.active {
  display: block;
}

body > .modal.bio h1 {
  font-size: 3.5em;
  padding-right: 140px;
}
body > .modal.bio dfn {
  font-weight: 600;
  display: block;
  padding: 0.5em 140px 3em 0;
}
body > .modal.bio img {
  position: absolute;
  right: 20px;
  top: 10px;
  width: 150px;
}

@media screen and (max-width: 620px) {
  body.hasMask > header {
    filter: none;
  }

  body > .modal {
    height: auto;
    left: 10px;
    margin-left: 0;
    right: 10px;
    width: auto;
  }

  body > .modal.bio h1 {
    font-size: 2.75em;
  }
}
header {
  background: #1a160e;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.3);
  height: 90px;
  left: 0;
  line-height: 90px;
  position: fixed;
  right: 0;
  text-align: right;
  top: 0;
  z-index: 9;
}
header .branding {
  left: 12px;
  position: absolute;
  top: 12px;
}
header .branding img {
  display: block;
  height: 66px;
  width: 194px;
}
header menu .phone {
  display: inline-block;
  font-size: 1.4em;
  margin-right: 90px;
  font-weight: 600;
  color: hsl(35, 24%, 73%); /* #b19d81 = hsl(35, 24%, 60%). To get lighter color we alter lightness percentage */
}

@media screen and (min-width: 801px) {
  header menu .phone {
    margin-right: 20px;
  }
  header menu a {
    color: #c95713;
    display: inline-block;
    font-size: 1.2em;
    margin: 0 0.75em;
    transition: color 0.2s linear;
  }
  header menu a:hover,
  header menu a:focus {
    color: #f67224;
  }
  header menu .btn {
    background-color: transparent;
    border-color: #40382d;
    color: #b19d81 !important;
    font-size: 1em;
  }
  header menu .btn:hover,
  header menu .btn:focus {
    background-color: transparent;
    border-color: transparent;
    box-shadow: 0 0 0 2px #b19d81;
  }
}
@media screen and (max-width: 800px) {
  header menu {
    cursor: pointer;
    position: absolute;
    right: 0;
    top: 0;
  }
  header menu a,
  header menu .btn {
    background-color: #40382d !important;
    border: 0 !important;
    border-radius: 0;
    box-shadow: none !important;
    color: #dcd4c9 !important;
    display: block;
    font-size: 1.2em;
    font-weight: 200;
    padding: 0 1em;
    position: absolute;
    text-align: center;
    top: -999em;
    transition: line-height 0.2s linear;
  }
  header menu a ~ a,
  header menu a ~ a.btn,
  header menu .btn ~ a,
  header menu .btn ~ a.btn {
    border-top: 1px solid #544a3c !important;
  }
  header menu a:hover,
  header menu a:focus,
  header menu .btn:hover,
  header menu .btn:focus {
    color: white !important;
  }
  header menu:before {
    color: #b19d81;
    content: "\F0C9";
    font-size: 2em;
    height: 90px;
    line-height: 90px;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    width: 90px;
  }
  header menu.open {
    left: 0;
  }
  header menu.open:after {
    border: 10px solid transparent;
    border-bottom-color: #40382d;
    content: "";
    position: absolute;
    right: 35px;
    top: 70px;
  }
  header menu.open a,
  header menu.open a.btn {
    line-height: 3;
    position: static;
  }
}
footer {
  background: url("/assets/images/footer-leather-bg.jpg") 50% 50% no-repeat;
  background-size: cover;
  height: 395px;
  padding: 90px 0;
}
footer img {
  display: block;
  height: 140px;
  margin: 0 auto 90px;
  width: 180px;
}
footer hr {
  border-top: 1px solid #baa99125;
  height: 20px;
  visibility: visible;
}
footer > a,
footer .phone {
  color: #baa991;
  display: inline-block;
  font-size: 1.5em;
  font-weight: 600;
  padding: 20px;
}
footer > a:hover,
footer > a:focus {
  color: white;
}
footer .legal {
  color: #50473a;
}
footer .legal a {
  color: #50473a;
  text-decoration: underline;
}
footer .legal a:hover,
footer .legal a:focus {
  color: white;
}
