/******************************
Colours on site
Green:			#3F9C5F
Yellow Green:	#91BD49
Light Grey:		#EAEAEA
Lightish Grey:	#B2B2B2
Mid Grey:		#888888
Dark Grey:		#333333
Black:			#000000
White:			#FFFFFF

MAIN LAYOUT
******************************/
body
{
	background: #EAEAEA;
	color: #333333;
	font-size: 1.125em;
	line-height: 1.45em;
	position: relative;
	-webkit-text-size-adjust: 100%;
}
	.main-container
	{
		background: #FFFFFF;
		padding: 35px 55px 50px;
	}

/****************************************************
Reset Elements in Content back to default
*****************************************************/
.content p	{ margin: 0 0 0.6em 0;}

/******************************
HTML
******************************/

a
{
	color: #3F9C5F;
	font-weight: bold;
	text-decoration: none;
}
	a:hover, a:focus
	{
		text-decoration: underline;
	}
	
	a.telephone
	{
		color: #333333;
		text-decoration: none;
	}
	
	.button,
	button,
	input[type="submit"]
	{
		background-color: #3F9C5F;
		border: 0;
		color: #FFFFFF;
		cursor: pointer;
		display: inline-block;
		padding: 6px 10px;
		position: relative;
		transition: background-color .3s ease-in-out;
	}
		.button:hover, .button:focus,
		button:hover, button:focus,
		input[type="submit"]:hover, input[type="submit"]:focus
		{
			color: #FFFFFF;
			background-color: #91BD49;
			text-decoration: none;
		}
		
		.button.large,
		button.large,
		input[type="submit"].large
		{
			font-size: 1.5em;
			padding: 7px 28px;
		}
			

img.full-width
{
	max-width: none;
	width: 100%;
}

/******************************
HEADINGS
******************************/

h1, .h1, .content .h1
{
	display: block;
	font-size: 1.889em;
	font-weight: bold;
	line-height: 1.2em;
	margin: 0 0 0.2em;
}


h2, .h2, .content .h2
{
	display: block;
	font-weight: bold;
	font-size: 1.333em;
	line-height: 1.4em;
	margin: 1.5em 0 0.3em;
}

h3, .h3,
h4
{
	display: block;
	font-size: 1.2em;
	font-weight: bold;
	margin: 1.5em 0 0.4em;
}
	
/******************************
IMAGES
******************************/
			

/******************************
FORMS
******************************/

#ui-datepicker-div
{
	background: #FFFFFF;
	padding: 5px;
}
	#ui-datepicker-div a
	{
		cursor: pointer;
	}
		.ui-datepicker-next
		{
			float: right;
		}


/*************************
Freeform *****************/

/* Reduce line height for question labels */
.ff_composer .field_label {
	line-height: 1.5;
}

/******************************
SECTIONS
******************************/

/*************************
Adverts *****************/
.ads
{
	float: left;
	padding: 0 10%;
	text-align: center;
	width: 100%;
}
	.ad
	{
		margin-top: 3em;
	}
		.ad a,
		.ad img
		{
			display: block;
		}

/*************************
Breadcrumbs *************/
.breadcrumbs
{
	font-weight: bold;
	padding: 2.4em 0 1.1em;
}
	.breadcrumb-separator
	{
		color: #3F9C5F;
	}
		.breadcrumb-separator.crumbly
		{
			margin: 0 0.25em 0 0;
		}

/*************************
Colour Blocks ***********/
.home-block
{
	background: #3F9C5F;
	color: #FFFFFF;
	position: relative;
	text-align: center;
}
	.home-block:hover,
	.home-block:focus
	{
		text-decoration: none;
	}
	
	.home-block:after
	{
		content: "";
		background: rgba(0,0,0,0);
		bottom: 0;
		left: 0;
		position: absolute;
		right: 0;
		top: 0;
		transition: background 0.3s ease-out;
	}
		.home-block:hover:after
		{
			background: rgba(0,0,0,0.3);
		}
	
	.home-block img
	{
		width: 100%;
	}
	
	.home-block span
	{
		display: block;
		font-size: 1.5em;
		line-height: 1em;
		margin: 0.25em 0.2em 0.37em;
	}

/*************************
Comments ****************/
.comment
{
	border-bottom: 1px solid #E0E0E0;
	padding-top: 10px;
}
	.comment.admin
	{
		padding-left: 20px;
		background: #E0E0E0;
	}
	.comment-author
	{
		margin-bottom: 5px;
	}
		.comment-date
		{
			font-size: 0.8em;
			font-style: italic;
			margin-right: 15px;
		}

/**************************
Content Block ************/

.content-block
{
	background: #EAEAEA;
	padding: 1em;
	word-wrap: break-word;
}
	.content-block .h1
	{
		border-bottom: 1px solid #333333;
		margin-bottom: 0.3em;
		transition: border-color 0.3s ease-out;
	}
		.content-block a.h1:hover,
		.content-block a.h1:focus
		{
			border-color: #3F9C5F;
			text-decoration: none;
		}
	
	.content-block.contact
	{
		font-weight: bold;
	}
		.content-block.contact p
		{
			line-height: 1.8em;
		}
			.content-block.contact p:after
			{
				content: "";
				border-bottom: 1px solid;
				clear: both;
				display: block;
				height: 8px;
				margin-bottom: 1.5em;
				width: 20px;
			}
				.content-block.contact .h-card
				{
					line-height: 1.3em;
				}
					.content-block.contact .h-card .h3
					{
						margin-bottom: 0.4em;
					}
					.content-block.contact .h-card:after
					{
						content: none;
					}

/**************************
Footer *******************/
.footer
{
	background: #333333;
	color: #FFFFFF;
}
	.footer > .inner
	{
		padding: 10px 55px;
	}
		.footer a
		{
			color: #91BD49;
		}
	
	.footer-copyright
	{
		margin-bottom: 1.3em;
	}


/*************************
Header ******************/

.topbar
{
	background: #3F9C5F;
	color: #FFFFFF;
	font-size: 1.875em;
	line-height: 2em;
}
	.topbar a
	{
		color: #FFFFFF;
		float: right;
		padding: 0 0.5em;
		transition: color 0.2s ease-out, background 0.2s ease-out;
	}
		.topbar a:hover,
		.topbar a:focus
		{
			background: #91BD49;
			color: #FFFFFF;
			text-decoration: none;
		}
			.topbar .ba-panel a,
			.topbar .ba-panel a:hover,
			.topbar .ba-panel a:focus
			{
				background: none;
			}
	
	.topbar-content,
	.language-switch
	{
		float: right;
	}
		.language-switch a
		{
			color: #91BD49;
		}

#header-logo
{
	margin-bottom: 2.5em;
}

.header-contact p
{
	font-size: 1.4em;
	font-weight: bold;
	line-height: 2.2em;
}
	.header-social a
	{
		margin-left: 8px;
	}

/*************************
News ********************/
.news-image
{
	display: block;
	margin-bottom: 0.75em;
}
	.news-image img
	{
		display: block;
		width: 100%;
	}
	
/*************************
Pagination **************/
.pagination
{
	border-bottom: 2px solid #888888;
	border-top: 2px solid #888888;
	line-height: 2em;
	text-align: right;
}
	.pagination .change-page
	{
		color: #3F9C5F;
		display: inline-block;
		font-weight: bold;
	}
		.pagination .change-page + .change-page
		{
			margin-left: 0.3em;
		}
		
		.pagination span.change-page
		{
			text-decoration: underline;
		}

/*************************
Search ******************/
.search-form
{
	border: 2px solid #91BD49;
}
	.search-form input
	{
		border: 0;
		line-height: 1.1em;
		min-width: 80%;
	}
	.search-form button
	{
		background: none;
		float: left;
		padding: 5px 5px 0;
	}

/*************************
Sidebar *****************/
.sidebar .h3
{
	margin-left: auto;
	margin-right: auto;
	width: 85%;
}
.sidebar form
{
	margin: 0 auto 2em;
	width: 80%;
}
	.sidebar .contact_form input[type="submit"]
	{
		float: right;
	}

/*************************
Slideshows ***************/

.slide + .slide
{
	display: none;
}
	.cycle-sentinel + .slide,
	.slide img
	{
		display: block;
	}
	
	.slide-image
	{
		margin-bottom: 0.75em;
		position: relative;
	}

.slideshow-control
{
	position: absolute;
	z-index: 500;
}
	.cycle-pager
	{
		bottom: 5px;
		right: 8px;
	}
		.slide-thumb
		{
			cursor: pointer;
		}
		.cycle-pager span
		{
			background: #FFFFFF;
			border: 3px solid #FFFFFF;
			border-radius: 50%;
			cursor: pointer;
			display: inline-block;
			height: 17px;
			margin: 2px 4px;
			width: 17px;
		}
				.cycle-pager .cycle-pager-active
				{
					background: #3F9C5F;
				}

	.cycle-prev,
	.cycle-next
	{
		background: url('/assets/images/slide_nav.png');
		cursor: pointer;
		height: 26px;
		top: 50%;
		width: 26px;
	}
		.cycle-prev
		{
			float: left;
			left: 5px;
		}
		.cycle-next
		{
			background-position: 100% 0;
			float: right;
			right: 5px;
		}
		
		.nojs .slideshow-control
		{
			display: none;
		}

/******************************
PAGES
******************************/

/**************************
Contact ******************/
.google_map
{
	border: 2px solid #888888;
}
	.nojs iframe.google_map
	{
		display: none;
	}

/**************************
Properties ***************/

/* Property Search */
.sidebar .prop-search
{
	background: #EAEAEA;
	padding: 5%;
	width: 90%;
}
	.sidebar .prop-search > div
	{
		float: left;
		margin-bottom: 0.6em;
		width: 100%;
	}
		.field-heading
		{
			display: block;
		}
		.sidebar .prop-search .half-field
		{
			float: left;
			width: 49%;
		}
			.sidebar .prop-search .half-field + .half-field
			{
				margin-left: 2%;
			}
		.prop-search input[type="submit"]
		{
			display: block;
			width: 100%;
		}
	
	.noUi-connect
	{
		background: #3F9C5F;
	}
		.noUi-horizontal
		{
			padding-right: 26px;
		}
			.noUi-horizontal .origin
			{
				right: -26px;
			}
			.noUi-horizontal .noUi-handle
			{
				background: #3F9C5F;
				border-color: #3F9C5F;
				box-shadow: none;
				left: -1px;
				width: 28px;
			}
				
				.noUi-handle:before
				{
					left: 11px;
				}
				.noUi-handle:after
				{
					left: 14px;
				}
				
				.noUi-handle.noUi-active
				{
					background-color: #91BD49;
				}
	
/* Property Block */
.prop-block
{
	border-top: 1px solid #999999;
	float: left;
	margin-bottom: 1em;
	padding-top: 1em;
	width: 100%;
}
	.prop-block-thumb
	{
		float: left;
		margin-right: 2%;
		min-height: 1px;
		width: 25%;
	}
	.prop-block-info
	{
		float: left;
		line-height: 1.22;
		width: 73%;
	}
		.prop-block-info .button
		{
			padding: 8px 30px 5px;
		}
		.prop-block-info h2
		{
			margin: 0;
		}
	.prop-icons
	{
		float: left;
		width: 100%;
	}
		.prop-icons img
		{
			margin-right: 5px;
			vertical-align: top;
		}


/* Property Entry */
.property
{
	
}
	.prop-price
	{
		float: right;
		font-weight: bold;
		padding-top: 0.7em;
	}
	h2.basic-info
	{
		margin-top: 0.5em;
	}
	
.js .prop-slider img + img
{
	display: none;
}
.prop-slider-thumbs img
{
	border-top: 2px solid #999999;
	cursor: pointer;
	transition: border-color 0.2s;
}
	.prop-slider-thumbs img.cycle-slide-active
	{
		border-color: #3F9C5F;
	}

.prod-thumbs-next,
.prod-thumbs-prev
{
	background: #000000;
	background: rgba(0,0,0,0.25);
	bottom: 0;
	position: absolute;
	top: 0;
	width: 20px;
}
	.prod-thumbs-prev
	{
		left: 0;
	}
	.prod-thumbs-next
	{
		right: 0;
	}
	
	.prod-thumbs-next:after,
	.prod-thumbs-prev:after
	{
		content: "";
		border: 5px solid transparent;
		display: block;
		left: 50%;
		margin-left: -2px;
		margin-top: -2px;
		position: absolute;
		top: 50%;
	}
		.prod-thumbs-prev:after
		{
			border-left: 0;
			border-right-color: #FFFFFF;
		}
		.prod-thumbs-next:after
		{
			border-left-color: #FFFFFF;
			border-right: 0;
		}

.prop-apply
{
	border: 1px solid #333333;
	padding: 0.75em 0.9em;
	width: 230px;
}
	.prop-apply .button
	{
		display: block;
	}

/* Property Icons */
.opentip-container .opentip
{
	color: #FFFFFF;
	font-size: 1em;
	font-weight: bold;
	text-shadow: none;
}

/**************************
Sites ********************/

/** List **/
.sites-row
{
	background: #3F9C5F;
	color: #FFFFFF;
	position: relative;
}
	.sites-listing-image
	{
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
		bottom: 0;
		left: 0;
		position: absolute;
		right: 0;
		top: 0;
	}
	.sites-content
	{
		padding: 1em;
	}
		.sites-content .button
		{
			background-color: #91BD49;
		}
			.sites-content .button:hover,
			.sites-content .button:focus
			{
				background-color: #3F9C5F;
			}

/** Detail **/
.sites-blocks .h2
{
	margin-top: 0;
}
	
/******************************
OTHER HTML
******************************/

.bold				{	font-weight: bold;					}
.headway			{	margin-top: 1em;					}
.uppercase			{	text-transform: uppercase;			}

.csv + .csv:before
{
	content: ", ";
}

/******************************
MENUS
******************************/
			
/**************************
Main Menu ****************/
.header-menu
{
	background: #EAEAEA;
}
	.lang-cy .header-menu
	{
		font-size: 0.9em;
	}
	
	.header-menu .mean-only
	{
		display: none !important;
		speak: none;
	}
	
	.header-menu li
	{
		display: inline-block;
		position: relative;
	}
		.header-menu a
		{
			background: #EAEAEA;
			color: #888888;
			display: block;
			padding: 10px 20px;
			white-space: nowrap;
		}
			.lang-cy .header-menu a
			{
				padding: 6px;
			}
			
			.header-menu li:hover a,
			.header-menu a:focus,
			.header-menu .clicked a
			{
				background: #3F9C5F;
				color: #FFFFFF;
				text-decoration: none;
			}
			
			.header-menu .level_1.has_children > a:after
			{
				content: "▼";
				font-size: 12px;
				margin-left: 10px;
				vertical-align: middle;
			}
				.header-menu .level_1.has_children.clicked > a:after
				{
					content: "▲";
					
				}
		
		.header-menu li > ul
		{
			display: none;
			min-width: 100%;
			position: absolute;
			top: 100%;
			z-index: 500;
		}
			.header-menu > ul > li.last_child > ul
			{
				right: 0;
			}
			
			.nojs .header-menu li:hover > ul,
			.nojs .header-menu li:focus > ul,
			.no-touch .header-menu li:hover > ul,
			.no-touch .header-menu li:focus > ul,
			.header-menu .clicked > ul,
			.header-menu li li
			{
				display: block;
			}
			
				.header-menu li li + li
				{
					border-top: 1px solid #fff;
				}
				
				.header-menu li li a
				{
					background: #3F9C5F;
					color: #FFFFFF;
					transition: background 0.3s ease-out;
				}
					.header-menu li li a:hover,
					.header-menu li li a:focus
					{
						background: #91BD49;
						color: #FFFFFF;
					}
					
					.header-menu li .has_children > a
					{
						margin-right: 46px;
					}
						.nojs .header-menu li .has_children > a,
						.no-touch .header-menu li .has_children > a
						{
							margin-right: 0;
							padding-right: 30px;
						}
							.nojs .header-menu li .has_children > a:after,
							.no-touch .header-menu li .has_children > a:after
							{
								content: "▶";
								font-size: 12px;
								margin: 0;
								position: absolute;
								right: 10px;
							}
				
				.header-menu .sublink
				{
					background: #3F9C5F;
					border-left: 1px solid #8BC39F;
					border-color: rgba(255, 255, 255, 0.4);
					bottom: 0;
					color: #FFFFFF;
					cursor: pointer;
					font-size: 12px;
					line-height: 46px;
					padding: 0;
					position: absolute;
					right: 0;
					text-align: center;
					transition: background-color 0.2s ease-out, padding 0.2s ease-out;
					top: 0;
					width: 46px;
					z-index: 1;
				}
					.header-menu .clicked > .sublink
					{
						padding-left: 15px;
					}
					.header-menu .sublink:hover
					{
						background: #91BD49;
					}
					.nojs .header-menu .sublink,
					.no-touch .header-menu .sublink
					{
						display: none;
					}
					
				.header-menu li li > ul
				{
					border-left: 1px solid #FFFFFF;
					top: 0;
					left: 100%;
				}

/**************************
Footer Menu **************/
.footer-menu
{
	margin: 0.5em 0 1.5em;
}
	.footer-menu li
	{
		display: inline-block;
		line-height: 0.8em;
	}
		.footer-menu li + li
		{
			border-left: 1px solid #91BD49;
			margin-left: 6px;
			padding-left: 10px;
		}

/******************************
IE OVERRIDES
******************************/
.ie8 .header-menu a
{
	padding: 10px;
}

/******************************
MEDIA QUERY OVERRIDES
******************************/

@media ( max-width : 1230px )
{
	.topbar,
	.main-container,
	#cookie_box,
	.footer > .inner
	{
		padding-left: 25px;
		padding-right: 25px;
	}
}

@media ( max-width : 1100px )
{
	.header-menu a
	{
		font-size: 0.9em;
		padding-left: 12px;
		padding-right: 12px;
	}
	
	.home-block span
	{
		font-size: 1.3em;
	}
	
	#footer-copyright br
	{
		display: none;
	}
}

@media ( max-width : 1024px )
{
	.home-content-blocks > .content-block
	{
		width: 98%;
	}
		.home-content-blocks .contact-block
		{
			float: left;
			width: 50%;
		}
			.home-content-blocks .contact-block + a
			{
				float: left;
				width: 100%;
			}
}

@media ( min-width : 801px ) AND ( max-width : 1024px )
{
	.sidebar .h3,
	.sidebar .contact_form
	{
		width: 100%;
	}
	.ads
	{
		padding: 0;
	}
}

@media ( max-width : 940px )
{
	.header-menu a
	{
		padding-left: 6px;
		padding-right: 6px;
	}
	
	.home-block span
	{
		font-size: 1.5em;
	}
}

@media ( max-width : 900px )
{
	.footer-content,
	.footer-logos
	{
		text-align: center;
		width: 100%;
	}
}

@media ( max-width : 850px )
{
	.header-menu a
	{
		font-size: 0.8em;
	}
}

@media ( min-width : 801px ) and ( max-width : 1000px )
{
	.prop-apply
	{
		margin: 1em auto;
		width: 100%;
	}
}

@media ( max-width : 800px )
{
	.topbar-content,
	#header-search,
	.header-social,
	.breadcrumbs,
	.home .sidebar
	{
		display: none;
	}
	
	.topbar
	{
		font-size: 1.2em;
		left: 0;
		line-height: 1.9em;
		max-height: 42px;
		position: absolute;
		top: 0;
		width: auto;
		z-index: 1;
	}
	
	#header-logo
	{
		margin-bottom: 1em;
		width: 20%;
	}
	
	.main-container
	{
		padding-top: 20px;
	}
	
	#home-slideshow
	{
		width: 98%;
	}
	.home-block span
	{
		font-size: 1.3em;
	}
	
	.content .content-block,
	.content .sidebar
	{
		width: 98%;
	}
		.content .sidebar
		{
			margin-top: 1em;
		}
			.sidebar .contact_form input[type="submit"]
			{
				float: none;
			}
	
	.sites-listing-image
	{
		position: static;
	}
	
	.ad
	{
		float: left;
		width: 49.5%;
	}
		.ad + .ad
		{
			margin-left: 1%;
		}
}

@media ( max-width : 680px )
{
	.col.home-block
	{
		width: 48%;
	}
		.home-block span
		{
			font-size: 1.75em;
			margin: 0.4em 1em;
		}
	
	.home-content-blocks .contact-block
	{
		width: 60%;
	}
		.home-content-blocks .contact-block.address
		{
			width: 40%;
		}
	
	
	.footer-menu .menu
	{
		margin: auto;
		width: 80%;
	}
		.footer-menu .menu li
		{
			line-height: 1.5em;
			padding: 0 10px;
		}
			.footer-menu .menu li + li
			{
				border: 0;
				margin: 0;
			}
	
	.prop-apply
	{
		margin: 1em auto;
		width: 100%;
	}
}

@media ( max-width : 620px )
{
	.home-block span
	{
		font-size: 1.75em;
		margin-left: 0.5em;
		margin-right: 0.5em;
	}
}

@media ( max-width : 580px )
{
	.topbar,
	.main-container,
	.footer > .inner
	{
		padding-left: 15px;
		padding-right: 15px;
	}
	
	.home-content-blocks .contact-block
	{
		width: 100% !important;
	}
		.home-content-blocks .contact-block .h3
		{
			display: inline-block;
		}
			.home-content-blocks .contact-block.address .h3
			{
				display: block;
			}
	
	.ad,
	.ad + .ad
	{
		margin-left: 0;
		width: 100%;
	}
		.ad a
		{
			display: inline-block;
		}
}

@media ( max-width : 550px )
{
	h1
	{
		font-size: 1.5em;
	}
	
	.col.home-block
	{
		width: 98%;
	}
	
	.footer-menu .menu li
	{
		display: block;
	}
}

@media ( max-width : 400px )
{
	#header-logo,
	#header-right,
	#header-contact
	{
		margin: 0;
		text-align: center;
		width: 100%;
	}
		#header-logo img
		{
			max-width: 150px;
		}
}

@media ( max-width : 300px )
{
	#header-contact
	{
		font-size: 0.8em;
	}
}

/*** Property queries ***/


