/*
 * ROSELAND HOLIDAY COTTAGES
 *
 * Site design by Hudson Armstrong Design; web development by LOOKsystems.
 * Box headings and the menu were images of Helvetica Neue Light text; they
 * are real text now.
 */

/* GLOBAL STYLES */

body {
	color: #666;
	font-size: 13px;
	background-color: #dfedf6;
	font-family: arial, helvetica, sans-serif;
	margin: 0 0 3em 0;
	padding: 0;
}

a {
	color: #f64c93;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}

img {
	border: none;
}

h1, h2, h3, h4, h5, h6, p, form {
	padding: 0;
	margin: 0;
}

.skip {
	position: absolute;
	left: -10000px;
}
.skip:focus {
	left: 8px;
	top: 8px;
	z-index: 1000;
	padding: 4px 8px;
	background: #fff;
}

/* PAGE */

#page {
	width: 780px;
	background: #fff;
	margin: 0 auto;
	position: relative;
}

/* BRANDING */

#header {
	color: #fff;
	background-color: #8cd3cf;
	position: relative;
	height: 74px;
}
#header h1 a {
	position: absolute;
	left: 10px;
	top: 15px;
	display: block;
	width: 295px;
	height: 50px;
	background: url(../img/roseland_holiday_cottages_with_classic.png) 0 0 no-repeat;
	text-indent: -9000px;
	overflow: hidden;
}
#booking {
	position: absolute;
	right: 10px;
	top: 15px;
	font: 300 20px/22px "Helvetica Neue", Helvetica, Arial, sans-serif;
	letter-spacing: 0.01em;
}
#booking a {
	color: #fff;
}
#booking a::before {
	content: "T: ";
}

/* PRIMARY NAVIGATION */

#menu {
	padding: 0 10px;
	height: 30px;
	position: relative;
	background-color: #aee0dd;
	z-index: 500;
	font: 300 12px/30px "Helvetica Neue", Helvetica, Arial, sans-serif;
}
#menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
#menu > ul > li {
	float: left;
	position: relative;
	padding-right: 9px;
	margin-right: 4px;
	background: url(../img/colon.gif) right center no-repeat;
}
#menu > ul > li[data-last] {
	background: none;
}
#menu a {
	color: #666;
	display: block;
}
#menu a:hover,
#menu .select > a,
#menu a[aria-current] {
	color: #fff;
	text-decoration: none;
}
#menu li div {
	position: absolute;
	left: -0.5em;
	top: 30px;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.12s, visibility 0.12s;
}
#menu li:hover div,
#menu li:focus-within div {
	visibility: visible;
	opacity: 1;
}
#menu li div ul {
	width: 150px;
	padding: 0 0 0.5em 0;
	background: rgba(140, 211, 207, 0.95);
	line-height: 1.5;
	font-size: 11px;
}
#menu li div li {
	padding: 0.15em 0.5em;
}

/* MAIN CONTENT */

#main {
	font-family: Georgia, serif;
	margin: 10px;
	padding-bottom: 1em;
}
#main::after {
	content: "";
	display: block;
	clear: both;
}

#gallery {
	display: flex;
	gap: 12px;
	margin-bottom: 12px;
}
#gallery img {
	display: block;
}

#content {
	overflow-wrap: break-word;
}
#content > .column {
	margin-right: 12px;
	float: left;
}
#content > .last {
	float: right;
	margin: 0;
}

.box {
	padding: 10px;
	margin-bottom: 10px;
	color: #fff;
}
.box h1,
.box h2 {
	clear: both;
	font: 300 16px/1.15 "Helvetica Neue", Helvetica, Arial, sans-serif;
	letter-spacing: 0.01em;
}
.box h1 {
	border-bottom: 1px solid #666;
	margin-bottom: 0.25em;
	display: table;
}
.box h2 {
	margin-bottom: 0.75em;
	color: #fff;
}
.box h2 u {
	text-decoration: none;
	border-bottom: 1px solid #fff;
	padding-bottom: 1px;
}
.box h3 {
	font-size: 100%;
	margin: 0.5em 0;
}

.box ul {
	margin: 0 0 0.9em;
	padding-left: 1.2em;
}
.box a {
	color: #fff;
}
.box img {
	max-width: 100%;
	height: auto;
}

/* box colours: text is grey on the light boxes, white on the darker ones */

#content .bg_ffffff { padding: 0; }
#content .bg_aee0dd { background-color: #aee0dd; }
#content .bg_8cd3cf { background-color: #8cd3cf; }
#content .bg_f1edd0 { background-color: #f1edd0; }
#content .bg_c2c64b { background-color: #c2c64b; }
#content .bg_b5c57c { background-color: #b5c57c; }
#content .bg_beb6c5 { background-color: #beb6c5; }
#content .bg_f94b93 { background-color: #f94b93; }
#content .bg_f45f72 { background-color: #f45f72; }
#content .bg_a1cee1 { background-color: #a1cee1; }
#content .bg_a0cee0 { background-color: #a0cee0; }
#content .bg_f3f3f3 { background-color: #f3f3f3; }

#content .bg_ffffff,
#content .bg_aee0dd,
#content .bg_f1edd0,
#content .bg_a1cee1,
#content .bg_ffffff h2,
#content .bg_aee0dd h2,
#content .bg_f1edd0 h2,
#content .bg_a1cee1 h2 {
	color: #666;
}
#content .bg_aee0dd h2 u,
#content .bg_a1cee1 h2 u {
	border-bottom-color: #666;
}
#content .bg_ffffff a,
#content .bg_f1edd0 a {
	color: var(--highlight);
}
#content .bg_ffffff h2 u,
#content .bg_f1edd0 h2 u,
#content h1 {
	border-bottom-color: var(--highlight);
}
#content .box .link a {
	font-weight: bold;
}
#content .bg_f3f3f3,
#content .bg_f3f3f3 h2,
#content .bg_f3f3f3 h3,
#content .bg_f3f3f3 a {
	color: #005193;
}
#content .bg_f3f3f3 h2 u {
	border-bottom-color: #005193;
}

.more {
	padding-left: 12px;
	background: url(../img/bullet-white.png) 0 1px no-repeat;
}
#content .bg_ffffff .more,
#content .bg_aee0dd .more,
#content .bg_f1edd0 .more,
#content .bg_a1cee1 .more,
#content .bg_f3f3f3 .more {
	background-image: url(../img/bullet-grey.png);
}
#content .bg_ffffff a.simple {
	color: #666;
}

.ClickToView .image {
	margin-bottom: 0.6em;
}
.ClickToView .image img {
	display: block;
}

/* NEWS */

.newslist .item {
	margin-bottom: 1.2em;
}
.newslist p,
.box .intro,
.box .date,
.box .features,
.ClickToView p,
.more-photos,
#property_details .allowed {
	margin-bottom: 0.8em;
}
.newslist small,
.box .date {
	opacity: 0.85;
}

/* PROPERTY LISTS */

.property_fullsummary {
	clear: both;
	margin-top: 1em;
}
.property_fullsummary .property {
	display: flex;
	gap: 10px;
	min-height: 181px;
	margin-bottom: 10px;
}
.property_fullsummary .image img {
	display: block;
}
.property_fullsummary .details {
	flex: 1;
	background: #a1cee1;
	padding: 10px;
	color: #005193;
}
#content .property_fullsummary .details a {
	color: #fff;
}
.property_fullsummary p {
	margin-bottom: 0.8em;
}
.property_fullsummary .info,
#property_details .info {
	font-weight: bold;
	margin: 0;
}
.stars {
	display: inline-flex;
	vertical-align: -2px;
}
.star {
	width: 15px;
	height: 14px;
	background: url(../img/star.png) 0 0 no-repeat;
	text-indent: -9000px;
	overflow: hidden;
}

/* filters and paging */

.search-filter {
	color: #005193;
	overflow: hidden;
	margin-bottom: 0.5em;
}
.search-filter ul {
	list-style: none;
	float: left;
	width: 181px;
	padding: 0;
	margin: 0 10px 0.5em 0;
}
#content .search-filter a {
	color: #005193;
}
#content .search-filter a.selected {
	font-weight: bold;
}
.search-clear {
	clear: both;
	font-size: 90%;
}
#search_results {
	clear: both;
}
.navigator {
	font-style: normal;
	font-size: 90%;
	margin: 0.6em 0;
}
#content .navigator a {
	display: inline-block;
	color: #005193;
	background-color: #f3f3f3;
	padding: 2px 5px;
	margin-bottom: 3px;
}
#content .navigator a.navselect {
	font-weight: bold;
	background-color: #005193;
	color: #fff;
}
.navigator-count {
	float: right;
	margin: 0.6em 0 0;
	font-size: 90%;
}

/* PROPERTY PAGE */

#property_details {
	position: relative;
	display: flex;
	flex-direction: row-reverse;
	gap: 20px;
	justify-content: space-between;
	min-height: 80px;
}
#property_details ul {
	width: 171px;
	flex-shrink: 0;
	padding: 0;
	margin: -2.2em 0 0;
}
#property_details li {
	margin: 0.4em 0 0;
	padding: 0 0 2px 14px;
	list-style: none;
	background: url(../img/bullet-grey.png) 2px 1px no-repeat;
	border-bottom: 1px solid #005193;
}
#property_details .text {
	align-self: flex-end;
}
#property_details .allowed {
	margin-bottom: 0.5em;
}
#property_details h3 {
	font-size: 100%;
	margin: 0 0 0.5em;
}
#property_images {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
#property_images a {
	display: block;
}
#property_images img {
	display: block;
}
#property_images .extra {
	display: none;
}
.more-photos {
	margin-top: 0.6em;
}
.features {
	margin-top: 1em;
}
.availability iframe {
	display: block;
	width: 100%;
	max-width: 680px;
	height: 400px;
	border: 0;
	overflow: hidden;
}

/* AREA MAP */

.areamap {
	position: relative;
	max-width: 100%;
}
.areamap img {
	display: block;
	max-width: 100%;
	height: auto;
}
.areamap .marker {
	position: absolute;
	width: 15px;
	height: auto;
}

/* FORMS */

.siteform {
	max-width: 400px;
}
.siteform .field {
	margin-bottom: 0.7em;
}
.siteform label,
.siteform .label {
	display: block;
	margin-bottom: 2px;
}
.siteform label.check,
.siteform .choices label {
	display: inline;
	margin-right: 0.6em;
}
.siteform input[type=text],
.siteform input[type=email],
.siteform input[type=date],
.siteform input[type=number],
.siteform select,
.siteform textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 3px 4px;
	font: 13px arial, helvetica, sans-serif;
	color: #444;
	border: 1px solid #b9c7cf;
	background: #fff;
}
.siteform input[type=number] {
	width: 6em;
}
.siteform .invalid input,
.siteform .invalid textarea,
.siteform .invalid select {
	border-color: #f94b93;
	background: #fff6f9;
}
.siteform .error-text,
.form-errors {
	color: #f94b93;
}
.box .form-errors {
	font-weight: bold;
}
.form-heading {
	margin: 1em 0 0.5em;
}
.form-submit input {
	font: bold 12px arial, helvetica, sans-serif;
	color: #fff;
	background: #8accc8 url(../img/bullet-white.png) 8px 6px no-repeat;
	border: 0;
	padding: 5px 12px 5px 22px;
	cursor: pointer;
}
.form-submit input:hover {
	background-color: #6fbcb7;
}
.siteform .hp {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* FOOTER */

#footer {
	clear: both;
	margin: 0 10px;
	padding: 5px 0 8px;
	border-top: 1px solid #666;
	font-size: 80%;
}
#footer ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	row-gap: 0.3em;
}
#footer li {
	border-right: 1px solid #666;
	padding: 0 0.5em;
}
#footer li.first {
	padding-left: 0;
}
#footer li.credits {
	border-right: none;
}
#footer a {
	color: #666;
}

/* GENERAL */

.wai {
	position: absolute;
	left: -10000px;
}
.notice {
	background: #fff8d8;
	border: 1px dotted #cc9;
	padding: 0.5em;
	margin-bottom: 10px;
	color: #666;
}

/* GALLERY VIEWER */

dialog.viewer {
	width: fit-content;
	min-width: min(320px, calc(100vw - 32px));
	max-width: calc(100vw - 32px);
	max-height: calc(100vh - 32px);
	padding: 0;
	border: none;
	background: #fff;
	color: #666;
	box-shadow: 0 6px 30px rgba(40, 60, 80, 0.3);
	overflow: hidden;
	font-family: arial, helvetica, sans-serif;
}
dialog.viewer[open] {
	display: flex;
	flex-direction: column;
}
dialog.viewer:focus {
	outline: none;
}
dialog.viewer::backdrop {
	background: rgba(140, 211, 207, 0.85);
}
.viewer-head, .viewer-foot {
	display: flex;
	gap: 1em;
	align-items: center;
	justify-content: space-between;
	padding: 0.8em 1em;
}
.viewer-head {
	padding-bottom: 0.4em;
}
.viewer-foot {
	padding-top: 0.4em;
	font-size: 80%;
}
.viewer-caption {
	font: 300 16px "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.viewer-close {
	font: 22px/1 arial, sans-serif;
	color: #999;
	background: none;
	border: none;
	padding: 0 0.2em;
	cursor: pointer;
}
.viewer-close:hover {
	color: #000;
}
.viewer-stage {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 3.2em;
}
.viewer-image {
	display: block;
	max-width: 100%;
	max-height: calc(100vh - 140px);
	width: auto;
	height: auto;
}
.viewer-prev, .viewer-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1.6em;
	height: 1.6em;
	padding: 0;
	font: 28px/1 arial, sans-serif;
	color: #999;
	background: none;
	border: none;
	cursor: pointer;
}
.viewer-prev:hover:not(:disabled), .viewer-next:hover:not(:disabled) {
	color: #000;
}
.viewer-prev:disabled, .viewer-next:disabled {
	opacity: 0.25;
	cursor: default;
}
.viewer-prev { left: 0.2em; }
.viewer-next { right: 0.2em; }

/* ADMIN TOOLBAR (when signed in) */

#toolbar {
	position: absolute;
	right: 0;
	top: 0;
	z-index: 600;
	margin: 4px;
	padding: 0.25em 0.5em;
	color: #666;
	background: #fff;
	border: 1px dotted #ccc;
	font: 12px arial, sans-serif;
}
#toolbar a {
	color: #666;
}
#toolbar a:hover {
	color: #000;
	text-decoration: underline;
}
#toolbar .icon {
	width: 1.05em;
	height: 1.05em;
	margin-right: 0.3em;
	vertical-align: -0.17em;
}
.redirect-notice {
	max-width: 420px;
	padding: 0.2em 1.2em;
	background: #fff;
	border-left: 3px solid #9cc3de;
	font-family: arial, sans-serif;
}
.redirect-notice.broken {
	border-left-color: #c9853a;
}

/* SMALL SCREENS: one column */

@media (max-width: 800px) {
	body {
		margin: 0;
		font-size: 14px;
	}
	#page {
		width: auto;
	}
	#header {
		height: auto;
		padding: 12px 10px;
		display: flex;
		flex-wrap: wrap;
		gap: 6px 16px;
		align-items: center;
		justify-content: space-between;
	}
	#header h1 a, #booking {
		position: static;
	}
	#booking {
		font-size: 17px;
	}
	#menu {
		height: auto;
		padding: 6px 10px;
		line-height: 1.9;
		font-size: 14px;
	}
	#menu > ul {
		display: flex;
		flex-wrap: wrap;
		column-gap: 4px;
	}
	#menu > ul > li {
		float: none;
		background-position: right 11px;
	}
	#menu li div {
		display: none;
	}
	#gallery {
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}
	#gallery img {
		width: 46vw;
		height: auto;
		scroll-snap-align: start;
	}
	#content > .column {
		float: none;
		width: auto !important;
		margin: 0;
	}
	.property_fullsummary .property {
		flex-direction: column;
	}
	.property_fullsummary .image img {
		width: 100%;
		height: auto;
		aspect-ratio: 3 / 2;
		object-fit: cover;
	}
	#property_details {
		flex-direction: column;
	}
	#property_details ul {
		margin: 0;
		width: auto;
	}
	#property_images img {
		width: calc(50vw - 36px);
		height: auto;
	}
	.search-filter ul {
		width: 46%;
	}
	.siteform {
		max-width: none;
	}
}

/* narrow columns: property summaries stack, tables shrink */
#content > .column {
	container-type: inline-size;
}
#content .box table {
	max-width: 100%;
}
@container (max-width: 380px) {
	.property_fullsummary .property {
		flex-direction: column;
		min-height: 0;
	}
	.property_fullsummary .image img {
		width: 100%;
		height: auto;
	}
}

/* captcha (ALTCHA) */
.siteform altcha-widget {
	--altcha-max-width: 100%;
	--altcha-border-radius: 0;
	--altcha-color-border: #b9c7cf;
	--altcha-color-text: #444;
	--altcha-color-base: #fff;
	font-family: arial, helvetica, sans-serif;
	font-size: 13px;
}

.privacy-note {
	margin-top: 0.8em;
	opacity: 0.85;
}
