@import url('https://fonts.googleapis.com/css?family=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: #FCE3EF url(../images/page/bg-diag.gif) top center repeat;
	border-top: 3px solid #E2ABC4;
	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 40px;
	background: #FFFFFF;
	box-shadow: 0 4px 10px -2px rgba(0,0,0,0.25);
	line-height: 1.6;
}
.panel > *:first-child {
	margin-top: 0;
5}
.panel > *:last-child {
	margin-bottom: 0;
}




/* ====================================== top nav ====================================== */

#topNav.panel {
	margin: 0 0 30px;
	padding: 0;
	font-size: 0;
}
#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;
	border-bottom: 1px dotted #99C9CD;
}
#logo a {
	display: block;
	position: absolute;
	top: -69px;
	left: -11px;
	z-index: 2;
}

#intro {
	position: relative;
	z-index: 3;
	overflow: hidden;
}
#intro h2 {
}
#intro h2 img {
	float: right;
	margin: 10px 0 5px 10px;
	max-width: 35%;
}




/* ====================================== footer ====================================== */

#footer {
	padding: 0 10px 60px;
	color: #81787B;
	font-size: 0.7rem;
	overflow: hidden;
}
#footer blockquote {
	margin: 0;
	padding: 0;
}

#toastBox {
	position: fixed;
	bottom: 0;
	z-index: 3;
	margin: 0 0 10px 10px;
	padding: 10px 15px;
	width: 300px;
	max-width: 90%;
	border-radius: 10px;
	font-size: 0.9rem;
	line-height: 1.4;
	display: none;
}
#toastBox.pill::before {
	border-radius: 10px;
	background: #F6E4EC;
	color: #F78FB9;
}



/* ====================================== 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 2.3rem/1 Georgia, "Times New Roman", Times, serif;
}
#container > h1 { /* transparent bar */
	background: rgba(40,152,204,0.6);
	color: #FFFFFF;
}
#container > .headingStep + h1 {
	position: relative;
	z-index: 1;
	padding-left: 95px;
}
h2 {
	margin: 20px 0 12px;
	padding: 0;
	color: #000000;
	font: normal 1.8rem/1.2 Georgia, "Times New Roman", Times, serif;
}
p + h2 { /* blog and other content pages */
	margin-top: 30px;
	font-size: 1.4rem;
}
h3 {
	margin: 12px 0;
	color: #000000;
	font: normal 1.4rem/1.2 Georgia, "Times New Roman", Times, serif;
}
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: #2898CC;
	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: 1px dotted #99C9CD;
}
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;
}
button, .button {
	display: inline-block;
	padding: 8px 13px;
	width: auto;
	border: none;
	border-radius: 5px;
	background: #000000;
	color: #FFFFFF;
	font: normal 1.4rem/1.2 Georgia, "Times New Roman", Times, serif;
	text-decoration: none;
}
.ghost {
	background: none;
	border: 1px solid;
}



/* ====================================== 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;
}


/* ====================================== odds + ends ====================================== */

.headingStep {
	position: relative;
	z-index: 3;
}
.pill {
	border: 3px solid #FFFFFF;
	border-radius: 50px;
	box-shadow: 0 4px 10px -2px rgba(0,0,0,0.25);
	background: #F6E4EC;

	position: absolute;
	left: 0;
	display: inline-block;
}
.headingStep .pill {
	top: -5px;
	left: 30px;
}
.pill::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	background: red;
	border-radius: 8px;
	border-radius: 50px;
	box-shadow: inset 0 0 20px -2px;
	color: rgba(0,0,0,0.25); /* sets default box shadow colour */
}
.pill > * {
	position: relative;
	z-index: 2;
}
.pill strong {
	display: block;
	width: 50px;
	position: relative;
	top: -4px;
	font: normal 3.5rem/1 Georgia, "Times New Roman", Times, serif;
	line-height: 50px;
	text-align: center;
}


/* 1. pink */
#container h1.step1 {
	background: rgba(224,108,156,0.6);
}
.pill.step1 strong {
	color: #E06C9C;
}
.pill.step1::before {
	background: #F6E4EC;
	color: #F78FB9;
}
/* 2. blue */
#container h1.step2 {
	background: rgba(40,152,204,0.6);
}
.pill.step2 strong {
	color: #2798CB;
}
.pill.step2::before {
	background: #E2ECF2;
	color: #ACDCF0;
}
/* 3. green */
#container h1.step3 {
/*	background: rgba(40,152,204,0.6);*/
}
.pill.step3 strong {
	top: -8px;
	color: #669A38;
	font-size: 3rem;
}
.pill.step3::before {
	background: #E1EFD8;
	color: #B7D899;
}


#polaroids {
	margin: 0 -1% 5px;
	font-size: 0;
	text-align: center;
}
#polaroids li {
	display: inline-block;
	vertical-align: middle;
	margin: 0.8%;
	padding: 0;
	width: 15%;
	min-width: 130px;
	border: 1px solid rgba(0,0,0,0.05);
}
#polaroids li::before {
	content: none;
}
#polaroids li 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 li a span {
	display: block;
	margin-bottom: 5px;
	padding-bottom: 100%;
	background: white center no-repeat;
	background-size: cover;
}
#polaroids li:nth-child(1) {
	transform: rotate(2deg);
}
#polaroids li:nth-child(2) {
	transform: rotate(1deg);
}
#polaroids li:nth-child(3) {
	transform: rotate(-2deg);
}
#polaroids li:nth-child(4) {
	transform: rotate(0deg);
}
#polaroids li:nth-child(5) {
	transform: rotate(1deg);
}
#polaroids li:nth-child(6) {
	transform: rotate(-1deg);
}


.threeCol > div *:first-child {
	margin-top: 0;
}
.threeCol h3 {
	padding-bottom: 5px;
	border-bottom: 1px dotted rgba(40,152,204,0.5);
	font-size: 1.2rem;
}


.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%;
}

.blue {
	color: #2898CC;
}
.green {
	color: #407B21;
}
.pink {
	color: #EA5280;
}


#floatingBar {
	position: fixed;
	left: 2px;
	right: 2px;
	bottom: 2px;
	text-align: center;
}
@media (max-width: 979px) {
#floatingBar {
	bottom: 42px;
}
}
.greenBox {
	display: inline-block;
	padding: 10px 12px;
	border-radius: 5px;
	position: relative;
	overflow: hidden;

/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#cadc7f+0,cadc7f+20,468227+90,417b21+100 */
background: #cadc7f; /* Old browsers */
background: -moz-linear-gradient(-45deg, #cadc7f 0%, #cadc7f 20%, #468227 90%, #417b21 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(-45deg, #cadc7f 0%,#cadc7f 20%,#468227 90%,#417b21 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(135deg, #cadc7f 0%,#cadc7f 20%,#468227 90%,#417b21 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cadc7f', endColorstr='#417b21',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
.greenBox::before, .greenBox::after {
	content: "";
	position: absolute;
}
.greenBox::before { /* highlight line */
	top: 1px;
	left: 2px;
	right: 2px;
	bottom: 1px;
	border-top: 1px solid rgba(255,255,255,0.7);
	border-radius: 3px;
}
.greenBox::after {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-bottom: 1px solid rgba(0,0,0,0.4);

/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#cadc7f+0,3c731f+100&0.2+0,0.6+100 */
background: -moz-linear-gradient(top, rgba(202,220,127,0.2) 0%, rgba(60,115,31,0.6) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, rgba(202,220,127,0.2) 0%,rgba(60,115,31,0.6) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, rgba(202,220,127,0.2) 0%,rgba(60,115,31,0.6) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#33cadc7f', endColorstr='#993c731f',GradientType=0 ); /* IE6-9 */
}
.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: #1b350c;
	text-shadow: 1px 1px 0px rgba(255,255,255,0.3);
}
#floatingBar .greenBox h3 {
	margin-right: 5px;
	font-size: 1.3rem;
}
.greenBox p, .greenBox strong {
	color: #FFFFFF;
}

.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: 15px;
	background: #FCE3EF url(../images/page/bg-diag.gif) 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: 5px;
	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: 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 h2 span {
	display: block;
	margin-left: 100px;
	color: #77A54D;
}

#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;
}
