/* Based on original design Brown Stone template by Free CSS Templates
http://www.freecsstemplates.org
Released for free under a Creative Commons Attribution 2.5 License */
/* Note: Accessibility browser settings can override/lock the font styles and sizes, 
 * this can lead to strange results and the CSS rules seeming to have no effect. */
/* The stylesheet is designed for modern browsers, but with basic fallback styling for older/crippled browsers.
* For old browsers where flexbox isn't fully supported, such as Safari (where column flex works, but row wrap doesn't) disable flex altogether so the non-flex base version is used instead */

body {
	margin: 0 auto;
	padding: 0;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11.5px; /* this size remains fixed, all the others are % relative to this size */
	text-decoration: none;
	/*width: 100%;*/
	word-spacing: normal;
	letter-spacing: normal;
}

h2 {
	padding: 0;
	font-weight: normal;
	font-family: Rockwell, Helvetica, sans-serif;
	text-align: center;
	margin: 0 0 10px 0;
	font-size: 260%;
}

h2 a {
	font-weight: normal;
}

h3 {
	margin: 1% 0;
	font-family: Verdana, Geneva, sans-serif;
	font-size: 105%;
	line-height: 135%;
	text-align: left;
}

p {
	margin: 5px 0 16px 0;
	text-align: justify;
	font-size: 108%;
	font-weight: normal;
	font-style: normal;
	line-height: 180%; /* increase line height to compensate for smaller font */
}

.contact_detail, .service_line {
	padding: 0;
	font-weight: normal;
	font-family: Rockwell, Helvetica, sans-serif;
	text-align: center;
	margin: 10px 0 32px 0;
	font-size: 160%;
	line-height: 140%;
}

form p
{
	margin: 8px auto;
	text-align: left;
	font-size: 108%;
	font-weight: normal;
	font-style: normal;
	line-height: 180%;
}

form .subheading
{
	margin: 12px 0 4px 0;
	font-size: 120%;
}

form .disclaimer {
	font-size: 102%;
	line-height: 180%;
}

ul, ol {
	text-align: left;
	font-weight: normal;
	line-height: 180%;
	margin: 1% 1% 4% 0;
}

dfn {
	font-style: normal;
}

.reduced_width_80
{
	width: 80%;
}

.outline_box
{
	margin: 2px 0 22px 0;
	border: 1px dotted #444;
	padding: 8px;
}

.outline_box .subheading {
	margin: 4px 0 6px 0;
}

.outline_box p {
	margin: 10px 0 4px 0;
}

.inset_box
{
	margin: 2px auto 18px auto;
	padding: 8px;
}

.new_window_icon 
{
	margin: 1px 0 0 2px;
	font-size: 98%;
}

/* Use more stylish ampersands if available */
.amp {
	font-family: Baskerville, Palatino, "Book Antiqua", serif;
}

.dark
{
	color: #373530; /* Dark brown */
}

.light
{
	color: #F5F5F5; /* white smoke */
}

.paired {
	display: inline-block;
}

/* Hyperlink within standard content */
.link
{
	text-decoration: none;
	font-size: 104%;
}

/* Note: hover only works on non touch-screen devices */
.link:hover, .nav_skip:hover {
	border-bottom: 2px solid #008B8B; /* DarkCyan */
}

.def
{
	text-decoration: none;
	margin: 0 0 0 1px; /* space touch-targets further apart */
}

.def:hover
{
	border-bottom: 1px solid #000082; /* Dark blue */
}

.items
{
	font-weight: normal;
	margin: 0 0;
	line-height: 170%;
}

.clear
{
	clear: both;
}

/* Disable flex entirely for Safari 6 or below */
.flex_row_container
{
	/*display: -webkit-box; /* Old - iOS 6 or below, Safari 3.1-6 */
	display: -webkit-flex; /* Safari */
	display: -moz-box; /* Old - Firefox 19 or below */
	display: -ms-flexbox;   /* IE 10 */
	display: flex;
	-moz-box-orient: horizontal;
	-moz-box-direction: normal;
	-moz-flex-flow: row wrap; /* Firefox 18 - 28 */
	-webkit-box-direction: normal;
	-webkit-flex-flow: row wrap; /* Safari 6.1+ */
	-webkit-box-orient: horizontal; /* Safari 6.1+, Chrome 21 - 29 */
	-ms-flex-flow: row wrap;
	-ms-flex-wrap: wrap;
	flex-flow: row wrap;
	-webkit-flex-flow: row wrap;
	-moz-box-pack: justify;
	-webkit-box-pack: justify;
	-moz-justify-content: space-between;
	-ms-box-pack: space-between; /* IE 10 */
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	/*border: 1px solid blue; /* box model testing */
}

/* basic non-flex */
.wrapper {
	display: table;
	margin: 0 auto; /* centred */
	padding: 0 2%; /* retain a left/right page border */
}

.wrapper_flex
{
	display: table-cell; /* fallback */
	/*display: -webkit-box; /* Old - iOS 6 or below, Safari 3.1-6 */
	display: -webkit-flex; /* Safari */
	display: -moz-box; /* Old - Firefox 19 or below */
	display: -ms-flexbox;   /* IE 10 */
	display: flex;
	-moz-flex-direction: column; /* Firefox 18 - 28 */
	-webkit-flex-flow: column; /* Safari 6.1+ */
	-webkit-box-orient: vertical; /* Safari 6.1+, Chrome 21 - 29 */
	-ms-flex-direction: vertical;
	-webkit-flex-direction: column;
	flex-direction: column;
}

/* Base non-flex version */
.menu_bar {
	display: table-header-group; /* Move to top of screen */
	width: 100%;
	margin: 10px 0 0 0;
}

/* flexbox override */
.menu_bar_flex {
	-webkit-box-ordinal-group: 1; /* OLD - iOS 6-, Safari 3.1-6 */
	-moz-box-ordinal-group: 1; /* OLD - Firefox 19- */
	-ms-flex-order: 1; /* IE 10 */
	-webkit-order: 1; /* NEW - Chrome */
	order: 1; /* NEW, Spec - Opera 12.1, Firefox 20+ */
}

.logo {
	/*-webkit-box-ordinal-group: 1; /* OLD - iOS 6-, Safari 3.1-6 */
	-moz-box-ordinal-group: 1; /* OLD - Firefox 19- */
	-ms-flex-order: 1; /* IE 10 */
	-webkit-order: 1; /* NEW - Chrome */
	order: 1; /* NEW, Spec - Opera 12.1, Firefox 20+ */
	position: relative;
	z-index: 1;
	margin: 5px auto;
	padding: 0;
	width: 225px;
	background-size: cover;
}

.logo_main {
	text-transform: lowercase;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-weight: normal;
	padding: 0;
	margin: 3px 0 0 0; /* override the heading margins */
	padding: 9px 0 0 2px;
	font-size: 326%;
	text-align: center;
	letter-spacing: 1px;
}

.logo_secondary {
	padding: 0;
	margin: -18px 0 5px 21px; /* overlap the bottom of the main logo */
	line-height: 172%;
	font-style: normal;
	width: 100%;
	text-align: center;
	text-transform: lowercase;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-weight: normal;
	font-size: 305%;
	letter-spacing: 1px;
}

/* Colour scheme toggle switch */
/* Copyright (c) 2012-2013 Thibaut Courouble
 * http://www.cssflow.com
 * Licensed under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 */
.switch {
	position: relative;
	margin: 14px auto 10px auto;
	height: 40px;
	width: 152px; /* width of both labels + margins (+ padding on some browsers) */
	border-radius: 3px;
	-webkit-box-shadow: inset 0 1px 3px #1A1A1A, 0 1px #3B3B3B;
	box-shadow: inset 0 1px 3px #1A1A1A, 0 1px #3B3B3B;
}

.switch-label {
	position: relative;
	z-index: 2;
	float: left;
	width: 64px;
	line-height: 26px;
	font-size: 114%;
	text-align: center;
	/*text-shadow: 0 1px 1px rgba(0, 0, 0, 0.45);*/
	cursor: pointer;
	font-weight: bold;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none; /* prevent text selection when clicking switch */
}
.switch-label:active {
	font-weight: normal;
}

.standard_theme_label {
	margin: 8px 3px 0 6px;
	color: #56F6F6;/*#4DB6B6;*/
}

.contrast_theme_label {
	margin: 8px 0 0 8px;
	color: #FAFAFA;
}

.switch-input {
	display: none; /* remove radio buttons */
}

/* The selected label */
.switch-input:checked + .switch-label {
	font-weight: bold;
	text-shadow: 0 1px #F5F5F5;
	-webkit-transition: 0.18s ease-out;
	-moz-transition: 0.18s ease-out;
	-o-transition: 0.18s ease-out;
	transition: 0.18s ease-out;
}

.switch-input:checked + .standard_theme_label {
	color: #108282; /* teal */
}

.switch-input:checked + .contrast_theme_label {
	color: #141414;
}

/* Highlighting slider movement */
.switch-input:checked + .contrast_theme_label ~ .switch-selector {
	left: 78px; /* needs to move by the width of the label + margins/padding */
  /* Note: left: 50% doesn't transition in WebKit */
}

/* The selection highlight slider */
.switch-selector {
	display: block;
	position: absolute;
	z-index: 1;
	top: 7px; /* match the top margin of the labels */
	left: 3px;
	width: 72px; /* needs to be wide enough to cover label */
	height: 30px;
	background-color: #F5F5F5; /* white smoke */
	border-radius: 3px;
	-webkit-box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 0 2px rgba(0, 0, 0, 0.2);
	box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 0 2px rgba(0, 0, 0, 0.2);
	-webkit-transition: left 0.08s ease-out;
	-moz-transition: left 0.08s ease-out;
	-o-transition: left 0.08s ease-out;
	transition: left 0.08s ease-out; /* slide smoothly rather than instant change */
}

/* Navigation Links Menu */
/* Non-flex base version */
.menu {
	display: block;
	margin: 14px 3% 12px 3%; /* Below logo with room either side for scrolling */
	width: 94%; /* minus L/R margins */
	line-height: 420%;
}

/* Flex-box override */
.menu_list_flex
{
	/*display: -webkit-box; /* Old - iOS 6 or below, Safari 3.1-6 */
	display: -webkit-flex; /* Safari */
	display: -moz-box; /* Old - Firefox 19 or below */
	/*display: -ms-flexbox;*/   /* IE 10 */
	display: flex;
	/*-webkit-box-ordinal-group: 2; /* OLD - iOS 6-, Safari 3.1-6 */
	-moz-flex-flow: row wrap; 	/* Firefox 18 - 28 */
	/*-ms-flex-wrap: wrap;*/	/* IE 10 */
	-webkit-flex-flow: row wrap; /* Safari 6.1+ */
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	/*-webkit-box-flex: 0; /* OLD - iOS 6-, Safari 3.1-6 */
	-moz-box-flex: 1; /* OLD - Firefox 19- */
	-webkit-flex: 1; /* Safari 6.1+, Chrome 21-29 */
	/*-ms-flex: 1 0 auto;*/	/* IE 10 */
	flex: 1 0 auto; /* NEW, Spec - Opera 12.1, Firefox 20+ */
	-moz-box-pack: justify;
	/*-webkit-box-pack: justify;*/
	-moz-justify-content: space-between;
	/*-ms-box-pack: space-between;*/ /* IE 10 */
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

/* IE10+ hack by using media query that only exists for IE10 or above */
@media screen and (-ms-high-contrast: none), (-ms-high-contrast: active) 
{
/* IE 10/11 don't respect container or screen width when flexbox row wrap is used, so this hack disables flexbox for IE */
	.menu_list_flex
	{
		display: block;
	}
}

.menu ul {
	margin: 0;
	padding: 0;
	list-style: none; /* no bullets */
	line-height: normal;
	text-align: center; /* centres menu-item elements when in inline-block, otherwise has no effect */
	overflow: hidden;
}

/* wide-screen only */
.menu li.not_small_screen
{
	display:none;
}

.menu li
{
	display: inline-block; /* Make menu item elements span across rows */
}

/* Sidebar links menu list item */
/* Non-flex base version */
.menu-item
{
	display: inline-block;
	text-align: left; /* keeps text within menu item */
	min-width: 133px;
	width: 133px; /* sized to the width of the longest menu item */
	margin: 4px 6px; /* gap between menu items */
	padding: 4% 0 4% 10px; /* offset the text from the highlighting border box */
	text-decoration: none;
	text-transform: capitalize;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 128%;
	border-radius: 15px; /* rounded corners */
}

/* Flex-box override */
.menu-item_flex
{
	/*display: -webkit-inline-box; /* Old - iOS 6 or below, Safari 3.1-6 */
	display: -moz-box; /* Old - Firefox 19 or below */
	display: -ms-inline-flexbox;   /* IE 10 */
	display: -webkit-inline-flex; /* Chrome, Safari */
	display: inline-flex;
	-moz-flex-flow: row wrap; /* Firefox 18 - 28 */
	-ms-flex-wrap: wrap;
	-webkit-flex-flow: row wrap; /* Safari 6.1+ */
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	/*-webkit-box-flex: 1; /* OLD - iOS 6-, Safari 3.1-6 */
	-moz-box-flex: 1; /* OLD - Firefox 19- */
	-webkit-flex: 1; /* Safari 6.1+, Chrome 21-29 */
	-ms-flex: 1; /* IE 10 */
	flex: 1 0 auto; /* NEW, Spec - Opera 12.1, Firefox 20+ */
}

/* Note: hover only works on non touch-screen devices */
.menu-item:hover {
	background-size: cover;
	border-radius: 15px; /* rounded corners */
	text-decoration: none;
}

/* Bring out the foreground text of the selected page */
.current_page_item a {
	background-size: cover;
	text-decoration: none;
	border-radius: 15px; /* rounded corners */
}

/* wide-screen only */
ul .sub-menu, .sub-menu-item
{
	display:none;
}

.theme_switch_legend {
	position: absolute;
	line-height: normal;
	font-size: 105%;
	padding: 2px 5px 1px 5px;
	margin: -12px 0 0 42px;
}

/* Right-hand side content */
/* Non-flex base version */
.content {
	display: table-footer-group; /* Move below menu bar */
	/*float: left;*/
	width: 100%; /* proportion of page sans L/R margins */
	margin: 0; /* top margin has to be a fixed value otherwise it resizes as the page width changes! */
	padding: 8px 0 0 0;
	-webkit-box-shadow: 6px 6px 15px #55514B;
	box-shadow: 6px 6px 15px #55514B; /*  h-shadow v-shadow blur spread color */
}

/* Flex-box override */
.content_flex {
	/*display: -webkit-box; /* Old - iOS 6 or below, Safari 3.1-6 */
	/*display: -webkit-flex; /* Safari */
	/*display: -moz-box; /* Old - Firefox 19 or below */
	/*display: -ms-flexbox;   /* IE 10 */
	/*display: unset;*/
	/*-webkit-box-ordinal-group: 2; /* OLD - iOS 6-, Safari 3.1-6 */
	-moz-box-ordinal-group: 2; /* OLD - Firefox 19- */
	-ms-flex-order: 2; /* IE 10 */
	-webkit-order: 2; /* NEW - Chrome */
	order: 2; /* NEW, Spec - Opera 12.1, Firefox 20+ */
}

.post {
	position: relative;	/* keep absolute child elements within this container */
	margin: 3%;
}

.post  a {
	border-bottom: 2px solid transparent; /* stops the content resizing when a link is hovered over */
}

.location_table {
	margin: 1% auto 6% auto;
	width: 92%;
	height: 100%;
}

.location_table td {
	background-color: transparent;
	text-align: left;
	padding: 6px 5px;
	font-size: 108%;
}

.title {
	margin: 10px 18px 12px 0; /* leave space to rhs for menu nav arrow */
	padding-left: 122px;
	text-indent: -122px; /* hanging indent */
	text-transform: lowercase;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-size: 180%; /* 195%*/
	letter-spacing: -.5px;
	text-align: left;
}

.title .company {
	color: #52483E; /* brown */
	text-align: left;
}

.menu_nav {
	position: absolute;
	top: -8px;
	right: -7px;
	font-size: 200%;
}

.entry { 
	width: 100%;
	margin: 1% 0;
	padding: 0 0 5px 0;
	border-bottom: 1px dotted #99938B;
	font-family: Verdana, Geneva, sans-serif;
	text-align: justify;
}

.entry li {
	margin: 0 0 1% 4%; /* left margin brings bullet point space inside container */
	font-size: 108%;
	line-height: 180%;
	text-align: left;
}

.subheading {
	display: block;
	margin: 20px 0 4px 0;
	font-weight: bold;
	word-spacing: normal;
	text-align: left;
	font-size: 110%;
}

h3.subheading {
	font-size: 115%;
	margin: 20px 0 6px 0;
}

.lower_title {
	margin: 0;
	padding: 0;
	text-transform: lowercase;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-size: 176%;
	letter-spacing: -.5px;
	text-align: left;
	text-decoration: none;
	font-weight: bold;
	line-height: 120%;
}

.service_line {
	text-transform: lowercase;
	text-align: left;
	margin: 0 0 16px 0;
	font-size: 140%;
}

.entry .page_number
{
	margin: 5px 4px 2px 0;
	text-align: right;
}

/* Wrapper for page nav elements so they'll share the same line
* The page nav 'bar' consists of wrappers which are placeholders for page links 
* This allows each nav element to keep its spacing whether or not it has a link */
.page_nav
{
	display: inline-block;
	width: 100%;
	font-size: 125%;
	font-weight: 400; /* not quite bold */
}

/* container for page nav link */
.prev_page_nav
{
	text-align: left;
	float: left;
	margin: 8px auto 0 0; /* space to the left of centre */
	width: 33%;
}

/* container for page nav link */
.next_page_nav
{
	text-align: right;
	float: right;
	margin: 8px 0 0 auto; /* space to right of centre */
	/*width: 32%;*/
}

/* container for page nav link */
.pagetop-link
{
	float: left;
	text-align: center;
	margin: 8px auto; /* centre */
	width: 36%;
}

.google_plus_share_img
{
	display: none;
}

/* Multiply the height by the aspect ratio to get the matching width. */
/* max size is at the largest screen size, reducing down to the % size at the smallest */
/* aspect ratio h->w 1.50 */
.Old_Vic_theatre_school_img
{
	max-height: 100px;
	max-width: 150px;
	/*height: 30%;/*437px*/
	width: 45%; /*657px*/
	margin: 1% 0 2px 4%;
	float: right;
}

/* aspect ratio h->w 1.64 */
.charlotte_street_img
{
	display: block;
	width: 80%; /*900px*/
	max-height: 300px;
	/*height: 55%; /*550px*/
	margin: 4% auto 0 auto;
}

/* aspect ratio h->w 1.58 */
.Brandon_House_img
{
	display: block;
	max-height: 200px;
	max-width: 314px;
	/*height: 55%;*/
	width: 55%;
	margin: 1% auto 5% auto;
}

/* aspect ratio h->w 0.89 */
.teresa_img
{
	max-height: 130px;
	/*height: 38%; /*217px*/
	max-width: 116px;
	width: 34%; /*194px*/
	margin: 1% 0 2% 4%;
	float: right;
}

/* aspect ratio h->w 1.34 */
.trevor_img
{
	max-height: 120px;
	/*height: 34%; /*187px*/
	max-width: 161px;
	width: 46%; /*250px*/
	margin: 1% 4% 5% 0;
	float: left;
}

/* aspect ratio h->w 1.33 */
.painswick_window_img
{
	max-height: 150px;
	/*height: 10%; /*150px*/
	width: 30%; /*200px*/
	overflow: hidden;
}

/* aspect ratio h->w 0.65 */
.kings_school1_img
{
	max-height: 154px;
	max-width: 100px;
	/*height: 100%;/*154px*/
	width: 100%;/*100px*/
	margin: 0 0 1% 5%;
	float: right;
}

/* aspect ratio h->w 0.56 */
.kings_school3_img
{
	max-height: 200px;/*140px;*/
	max-width: 113px;/*79px;*/
	/*height: 30%;/*200px*/
	width: 22%;/*113px*/
	margin: 1% 4% 1% 0;
	float: left;
}

/* aspect ratio h->w 0.60 */
.west_wing1_img
{
	max-height: 180px;
	height: 50%; /*400px*/
	max-width: 108px;
	width: 30%; /*239px*/
	float: right;
	margin: 1% 0 2% 5%;
}

/* aspect ratio h->w 0.66 */
.west_wing2_img
{
	max-height: 120px;
	max-width: 80px;
	/*height: 45%; /*452px*/
	width: 30%; /*300px*/
	float: right;
	margin: 1% 0 2% 5%;
}

/* aspect ratio h->w 0.66 */
.west_wing4_img
{
	max-height: 130px;
	max-width: 86px;
	/*height: 35%; /*452*/
	width: 24%; /*300*/
	float: left;
	margin: 1% 5% 2% 0;
}

/* aspect ratio h->w 0.66 */
.west_wing5_img
{
	max-height: 180px;
	max-width: 118px;
	/*height: 45%; /*452px*/
	width: 30%; /*300px*/
	float: left;
	margin: 1% 5% 2% 0;
}

/* aspect ratio h->w 0.66 */
.west_wing6_img
{
	max-height: 205px;
	max-width: 135px;
	height: 58%; /*265px*/
	width: 38%; /*176px*/
	float: left;
	margin: 1% 5% 4% 0;
}

/* aspect ratio h->w 0.71 */
.bay_window_img
{
	max-height: 200px;
	max-width: 142px;
	/*height: 46%; /*254px*/
	width: 33%; /*180px*/
	float: left;
	margin: 1% 5% 2% 0;
}

/* aspect ratio h->w 0.65 */
.house_front_img
{
	max-height: 160px;
	max-width: 105px;
	/*height: 45%; /*348px*/
	width: 30%; /*224px*/
	float: right;
	margin: 1% 0 2% 4%;
}

/* aspect ratio h->w 0.56 */
.butterow_img
{
	max-height: 155px;
	max-width: 87px;
	/*height: 42%;/*269px*/
	width: 24%;/*151px*/
	float: left;
	margin: 1% 4% 2% 0;
}

/* aspect ratio h->w 0.56 */
.butterow_img2
{
	max-height: 170px;
	max-width: 95px;
	/*height: 100%;/*269px*/
	width: 58%;/*151px*/
	float: left;
	margin: 1% 4% 2% 0;
}

/* aspect ratio h->w 0.56 */
.butterow_smaller_img
{
	max-height: 135px;
	max-width: 76px;
	height: 60%;/*266px*/
	width: 34%;/*150px*/
	float: right;
	margin: 1% 0 2% 5%;
}

/* aspect ratio h->w 0.75 */
.royal_img
{
	max-height: 150px;
	max-width: 112px;
	height: 46%;/*533px*/
	width: 34%;/*400px*/
	float: right;
	margin: 1% 0 2% 5%;
}

/* aspect ratio h->w 0.83 */
.working_img
{
	max-height: 110px;
	/*height: 25%; /*169px*/
	max-width: 91px;
	width: 25%; /*140px*/
	float: right;
	margin: 1% 0 2% 4%;
}

/* aspect ratio h->w 0.74 */
.rotten_sill_img
{
	max-height: 110px;
	max-width: 81px;
	/*height: 30%;/*239px*/ 
	width: 22%; /*325px*/
	margin: 4% 0 2% 5%;
	float: right;
	/*border: 1px solid white; /* box model testing */
}

/* aspect ratio h->w 1.17 */
.rotten_bar_img
{
	max-height: 80px;
	max-width: 93px;
	/*height: 20%; /*236px*/ 
	width: 24%; /*276px*/
	margin: 1% 4% 2% 0;
	float: left;
}

/* aspect ratio h->w 1.44 */
.glos_uni_img
{
	max-height: 123px;
	max-width: 178px;
	/*height: 35%; /*365px*/
	width: 45%; /*524px*/
	margin: 1% 0 2% 5%;
	float: right;
}

/* aspect ratio h->w 0.79 */
.double_glazed_sash_img
{
	max-height: 130px;
	max-width: 102px;
	/*height: 24%; /*380px*/
	width: 20%; /*299px*/
	float: right;
	margin: 5% 0 2% 4%;
}

/* aspect ratio h->w 0.60 */
.ashdown_road_img
{
	max-height: 200px;
	max-width: 120px;
	/*height: 75%; /*768px*/
	width: 45%; /*459px*/
	margin: 1% 0 2% 4%;
	float: right;
	border: 1px solid white; /* box model testing */
}

/* aspect ratio h->w 0.60 */
.ashdown_road_small_img
{
	max-height: 200px;
	/*height:40%; /*300px*/
	max-width: 120px;
	width: 26%; /*180px*/
	margin: 1% 0 0 5%;
	float: right;
	/*border: 1px solid white; /* box model testing */
}

/* aspect ratio h->w 0.49 */
.repaired_window_img
{
	max-height: 175px;
	/*height: 55%; /*408px*/
	max-width: 86px;
	width: 26%; /*200px*/
	float: left;
	margin: 1% 5% 3% 0;
}

/* aspect ratio h->w 1.27 */
.willet_son_img
{
	display: block;
	max-height: 160px;
	max-width: 204px;
	/*height: 45%; /*300px*/
	width: 58%; /*382px*/
	margin: 2% auto;
}

/* aspect ratio h->w 1.21 */
.cord_plug_img
{
	display: block;
	max-height: 78px;
	/*height: 85%; /*150px*/
	max-width: 94px;
	width: 52%; /*182px*/
	float: right;
	margin: 1% 0 2% 4%;
}

/* These only apply to the PNG fallback images */
.social_button_img {
	margin: 4px 1px -1px 3px;
	max-width: 18px;
	max-height: 18px;
	width: 100%;
	vertical-align: text-bottom;
}

.img_caption
{
	display: inline-block;
	width: 95%;
	text-align: center;
	font-size: 105%;
	font-weight: normal;
	margin: 0 2% 2% 2%;
}

.bullet {
	display: list-item;
	list-style: disc inside;
}

.fault_list  {
	margin: 4% auto;
	width: 60%;
	line-height: 220%;
}

.fault_list  li {
	margin: 4% auto;
	font-size: 118%;
}

.fault_table  {
	margin: 1% auto 6% 10%; /* compensate for text-indent with left margin */
	width: 90%;
	height: 100%;
}

.fault_table td {
	background-color: transparent;
	text-align: left;
	vertical-align: top; /* align the bullet points */
	padding: 10px 9px;
	font-size: 107%;
	text-indent: -10px; /* line up word-wrapped text */
}

.page_link_table  {
	margin: 0 auto 4% auto;
	width: 90%;
	height: 100%;
	border: 1px solid #FFF;
}

.page_link_table td {
	background-color: transparent;
	text-align: center;
	margin: 1px 0 1px 0;
	padding: 8px 10px;
	font-size: 103%;
}

.page_link_table td a {
	border-bottom: 2px solid transparent; /* stops the table cell resizing when a link is hovered over */
}

.cookie_table, .price_table {
	margin: 2% 0 4% 0;
	width: 100%;
	height: 100%;
	-webkit-box-shadow: 6px 6px 5px #888888;
	box-shadow: 6px 6px 5px #888888; /* DistanceX DistanceY Blur Colour */
	border: 1px solid #000000;
	border-radius: 1px;
	/*border-collapse: collapse;
	border-spacing: 0;*/
}

.cookie_table td, .price_table td
{
	vertical-align: middle;
	background-color: transparent;
	border: 1px solid #000000;
	border-width: 1px;
	text-align: left;
	padding: 7px;
}

/* Header row */
.cookie_table tr:first-child td, .price_table tr:first-child td
{
	text-align: center;
	font-weight: bold;
}

/* No need for base/flex versions, it'll be at the bottom of the page either way */
.footer {
	display: inline-block;
	margin: 1% auto 0 auto;
	width: 96%;
	font-family: Arial, Helvetica, sans-serif;
}

.footer p {
	margin: 6px 0;
	line-height: 190%; /* space out lines to make it easier for touch-screen access to links */
	font-size: 92%;
	text-transform: uppercase;
	text-align: center;
}

.footer .contact {
	font-size: 115%;
}

.footer a {
	text-align: center;
}

/* Keep social button and link pairs group together when wrapping */
.footer .social_link {
	display: inline-block;
	margin: 3px 2px;
	letter-spacing: 1px;
}

.footer_table  {
	margin: 0 auto;
	width: 92%;
	height: 100%;
}

.footer_table td {
	background-color: transparent;
	text-align: center;
}

.footer_table .left_col {
	width: 62%; /* wide enough for the email contact to fit one line (most of the time) */
	padding: 0 2% 0 0;
}
.footer_table .right_col {
	padding: 0 0 0 2%;
}

/* Allow some customising of <strong> tags */
.heavy_text {
	font-weight: bold;
}

.centred
{
	text-align: center;
}

.left_align
{
	text-align: left;
}

form label, .text_field
{
	margin: 8px 3px;
	line-height: normal;
}

.sub_field_group  {
	margin-left: 10px;
}

.sub_field_group  p {
	margin: auto 0;
}

.inline_label
{
	margin: auto 20px auto 4px;
}

.choice_field
{
	display: inline-block;
	vertical-align: middle;
	position: relative;
	margin: 6px 0px 6px 4px;
}

.text_block
{
	display: block;
	margin: 8px auto;
	width: 95%;
	max-height: 180px;
	resize: vertical; /* prevent resizing horizontally */ 
}

.form_button
{
	margin: 8px auto;
	padding: 0px 10px;
}

.error 
{
	margin: 2px auto;
}

.ad_link {
	display: block;
	text-align: right;
	line-height: 100%;
}

.not_modern_browser {
	display: none;
}

.print_only, span.print_only, p.print_only {
	display: none;
}

/* Media specific overrides, have to be the last thing in the stylesheet */
/* very small screen width */
@media screen and (max-width: 300px)
{
/* Leave out extra detail on small screens */
	.not_small_screen
	{
		display:none;
	}
	.not_very_small_screen
	{
		display:none;
	}
	.centred_wide_only
	{
		text-align: left;
	}
}

/* interim screen width */
@media screen and (max-width: 680px)
{
	/* Leave out extra detail on small screens */
	.not_small_screen
	{
		display:none;
	}
	h1.contact 
	{
	}
}

/* wide screen width */
@media screen and (min-width: 680px)
{
	/* Leave out minimised detail on larger screens */
	.not_wide_screen
	{
		display:none;
	}
	h1.contact 
	{
	}
}