html {
	background: #111111;
	text-align: center;
}

body {
	min-width: 280px;
	max-width: 1200px;
	margin: 0 auto;
	padding-top: 2.5rem;
	text-align: left;
	background: #000000;
	box-shadow: 0 0 5px #00000040;
}

.nav-bar {
	position: fixed;
	min-width: 280px;
	top: 0;
	left: 0;
	right: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1rem 1.5rem 0;
	max-width: 1200px;
	height: 2.5rem;
	margin: 0 auto;
	background: #000000;
	box-shadow: 0 0 5px #000000;
	z-index: 2;
}

.logo {
	position: relative;
	top: 7%;
	height: 2.5rem;
	filter: drop-shadow(0 0 5px #00000080);
}

.login-menu a {
	font-size: .75rem;
	display: inline-block;
	margin-top: -0.25em;
	color: #ffffff;
	letter-spacing: .05em;
	text-decoration: none;
	transition: color .25s;
}

.login-menu .divider {
	display: inline-block;
	width: 1px;
	height: 1.1em;
	margin: 0 .25em;
	vertical-align: middle;
	background: #677a80;
}

header {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	column-gap: 3rem;
	row-gap: 2rem;	position: relative;
	padding: 2rem 2rem 3rem;
	background: url(../assets/header_bg.jpg) no-repeat right top;
	background-attachment: fixed;
}

header > * {
	z-index: 1;
}

header > .bg-overlay {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: linear-gradient(175deg, #00000060, #000000);
	z-index: 0;
}

.header-tour {
	position: relative;
	transform: rotate(-5deg);
	cursor: pointer;
}

.header-tour > img {
	width: 60vw;
	max-width: 200px;
	filter: drop-shadow(7px 10px 10px #00000080);
}

.header-tour > .view-demo-btn {
	position: absolute;
	bottom: 2px;
	left: 2px;
	right: 2px;
	color: white;
	font-weight: 500;
	background: #000;
	border-bottom-left-radius: 32px;
	border-bottom-right-radius: 32px;
	border-top: 2px solid #caa77a;
}

.header-tour > .view-demo-btn > svg {
	width: 1.5rem;
	vertical-align: text-top;
	fill: #ffffff;
}

.header-tour .iframe-wrapper {
	position: absolute;
	top: 16%;
	left: 1%;
	right: 1%;
	height: 32%;
	overflow: hidden;
}

.header-tour iframe {
	width: 200%;
	height: 200%;
	transform: scale(.5);
	transform-origin: top left;
	pointer-events: none;
}

header h1 {
	color: #ffffff;
	font-size: calc(1.25rem + 1.5vw);
	text-shadow: 2px 2px 5px #00000040;
	z-index: 1;
}

header p {
	color: #ffcd7d;
	font-size: 1.2rem;
	text-shadow: 1px 1px 5px #00000080;
	z-index: 1;
}

header p span {
	text-wrap: nowrap;
}

header .call-to-action {
	display: flex;
	margin-top: 2rem;
	gap: 1rem;
	z-index: 1;
}

header .call-to-action .btn {
	color: #ffffff;
	background-color: #4d75b340;
	border: 2px solid #ffffff;
	border-radius: 2rem;
	line-height: 1.25rem;
	padding: 0.35em 1em 0.5em;
}

ul {
	padding-left: 1.25rem;
}

.main-sections {
	display: flex;
	flex-direction: column;
	padding: 1rem;
	gap: 1rem;
	background: #334455;
}

section {
	flex: 1;
	padding: 1rem;
	background: #ffffff;
	box-shadow: 0 0 10px #00000040;
}

.main-sections .section-header-img {
	width: 100%;
	height: 30vw;
	max-height: 180px;
	background-size: cover;
	background-position-x: center;
	background-repeat: no-repeat;
}

@media screen and (max-width: 649px) {
	header .right-col-wrapper {
		display: contents;
	}
	header .right-col-wrapper h1 {
		text-align: center;
	}
	header p {
		order: 2;
		margin-bottom: 0;
		text-align: center;
	}
	header .call-to-action {
		order: 3;
		margin-top: 0;
	}
}

@media screen and (min-width: 650px) {
	header {
		flex-direction: row-reverse;
		padding: 2rem;
	}

	header h1 {
		font-size: clamp(1.55rem, 4.75vw, 2.75rem);
		margin-bottom: 1rem;
	}

	header p {
		font-size: clamp(1.2rem, 2.75vw, 1.6rem);
	}
}

@media screen and (min-width: 800px) {
	.main-sections {
		flex-direction: row;
		align-items: flex-start;
	}

	.main-sections .section-header-img {
		height: 15vw;
	}

	h2 {
		font-size: calc(1.325rem + .3vw);
	}
}

section > h2 {
 color: #4d748c;
 margin: 1rem 0;
}

.pricing h2,
.contact h2 {
	color: #334455;
}

section.buyers .section-header-img {
 background-image: url(../assets/attract_buyers.jpg);
 background-position-y: 40%;
}

section.listings .section-header-img {
	background-image: url(../assets/win_listings.jpg);
	background-position-y: 25%;
}

section.time .section-header-img {
	background-image: url(../assets/save_time.jpg);
	background-position-y: 60%;
}

footer {
	display: flex;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	max-width: 1200px;
	margin: 0 auto;
	justify-content: center;
	column-gap: 1rem;
	padding: 1rem;
	background: #000000;
	box-shadow: 0 0 5px #000000;
	z-index: 2;
	transition: bottom 1s;
}

footer .btn {
	background: #ffcc00;
}

.sample-tour {
	display: none;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 2;
}

.sample-tour button {
	position: absolute;
	top: 1rem;
	right: 1rem;
	background: #ffcc00;
	box-shadow: 1px 1px 10px #00000040;
	cursor: pointer;
}

input,
textarea {
	margin-bottom: .5rem;
}

/* pricing */

section.pricing {
	padding: 1rem 2rem;
	background: #eeeeee;
}

section .content {
	margin: 0 auto;
	max-width: 700px;
}

.card-deck {
	display: flex;
	justify-content: center;
}

.card {
	flex: 1;
	max-width: 250px;
	margin: 1em 0.4em 3em;
	box-shadow: 1px 1px 10px #00000020;
	transition-property: transform, color, box-shadow;
	transition-duration: .15s;
	font-size: 1rem;
	cursor: pointer;
}

@media screen and (max-width: 500px) {
	.card {
		font-size: 3vw;
	}
}

.card.selected {
	transform: scale(1.1);
	box-shadow: 2px 2px 15px #00000020;
	z-index: 1;
}

.card-header {
	padding: 0.5em 1em;
	background-color: #4d7f80;
	color: #ffffff;
	text-shadow: 0 0 3px #00000080;
}

.selected .card-header {
	background-color: #339999;
	text-shadow: 0 0 5px #00000080;
}

.card-header > * {
	font-size: 1.15em;
}

.card-header .super {
	position: absolute;
	font-size: .75em;
	vertical-align: text-top;
}

.card-body {
	padding: 1em;
}

.card-body > ul {
	text-align: left;
}

.card-body .highlight {
	color: #883333;
	font-weight: bold;
}

.card.monthly .card-body.yearly {
	display: none;
}

.card.yearly .card-body.monthly {
	display: none;
}

.pricing-card-title {
	display: inline-block;
	position: relative;
	margin-top: -1rem;
	margin-bottom: 2rem;
	padding: 0 0.75em;
	font-family: 'rosario', serif;
	line-height: 1.2;
}

.pricing-card-title .dollar-sign {
	position: relative;
	left: -0.75em;
	top: -0.25em;
	margin-right: -0.5em;
	color: #333333;
	font-family: sans-serif;
	font-size: 2em;
}

.pricing-card-title .value {
	font-size: 4em;
}

.pricing-card-title .free {
	display: inline-block;
	padding-top: .75em;
	font-size: 2em;
  font-weight: bold;
  line-height: 1.625;
}

.pricing-card-title .duration {
	display: block;
	margin: 0 -.75em;
	font-size: 1.25em;
}

.pricing-card-title .save {
	display: inline-block;
	margin: .75em -.75em 0;
	font-family: "Lucida Grande", Verdana, Arial, sans-serif;
	font-weight: bold;
	font-style: italic;
}

.card-footer {
	display: flex;
	margin: -2rem 1rem 0;
	padding: 0.5rem 0;
	justify-content: center;
	background: none;
	font-size: .75em;
}

.card-footer-link {
	text-decoration: none;
	padding: 0 0.5em;
	color: #339999 !important;
}

.card-footer-link.selected {
	font-weight: bold;
}

.pricing h4 {
	margin-bottom: 1rem;
	text-align: center;
	font-size: 1.5rem;
}

.pricing p:not(.legal-text) {
    margin-bottom: 2em;
}

.legal-text {
	position: relative;
	padding-left: 1em;
	text-align: left;
	font-size: .8em;
}

.legal-text::before {
	position: absolute;
	left: 0;
	content: '* ';
}


/* form responses */

.result-text {
	display: none;
	padding: .5em .8em;
	border: 1px solid #4d748c;
	border-width: 1px;
	border-style: solid;
	border-radius: .25rem;
	font-weight: 500;
	color: #4d748c;
}

.result-text.show {
	display: block;
}

.registration .result-text {
	background-color: #ffffcc;
	color: #4d4d4d;
	text-align: center;
}

.contact .result-text {
	background-color: #f7f8f8;
}

.result-text.error {
	background-color: #fdefef;
	border-color: #770000;
	color: #770000;
	font-weight: 500;
}


/* contact */

section.contact {
	padding: 1rem 2rem;
}

.btn.cancel {
	background-color: #777777;
	border-color: #777777;
	color: #ffffff;
}

.btn.submit {
	background-color: #59a6a2;
	border-color: #59a6a2;
	color: #ffffff;
}

.g-recaptcha, 
.g-recaptcha > div,
.g-recaptcha > div > div > iframe {
	max-width: 100%;
}

.g-recaptcha {
	margin: 1rem 0;
}

/* modals */

.modal-body {
	background: #f7f8f8;
}


/* registration */

.registration .modal-header {
	background-color: #59a6a2;
	color: #ffffff;
}

.registration .modal-header .btn-close {
	background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
	opacity: 1;
}

.registration .free-tour {
	margin-bottom: .25rem;
	font-size: 1.2rem;
	font-weight: bold;
}

.contact .form-row {
	display: flex;
	gap: 1rem;
}

.form-row > div {
	flex: 1;
}

@media screen and (max-width: 700px) {
	.contact .form-row {
		display: unset;
	}
}
