/************************/
/** Fonts ***************/
/************************/
@font-face {
  font-display: swap;
  font-family: 'Castoro';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/castoro-v20-latin-ext-regular.woff2') format('woff2'),
       url('../fonts/castoro-v20-latin-ext-regular.woff') format('woff'),
       url('../fonts/castoro-v20-latin-ext-regular.ttf') format('truetype');
}
@font-face {
  font-display: swap;
  font-family: 'Castoro';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/castoro-v20-latin-ext-italic.woff2') format('woff2'),
       url('../fonts/castoro-v20-latin-ext-italic.woff') format('woff'),
       url('../fonts/castoro-v20-latin-ext-italic.ttf') format('truetype');
}
@font-face {
  font-display: swap;
  font-family: 'Trajan Pro';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/TrajanPro-Regular.woff') format('woff'),
       url('../fonts/TrajanPro-Regular.ttf') format('truetype');
}


/************************/
/** Default HTML Tags ***/
/************************/
:root {
	color-scheme: dark;
}
* {
	padding: 0;
	margin: 0;
}
body {
  box-sizing: border-box;
  height: 100%;
  color: #eee3dd;
  margin: 0;
  padding: 0;
  font-family: 'Castoro', serif;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	background-attachment: fixed;
	background-color: #000;
}
@media screen and (orientation: portrait) { 
	body { background-image: url('../img/bg-vert.png'); }
}
@media screen and (orientation: landscape) {
	body { background-image: url('../img/bg-hori.jpg'); }
}
a {
	color: #c2b963;
	text-decoration: none;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, opacity 0.15s ease-in-out;
}
a:hover {
	color: #fff483;
}
h1 {
  font-family: 'Trajan Pro', serif;
  text-transform: uppercase;
  letter-spacing: 0.21em;
}


/************************/
/** Bootstrap Overrides */
/************************/

/* Buttons */
.btn {
  font-family: 'Trajan Pro', serif;
  text-transform: uppercase;
  padding: 0.5rem 2rem 0.4rem;
  transition: color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.btn-primary {
  background-color: rgb(0 0 0 / 74%) !important;
  border-color: #53514e;
  color: #ded2cd;
}
.btn-primary:hover {
  color: #e1d4a8;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  border-color: #bcb4b0;
  box-shadow: 0 0 0 .25rem rgb(145 140 121 / 25%);
}

/* Forms */
.form-control {
  border-color: #53514e;
  color: #bcb4b0;
  background-color: rgb(0 0 0 / 57%) !important;
  transition: color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form-control::placeholder {
  color: #53514e;
}
.form-control:hover,
.form-control:focus {
  color: #eee3dd;
}
.form-control:hover {
  border-color: #c0b5af !important;
}
.form-control:focus {
  border-color: #8b7d76;
  box-shadow: 0 0 0 .25rem rgb(145 140 121 / 25%);
}
.form-select {
  border-color: #53514e;
  color: #bcb4b0;
  background-color: rgb(0 0 0 / 57%) !important;
  transition: color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form-select:hover,
.form-select:focus {
  color: #eee3dd;
}
.form-select:hover {
  border-color: #c0b5af !important;
}
.form-select:focus {
  border-color: #8b7d76;
  box-shadow: 0 0 0 .25rem rgb(145 140 121 / 25%);
}
.form-select:invalid {
  color: #53514e;
}
.form-select:invalid:hover,
.form-select:invalid:focus {
  color: #eee3dd;
}
.form-select option {
  background-color: #0b0b0b;
}
.form-check-input {
  background-color: rgb(0 0 0 / 84%) !important;
  border-color: #53514e;
}
.form-check-input:hover {
  border-color: #c0b5af;
}
.form-check-input:focus {
  box-shadow: 0 0 0 .25rem rgb(145 140 121 / 25%);
}
.form-check-input:checked {
  background-color: #9d45c0;
  border-color: #9d45c0;
}

/* Modals */
.modal-content {
  background-color: rgb(0 0 0 / 84%) !important;
  box-shadow: 0 0 0 .25rem rgb(145 140 121 / 8%);
  border-color: #3c3b39;
}
.modal-header {
  border-bottom: 1px solid #292623;
}
.modal-body {
  border-top: 1px solid #13110f;
  border-bottom: 1px solid #13110f;
}
.modal-footer {
  border-top: 1px solid #292623;
}


/************************/
/** Template Wrapper ****/
/************************/

/* Header */
header {
  text-align: center;
  margin-top: 2.22em;
  margin-bottom: 1.11em;
}
header h1 {
	font-size: 3rem;
	letter-spacing: 0.21em;
}
header h1 span {
  font-size: 0.47em;
}


/************************/
/** Section Rows ********/
/************************/

/* Base Structure */
.row {
  margin-top: 1.11em;
  margin-bottom: 1.11em;
  text-align: left;
}
.cell {
  padding: 0 1.47em;
}

/* Banner */
#banner.row {
  text-align: center;
}

/* Intro */
#intro.row {
  text-align: center;
}

/* Outro */
#outro.row {
  margin-top: 2.22em;
  margin-bottom: 2.22em;
  text-align: center;
}

/* Waitlist Form */
#waitlist.row {
  text-align: center;
}
#waitlist .form-check {
	padding-left: 0;
}
#waitlist .form-check .form-check-input {
	float: unset;
	margin-left: 0;
	margin-right: 0.47em;
}
#waitlist .h-captcha { margin: 0 auto; }
#waitlist .hph { display: none !important; }

/* Contact */
#contact.row {
  text-align: center;
  margin-top: 2.22em;
  margin-bottom: 2.22em;
}
#contact.row fieldset {
  text-align: left;
}
#contact.row input,
#contact.row textarea {
  width: 100%;
  margin-bottom: 1.11em;
  padding: 3px 7px;
}
#contact.row textarea {
  height: 222px;
}
#contact.row label {
  text-align: left;
}
#contact.row .submit,
#contact.row .hcaptcha {
  text-align: center;
}