@import url('//fonts.googleapis.com/css?family=Oswald|Vast+Shadow|Caveat');
@import url('https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css');

html {
	box-sizing: border-box;
}
*, *:before, *:after {
	box-sizing: inherit;
}

body {
	margin: 0;
	padding: 0;
	background: #583226 url(../images/page/bg-tile.jpg) top center repeat;
	border-top: 3px solid #C77869;
	color: #4D4D4D;
	font: 1rem/1.2 Arial, Helvetica, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}


.panel {
	margin: 30px 0;
	padding: 30px;
	background: #FFFFFF;
	box-shadow: 0 4px 10px -2px rgba(0,0,0,0.25);
	line-height: 1.6;
}
.panel > *:first-child {
	margin-top: 0;
}
.panel > *:last-child {
	margin-bottom: 0;
}




/* ====================================== top nav ====================================== */

#topNav.panel {
	margin: 0 0 30px;
	padding: 0;
	font-size: 0;
	position: relative;
	z-index: 3;
}
#topNav li {
	display: inline-block;
	vertical-align: top;
	padding: 0;
}
#topNav li::before {
	content: none;
}
#topNav li > a:not(.fa) {
	display: block;
	padding: 13px 12px 10px;
	position: relative;
	color: #7F7F7F;
	font-size: 0.85rem;
	letter-spacing: 0.1em;
	text-decoration: none;
	text-transform: uppercase;
}
#topNav li a:hover {
	color: #000000;
}



/* ====================================== header panel ====================================== */

#header {
	clear: both;
}
#logo {
	position: relative;
}
#logo a {
	display: block;
	position: absolute;
	top: -84px;
	left: -29px;
	z-index: 2;
}

#intro {
	position: relative;
	z-index: 3;
	overflow: hidden;
}
#intro h2 img {
	float: right;
	margin: 10px 0 5px 10px;
	max-width: 35%;
}



/* ====================================== footer ====================================== */

#footer {
	padding: 0 10px 60px;
	color: rgba(255,255,255,0.5);
	font-size: 0.7rem;
	overflow: hidden;
}
#footer blockquote {
	margin: 0;
	padding: 0;
}
#footer a {
	color: rgba(255,255,255,0.7);
}
#footer a:hover {
	color: rgb(255,255,255);
}

#toastBox {
	position: fixed;
	bottom: 0;
	z-index: 2;
	margin: 0 0 10px 10px;
	padding: 10px 15px;
	width: 300px;
	max-width: 90%;
	border: 1px solid #B9A488;
	border-radius: 5px;
	background: #FFF;
	font-size: 0.9rem;
	line-height: 1.4;
	display: none;
}



/* ====================================== general ====================================== */

#intro.centredContent { /* to restrict width of content column on wider screens */
	margin: 0 auto;
	padding: 30px 0 20px;
	max-width: 750px;
}
.centredContent h1:first-child {
	text-align: center;
}
.centredContent h1 {
	margin-left: auto;
	margin-right: auto;
	max-width: 500px;
	line-height: 1.2;
}
h1 {
	color: #000000;
	font: normal 1.7rem/1 "Oswald", Arial, Helvetica, sans-serif;
	text-transform: uppercase;
}
#container > h1,
#container > h2 { /* transparent bar */
	background: rgba(0,0,0,0.6);
	color: #FFFFFF;
}
#container > .headingStep + h1,
#container > .headingStep + h2 {
	position: relative;
	z-index: 1;
	padding-left: 95px;
}
h2 {
	margin: 20px 0 12px;
	padding: 0;
	color: #000000;
	font: normal 1.7rem/1.2 "Oswald", Arial, Helvetica, sans-serif;
	text-transform: uppercase;
}
h3 {
	margin: 12px 0;
	color: #000000;
	font: normal 1.4rem/1.2 "Oswald", Arial, Helvetica, sans-serif;
	text-transform: uppercase;
}
p {
	margin: 12px 0;
}
ul {
	margin: 12px 0;
	padding: 0;
	list-style: none;
}
ul li {
	margin: 0;
	padding: 0 0 10px 20px;
	position: relative;
}
ul li::before {
	content: "\f067"; /* plus */
	position: absolute;
	top: 4px;
	left: 5px;
	color: #6AA68C;
	font-family: FontAwesome;
	font-size: 10px;
}
strong {
	color: #000000;
}
a {
	color: inherit;
}
small {
	color: #888888;
	font: 11px/1.3 Arial, Helvetica, sans-serif;
}
hr {
	margin: 35px 0;
	height: 1px;
	color: #FFFFFF;
	background-color: #FFFFFF;
	border: none;
	position: relative;
}
hr::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	border-bottom: 5px dotted rgba(0,0,0,0.1);
}
img {
	max-width: 100%;
	height: auto;
}



/* ====================================== form stuff ====================================== */

form {
	margin: 0;
	position: relative;
}
input, select, textarea {
	display: block;
	padding: 10px;
	width: 100%;
	border: 1px solid rgba(0,0,0,0.25);
	border-radius: 5px;
	color: #4D4D4D;
	font: 1rem Arial, Helvetica, sans-serif;
}
form > input, form > select, form > textarea {
	margin-bottom: 1rem;
}
button, .button {
	display: inline-block;
	padding: 10px 13px 11px;
	width: auto;
	border: none;
	border-radius: 5px;
	background: #000000;
	color: #FFFFFF;
	font: normal 1.4rem/1.2 "Oswald", Arial, Helvetica, sans-serif;
	text-decoration: none;
	text-transform: uppercase;
	white-space: normal;
	-moz-appearance: none;
	-webkit-appearance: none;
}



/* ====================================== tables ====================================== */

form table {
	width: 100%;
	border-collapse: collapse;
}
form th {
	display: block;
	padding-top: 5px;
	font-weight: normal;
	text-align: left;
}
form td {
	display: block;
	padding-bottom: 5px;
}

.side-th-table th {
	color: #000;
	text-transform: uppercase;
}



/* ====================================== odds + ends ====================================== */

.bordered { /* double black line border */
	position: relative;
	border-bottom: 1px solid #000;
}
.bordered::after {
	content: "";
	position: absolute;
	bottom: 2px;
	width: 100%;
	border-bottom: 3px solid #000;
}
.headingStep {
	position: relative;
	z-index: 3;
}
.pill {
	border-radius: 50px;

	position: absolute;
	left: 0;
	display: inline-block;
}
.headingStep .pill {
	top: -5px;
	left: 30px;
}
.pill > * {
	position: relative;
	z-index: 2;
}
.pill strong {
	display: block;
	width: 60px;
	position: relative;
	top: -2px;
	color: #FFFFFF;
	font: normal 3.2rem/1 "Vast Shadow", Arial, Helvetica, sans-serif;
	line-height: 60px;
	text-align: center;
}


/* 1. black */
#container h1.step1,
#container h2.step1 {
	background: rgba(0,0,0,0.6);
}
.pill.step1 {
	background: #000;
}

/* 2. green */
#container h1.step2,
#container h2.step2 {
	background: rgba(106,166,140,0.6);
}
.pill.step2 {
	background: #6AA68C;
}

/* 3. tan */
#container h1.step3,
#container h2.step3 {
/*	background: rgba(40,152,204,0.6);*/
}
.pill.step3 {
	background: #C77869;
}


#polaroids {
	margin: 0 -1% 5px;
	font-size: 0;
	text-align: center;
}
#polaroids li {
	display: inline-block;
	vertical-align: middle;
	margin: 0 0.8%;
	padding: 0;
	width: 15%;
	min-width: 130px;
}
#polaroids li::before {
	content: none;
}
#polaroids li h2 a {
	display: block;
  padding: 7px;
	font: 1.5rem/1 'Caveat', cursive;
	text-decoration: none;
	box-shadow: 0 4px 10px -2px rgba(0,0,0,0.25);

/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f2f2e7+0,fdfaf4+44,f4eedf+100 */
background: #f2f2e7; /* Old browsers */
background: -moz-linear-gradient(-45deg, #f2f2e7 0%, #fdfaf4 44%, #f4eedf 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(-45deg, #f2f2e7 0%,#fdfaf4 44%,#f4eedf 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(135deg, #f2f2e7 0%,#fdfaf4 44%,#f4eedf 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f2f2e7', endColorstr='#f4eedf',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
#polaroids h2 {
	margin: 0;
	border: 1px solid rgba(0,0,0,0.05);
	color: inherit;
	text-transform: none;
}
#polaroids li:nth-child(7n+1) h2,
.polaroid {
	transform: rotate(2deg);
}
#polaroids li:nth-child(7n+2) h2 {
	transform: rotate(1deg);
}
#polaroids li:nth-child(7n+3) h2 {
	transform: rotate(-2deg);
}
#polaroids li:nth-child(7n+4) h2 {
	transform: rotate(0deg);
}
#polaroids li:nth-child(7n+5) h2 {
	transform: rotate(1deg);
}
#polaroids li:nth-child(7n+6) h2 {
	transform: rotate(-1deg);
}
#polaroids li a span,
.polaroid span { /* img box */
	display: block;
	margin-bottom: 5px;
	padding-bottom: 100%;
	background: white center no-repeat;
	background-size: cover;
}

#polaroids li small {
	display: block;
	margin-top: 1rem;
}
#polaroids li .button { /* package builder */
	position: relative;
	margin-top: 1rem;
	padding-left: 27px;
	background: none;
	border: 1px solid rgba(0,0,0,0.2);
	font-size: 0.8rem;
	color: #000;
}
#polaroids li .button::before {
	content: "+";
	position: absolute;
	top: 50%;
	left: 12px;
	font-weight: 600;
	font-size: 1.2rem;
	line-height: 0;
	color: #C77869;
}
#polaroids li .button:not(.added):hover,
#polaroids li .button:not(.added):active {
	background: #C77869;
	border-color: transparent;
	color: #FFF;
}
#polaroids li .button:hover::before,
#polaroids li .button:active::before {
	color: #FFF;
}
#polaroids li .button.added {
	cursor: default;
	padding-left: 13px;
	background: #EEE;
	font-size: 0;
	opacity: 0.5;
}
#polaroids li .button.added::before {
	content: "";
}
#polaroids li .button.added::after {
	content: "Added";
	font-size: 0.8rem;
	letter-spacing: 0.2em;
}



.threeCol > div *:first-child {
	margin-top: 0;
}
.threeCol h3 {
	margin-bottom: 15px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(0,0,0,0.2);
	font-size: 1rem;
	letter-spacing: 1px;
}


.img { /* with border and drop shadow */
	display: block;
	background: center no-repeat;
	background-size: cover;
	border: 3px solid #FFFFFF;
	box-shadow: 0 4px 10px -2px rgba(0,0,0,0.25);
	font-size: 0;
}
.img strong {
	display: block;
	padding-bottom: 100%;
}

.green {
	color: #6AA68C;
}
.pink {
	color: #C77869;
}


#floatingBar {
	position: fixed;
	left: 2px;
	right: 2px;
	bottom: 2px;
	z-index: 2;
	text-align: center;
}
@media (max-width: 979px) {
#floatingBar {
	bottom: 42px;
}
}
.greenBox {
	position: relative;
	display: inline-block;
	padding: 10px 12px;
	border-radius: 5px;
	border: 1px solid rgba(0,0,0,0.2);
	background: #6AA68C;
	overflow: hidden;
}
.greenBox a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
}
.greenBox h3, .greenBox p {
	position: relative;
	z-index: 1;
}
#floatingBar .greenBox h3, #floatingBar .greenBox p {
	display: inline-block;
	margin: 0;
	padding: 0;
	line-height: 1;
}
.greenBox h3 {
	color: #FFF;
	text-shadow: 1px 1px 0px rgba(0,0,0,0.3);
}
#floatingBar .greenBox h3 {
	margin-right: 5px;
	font-size: 1.2rem;
}
.greenBox p, .greenBox strong {
	color: #000;
}

.overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10;
	background: rgba(0,0,0,0.5);
}
.overlayContainer {
	position: relative;
	margin: 5% auto 20px;
	max-width: 400px;
	min-height: 125px;
	padding: 45px;
	border-radius: 5px;
	background: #583226 url(../images/page/bg-tile.jpg) top center repeat;
	box-shadow: 0 4px 10px -2px rgba(0,0,0,0.5);
}
.overlayContainer::before {
	content: "";
	position: absolute;
	top: 15px;
	left: 15px;
	right: 15px;
	bottom: 15px;
	border-radius: 2px;
	background: #FFFFFF;
}
.closeOverlay {
	display: block;
	position: absolute;
	top: -10px;
	right: -10px;
	width: 25px;
	height: 25px;
	background: #FFFFFF;
	border-radius: 30px;
	color: #000000;
	line-height: 24px;
	text-align: center;
	text-decoration: none;
}


.overlayContainer form {
	line-height: 1.5;
	text-align: center;
}
.overlayContainer form h3:first-child {
	margin-top: 0;
}


.date {
	display: none;
	/*display: inline-block;*/
	opacity: 0.5;
	margin: 0 0 10px 10px;
	padding: 5px 6px;
	border: 1px solid rgba(0,0,0,0.2);
	line-height: 1;
}



/* ====================================== blog feed ====================================== */

.image span { /* works for reviews and blog feed */
	display: block;
	padding-bottom: 100%;
}

#blogFeed {
	margin-bottom: 20px;
	font-size: 0;
}
#blogFeed h2 {
	margin-top: 0;
	text-align: center;
}

#blogFeed hr {
	margin: 25px 0;
}

#blogFeed .image, #blogFeed .postInfo {
	display: inline-block;
	vertical-align: top;
}

#blogFeed .image {
	margin: 5px 20px 0 0;
	width: 20%;
	background: #FFF center no-repeat;
	background-size: cover;
}
#blogFeed .postInfo {
	width: calc(80% - 20px);
	font-size: 1rem;
}
#blogFeed h3 {
	margin: 0;
	font-size: 1.5rem;
}
#blogFeed h3 a {
	text-decoration: none;
}
#blogFeed small {
	/*float: right;
	display: block;*/
}
#blogFeed p {
	margin-bottom: 0;
}


#postTags {
/*	padding-top: 2rem;*/
	text-align: center;
}
#postTags:empty {
	display: none;
}
#postTags span {
	display: inline-block;
	margin: 0.5em;
	padding: 0.5em 0.7em;
	background: rgba(0,0,0,0.1);
	font-size: 0.8rem;
	line-height: 1;
	opacity: 0.5;
}
