@charset "utf-8";
html,
body {
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	font-size: 15px;
}

/* Typography */

h1 {
	font-size: 2.3rem;
	font-weight: 600;
	margin-bottom: 1.4rem;
}

h2 {
	font-size: 1.5rem;
	font-weight: 600;
}

h3 {
	font-weight: 600;
}

p {
	margin-bottom: 40px;
}

p+p {
	margin-top: -20px;
}

p:last-child {
	margin-bottom: 0;
}

.highlight {
	color: #B30838;
}

/* Links */

a.underline {
	display: inline-block;
	border-bottom: solid 3px #B30838;
	padding-bottom: 4px;
}

/* Form Control */

input,
select,
textarea {
	display: block;
	width: 100%;
	border: solid 1px rgba(0, 0, 0, 0.2);
	padding: 8px;
	border-radius: 0;
	font-family: inherit;
	font-size: inherit;
	border-radius: 3px;
}

/* Buttons */

.btn,
input.btn {
	color: white;
	padding: 8px 24px;
	background-color: #B30838;
	border: none;
	border-radius: 3px;
}

.btn:hover,
input.btn:hover {
	background-color: #890A31;
}

.btn.btn-o {
	background-color: #989E9A;
}

/* Lists */

ul.bullets {
	margin: 0 0 24px;
	padding: 0;
	padding-left: 28px;
}

ul.bullets li+li {
	margin-top: 6px;
}

/* Container */

.container {
	max-width: 1040px;
	padding-left: 20px;
	padding-right: 20px;
}

/* Flex Grid Layout */

.row {
	margin-left: -20px;
	margin-right: -20px;
}

*[class*="xs-col"],
*[class*="sm-col"],
*[class*="md-col"],
*[class*="lg-col"] {
	padding: 0 20px;
}

/* Layout */

main.search-results>.row {
	flex-direction: row-reverse;
}

/* Banners */

.banner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-top: 10vh;
	padding-bottom: 10vh;
	transition: background 0.5s ease;
}

.banner.light {
	background-color: #eeeeee;
}

.banner.title {
	background-color: #636569;
	color: white;
	padding: 7vh 0;
}

.banner.image {
	background-size: cover;
	background-position: center;
	height:auto;
	min-height: 50vh;
	background-color: #222222;
}

.banner.image.title {
	background-color: #222222;
	color: white;
}

.banner.title h1 {
	margin-bottom: 0;
}

.banner.title p {
	font-size: 1.2rem;
	font-weight: 300;
	margin: 16px 0 0;
}

.banner.testimonial.right .container {
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
}

.banner.testimonial h3 {
	width: 100%;
	max-width: 500px;
	font-size: 3.5vh;
	background-color: #F5CE3E;
	color: white;
	padding: 24px;
	margin: 0;
	font-weight: 400;
}

.banner.testimonial h3::before,
.banner.testimonial h3::after {
	display: inline-block;
	content: "\0022";
	margin: 0 4px;
}

/* Widgets */

.widget {
	padding: 24px;
	background-color: #CCCCCC;
	border-bottom: solid 5px #B30838;
	color: #444444;
}

.widget.dark {
	border: none;
	background-color: #B30838;
	color: white;
}

.widget.blank {
	background: transparent;
	padding: 0;
	border: none;
}

a.widget {
	display: block;
}

a.widget:hover {
	background-color: #bbbbbb;
	transform: translateY(-8px);
}

.widget>*:nth-last-child(1) {
	margin-bottom: 0;
}

.widget p>a {
	white-space: initial;
	text-decoration: none;
	color: #B30838;
}

.widget.menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.widget.menu ul>li+li {
	margin-top: 8px;
}

.widget.menu li>a {
	color: #B30838;
}

.widget.menu.dark li>a {
	color: white;
}

.widget.menu li>a:hover,
.widget p>a:hover {
	opacity: 0.5;
}

.sidebar .widget {
	padding: 24px;
	background-color: rgba(0, 0, 0, 0.1);
	transform: none !important;
	border-bottom: none;
	color: initial;
	margin: 0 0 24px;
}

.widget ul.social-media-links {
	list-style: none;
	margin: 0;
	padding: 0;
	margin-top: -8px;
	margin-left: -8px;
}

.widget ul.social-media-links>li {
	display: inline-block;
	padding-left: 8px;
	padding-top: 8px;
}

.widget ul.social-media-links>li>a:hover {
	opacity: 0.8;
}

.widget ul.social-media-links img {
	width: 48px;
}

.widget .btn {
	margin: 0;
}

/* Top Header */

.top-header {
	background-color: #444444;
	color: white;
	font-weight: 300;
	font-size: .9rem;
}

.top-header .account ul {
	justify-content: flex-end;
}

.top-header ul {
	list-style: none;
	margin: 0;
	padding: 12px 0;
	margin-left: -24px;
	display: flex;
}

.top-header ul>li {
	padding-left: 24px;
}

.top-header a:hover {
	opacity: 0.5;
}

@media(max-width:600px) {
	.top-header .row>div {
		display: none;
	}
	.top-header .row>div.account {
		display: block;
	}
	.top-header .account ul {
		justify-content: space-between;
	}
}

/* Header */

.header,
.header-mobile {
	background-color: #B30838;
	padding: 32px 0;
	color: white;
	font-size: .9rem;
}

.header-mobile {
	display: none;
}

.header .container {
	position: relative;
}

ul.nav {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
	font-weight: 300;
	text-transform: uppercase;
	font-size: 14px;
	align-items: center;
	letter-spacing: .5px;
}

ul.nav>li {
	position: relative;
}

ul.nav>li>a {
	display: block;
}

ul.nav>li>a:hover {
	opacity: 0.5;
}

ul.nav li.logo img {
	width: 200px;
}

ul.nav li>ul.dropdown {
	list-style: none;
	margin: 0;
	padding: 0;
	display: none;
	position: absolute;
	margin: 0;
	top: 100%;
	width: 240px;
	background-color: white;
	box-shadow: -2px 4px 8px rgba(0, 0, 0, 0.1);
	z-index: 5000;
	color: #222222;
	text-transform: none;
}

ul.nav li:hover>ul.dropdown {
	display: block;
}

ul.nav li>ul.dropdown>li {
	display: block;
	padding: 0;
}

ul.nav li>ul.dropdown>li>a {
	display: block;
	padding: 12px;
}

ul.nav li>ul.dropdown>li>a:hover {
	background: rgba(0, 0, 0, 0.05);
}

.header-mobile .menu-toggle img {
	width: 32px;
}

@media(max-width:768px) {
	.header-mobile {
		display: block;
	}
	.header {
		display: none;
		padding: 0;
		background-color: #890A31;
	}
	.header .container {
		padding: 0;
	}
	.header ul.nav {
		flex-wrap: wrap;
	}
	.header ul.nav>li.logo {
		display: none;
	}
	.header ul.nav>li {
		flex: 0 1 100%;
	}
	.header ul.nav>li>a {
		padding: 16px 20px;
	}
	ul.nav li>ul.dropdown {
		display: none;
		position: relative;
		top: auto;
		width: 100%;
		background-color: rgba(0, 0, 0, 0.1);
		box-shadow: none;
		z-index: 5000;
		color: white;
	}
}

/* Main Content */

main.content {
	padding-top: 5vh;
	padding-bottom: 0vh;
}

/* Homepage */

.banner.hero {
	background-color: #222222;
	color: white;
	padding:13vh 0;
	padding-bottom: calc(13vh + 128px);
	height:auto;
}

.home-search {
	background-color: rgba(255, 255, 255, 0.4);
	padding: 32px 0;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}

.home-search ul {
	list-style: none;
	margin: 0;
	padding: 0;
	margin-left: -20px;
	align-items: flex-end;
}

.home-search ul>li {
	flex: 1;
	padding-left: 20px;
}

.home-search ul>li>select,
.home-search ul>li>.btn {
	margin: 0;
	padding: 12px;
	line-height: 1;
	vertical-align: middle;
	height: 100%;
	width: 100%;
}

@media(max-width:600px) {
	.banner.hero {
		padding-bottom: 0;
		padding-top: 10vh;
	}
	.home-search {
		margin-top: 10vh;
		position: relative;
		background-color: white;
		color: #222222;
	}
	.home-search ul>li {
		flex-basis: 100%;
	}
	.home-search ul>li+li {
		margin-top: 20px;
	}
}

/* Business Search */

.business-search {
	border-bottom: solid 1px rgba(0, 0, 0, 0.1);
	margin-bottom: 40px;
	padding-bottom: 40px;
}

.map-search {
	margin: 24px 0;
	padding: 24px;
	background: rgba(0, 0, 0, 0.1);
}

.map-search .map {
	border: solid 1px rgba(0, 0, 0, 0.1);
	margin-bottom: 24px;
}

/* Search Results */

.search-result-filters {
	justify-content: space-between;
}

.search-result-filters h3 {
	flex: 1;
}

.search-result-filters a,
.search-result-filters select {
	font-weight: 400;
	border: none;
	border-radius: 0;
	padding: 0;
	width: auto;
	background-position: right 0 center;
}

.search-result-filters select {
	margin-left: 20px;
}

.search-result-filters select:hover,
.search-result-filters a:hover {
	transition: 0.2s ease;
	opacity: 0.5;
}

@media(max-width:768px) {
	.search-result-filters h3 {
		flex-basis: 100%;
	}
}

/* Pagination */

.pagination ul {
	justify-content: flex-end;
	font-size: 14px;
}

.pagination ul li a {
	padding: 8px 12px !important;
	border: solid 1px rgba(0, 0, 0, 0.1);
}

/* Business Listing */

.business-listing {
	margin-bottom: 32px;
	padding-bottom: 32px;
	border-bottom: dotted 1px rgba(0, 0, 0, 0.1);
}

.business-listing .image {
	display: block;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	padding-top: 73%;
	max-height: 30vh;
	position:relative;
}

.business-listing.under-offer .image::after {
	display:inline-block;
	position:absolute;
	top:0;
	right:0;
	content:'Under Offer';
	font-family:inherit;
	font-weight:300;
	font-size:12px;
	padding:8px 16px;
	background:rgb(171,8,55);
	color:white;
}
	

.business-listing h3 {
	margin-bottom: .5rem;
}

.business-listing p {
	font-size: 14px;
	margin: 0 0 .5rem;
}

.business-listing p.price {
	color: #B30838;
	font-weight: 600;
	font-size: 1.1rem;
}

.business-listing p:nth-last-of-type(1) {
	margin-bottom: 1rem;
}

.business-listing .btn {
	margin: 0;
	font-size: 14px;
	padding: 8px 24px;
}

.business-listing.showcase {
	flex-shrink: 0;
	flex-basis: 300px;
	max-width: 50%;
	position: relative;
	border: none;
	margin: 0;
	padding-bottom: 0;
}

.business-listing.showcase:hover {
	transition: 0.2s ease;
	transform: translateY(-8px);
}

.business-listing.showcase .details {
	background-color: white;
	padding: 16px;
	border: solid 1px rgba(0, 0, 0, 0.1);
	border-top: none;
}

.business-listing.showcase a.image {
	position: relative;
}

.business-listing.showcase p.price {
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #B30838;
	color: white;
	font-weight: normal;
	padding: 8px 16px;
	margin: 0;
}

.business-listing.showcase a.btn {
	margin: 0;
	width: 100%;
}

.business-listing.business-details {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.business-details .print-logo {
	display:none;
}

.business-details h2.price {
	color: #B30838;
}

.business-details .image {
	margin-bottom: 32px;
}

.business-details ul.image-gallery {
	list-style: none;
	margin: 0;
	padding: 0;
	padding-top: 16px;
	margin-top: -8px;
	margin-left: -8px;
	margin-bottom: 16px;
}

.business-details ul.image-gallery>li {
	display: inline-block;
	width: 20%;
	padding-left: 12px;
	padding-top: 12px;
}

.business-details ul.details {
	list-style: none;
	margin: 0;
	padding: 0;
	margin-bottom: 32px;
}

.business-details ul.details li+li {
	margin-top: 6px;
}

.business-details .enquiry-form {
	margin-top: 24px;
}

/* Dashboard */

.dashboard.row {
	margin-top: -40px;
}

.dashboard.row>div {
	padding-top: 40px;
}

.business-requirements {
	background-color: rgba(0, 0, 0, 0.1);
	padding: 24px;
	margin-bottom: 24px;
	position: relative;
	font-size: .9rem;
}

.business-requirements ul {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
}

.business-requirements ul>li+li {
	margin-top: 4px;
}

.business-requirements ul>li>span {
	font-weight: 600;
}

.business-requirements .delete {
	position: absolute;
	top: 0;
	right: 0;
	display: inline-block;
	padding: inherit;
}

/* Footer */

.footer {
	background-color: #eeeeee;
	padding: 8vh 0;
}

.sub-footer {
	background: #B30838;
	color: white;
	font-size: 12px;
	padding: 16px 0;
}

.sub-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
	margin-top: -12px;
	margin-left: -24px;
}

.sub-footer ul>li {
	display: inline-block;
	padding-top: 12px;
	padding-left: 24px;
}

/* Misc */

.cookies-message {
	background-color: rgba(179, 8, 56, 0.9);
}

hr {
	border-top: dotted 1px rgba(0, 0, 0, 0.1);
}

.svg {
    width: 100%;
    height: 100%;
}

svg path,
svg polygon {
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -ms-transition: all .5s ease;
    -o-transition: all .5s ease;
    cursor: pointer;
}
svg path:hover,
svg polygon:hover {
    /*fill: red;*/
}
/* --- Latest news --- */

.latest-news {
	margin-top: 3rem;
}

.news-listing {
	margin-bottom: 3rem;
	transition: all 0.2s ease;
}

.news-listing .image {
	flex: 1;
	background-size: cover;
	flex-basis: 33.333%;
	max-width: 33.333%;
	background-position: center;
	background-repeat: no-repeat;
}

.news-listing .details {
	flex: 1;
	background: white;
	padding: 2rem;
}

.news-listing .description,
.news-listing .description p {
	line-height: 20px;
	max-height: 60px;
	overflow: hidden;
}

.news-listing .btn {
	margin-top: 2rem;
}

.news-listing:hover {
	transform: scale(1.05);
}

.news-listing:hover .details {
	background: #f0f0f0;
}

.news-listing:hover .image {
	background-color: #f0f0f0 !important;
}


.news-listing:hover h3 {
	color: #073F77;
}

@media(max-width:568px) {
	.news-listing .image {
		flex-basis: 100%;
		max-width: 100%;
		padding-top: 50%;
	}
}

/* --- News Article --- */

article {
	max-width: 900px;
	margin: 0 auto 3rem;
}

article h1 {
	margin-bottom: 1rem;
}

article p.date {
	color: #073F77;
	font-size: 1.1rem;
}

article img.article-image {
	display: inline-block;
	margin: 1rem auto;
	max-width: 100%;
}

.related-articles .news-listing .image {
	flex-basis: 100%;
	max-width: 100%;
	padding-top: 50%;
}

.news-listing .details {
	flex: 1;
	background: white;
	padding: 2rem;
}

.related-articles {
	border-top: solid 1px rgba(0, 0, 0, 0.05);
	padding-top: 3rem;
}

.related-articles h3 {
	font-size: 1rem;
}

.related-articles .btn {
	display: none;
}