@import url(//fonts.googleapis.com/css?family=BenchNine:400,700|Roboto:400,700);

@import 'calendar.css';

/* CORE STYLES */
:root {

	--dark: #0f0f0f;
    --lesslight: #ddd;
    --othercolour: #af2020;
	--othercolour2: #c42424; 
	--lightgrey: #eeeeee;
	--black: #000;
}


 
body {
	margin: 0;
	font-family:  Roboto, Calibri,Tahoma , Geneva, Verdana, sans-serif;
	background: #678daf;
}
img {
	border: 0;
	max-width: 100%; 
}
table {
	border-collapse: collapse;
	width: 100%;
	font-size: inherit;
} 
td {
	vertical-align: top;
	padding: 10px 20px 10px 0;
	border-bottom: 1px #eee solid;
}
h1{
	font-size: 30px;
    font-family: BenchNine;
	color: #678daf;
	font-weight: 700;
}
h2 {
	font-size: 24px;
    font-family: BenchNine;
	font-weight: 700;
	color: #678daf;
}
h3 {
	font-size: 20px;
    font-family: BenchNine;
	font-weight: 700;
	color: #678daf;
}
h3 a{
	color: #678daf;
	text-decoration: none;
} 
h3 a:hover{
  /*  text-shadow: 2px 2px 1px rgba(0,0,0,0.5);*/
}
table img {
	border-radius: 10px; 
	min-width: 100px; 
} 
table a:hover img{
	box-shadow: 0px 0px 3px 3px rgba(0,0,0,0.3);
}

a[href^="mailto:"]
{
  overflow-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  word-break: break-all;
  word-break: break-word;
  -ms-hyphens: auto;
  -moz-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
}





/* full size and footer */


#maincontainer {
    margin-bottom: 275px;
    position: relative;
    z-index: 20;
	background-color: #eee;
	padding-bottom: 50px; 
	box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.5);
}
#footer
{
	position:fixed;
	bottom:0;
    clear: both;
    background: #678daf;
	color: #fff;
	min-height: 275px;
	z-index: 0;
	font-size: 15px; 
    left: 0;
    right: 0;
}



/* top bit */

#links {
	height: 50px;
	font-size: 15px;
	color: #FFFFFF;
	background-color: #93a2a7;
	line-height: 50px;
	position: fixed;
	z-index: 10;
	width: 100%; 
	box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.5);
}
#links div {
	max-width: 1240px;
	margin: auto;
	text-align: right;
}
#links a{
	color: #fff;
	padding: 15px 10px 14px 10px;
	text-decoration: none;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	transition: 0.5s;
	border-bottom: 0px #000 solid;
}
#links a:hover{
	background-color: #000;
	border-bottom: 10px #000 solid;
	border-radius: 0 0 10px 10px;
	box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.5);
}



/* grey header with changing sizes */

.header {
	box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.5);
	background-color: #678DAF;
	padding: 80px 20px 20px 20px;
	position: relative;
	z-index: 2;
	height: auto;
	transition: height 0.5s;
}
.header2 {
	box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.5);
	background-color: #678DAF;
	height: 50px;
	padding: 10px;
	position: fixed;
	z-index: 2;
	width: 100%;
	top: 50px;
}
.header .tel {
	float:right;
	color: #fff;
	font-size: 15px;
	padding: 40px 10px 0 0 ; 
	width: 300px;
}
.header .tel a{
	color: #fff;
	text-decoration: none;
}
.header .tel a:hover{
	color: #000;
} 
.header .logo {
	max-width: 1240px;
	margin: auto;
}
.header .logo .img {
	padding: 0 0 0 10px;
}
.header .logo img {
	width: 450px;

}
.header2 .logo img {
	width: 160px;
	height: 50px;
	margin-left: 100px; 
}

.header2 .logo img {
	width: 160px;
	height: 50px;
	margin-left: 100px; 
	transition: 1s;
}
.header2 .img {
	width: 100px;
	padding-left: 200px;
	height: 50px;
}
.header2 .tel .email{

	padding:  0; 
	width: 300px; 
} 
.header2 .tel #tel{
	width: 200px;
 	float: right; 
} 
.header .tel .email{
	float: none; 
	margin: 5px;
} 
.header .tel #tel{
	margin: 5px;
} 
.header2 .tel {
	float:right;
	color: #fff;
	font-size: 15px;
	padding: 10px 10px 0 0 ; 
	width: 550px;
}

.space {
	height: 10px;
}
.marg{
	margin-top: 335px !important;
} 



/* mainbody */

#container{
	margin: 30px 20px;
}
#maintext {
	max-width: 1240px;
	min-height: 300px;
	background-color: #fff;
	margin: auto;
	border-radius: 20px; 

}
.text {
	padding: 20px 50px;
	font-size: 15px;
	color: #444;
	line-height: 175%;
}
.text a {
	color: #000;
	text-decoration: none;
}
.text a:hover {
	color: #444;
	text-decoration: underline;
}




/* form */ 

#bookings{
	text-align: center;
	background-color: #93a2a7;
	border-radius: 20px 20px 0 0;
	color: #fff;
	font-size: 15px; 
	padding: 20px;
} 
#bookings div {
	display: inline-block;
	padding: 2vw 1vw;
}
.bookme {
	border-radius: 10px;
	padding: 10px 20px; 
	color: #fff;
	background-color: #678daf;
}	
.bookme h3 {
	color: #fff;
}
.bookme:hover{
	background-color: #93a2a7;
} 
.bookme:hover input{
	background-color: #678daf;
} 

.calform, #contact input,  #contact select,  #contact textarea, .bookme input {
	font-size: 14px;
	color: #fff;
	border-radius: 10px;
	border: 0px;
	box-shadow: 2px 2px 5px 3px rgba(0,0,0,0.3);
	padding: 5px 15px;
	background-color: #678DAF;
	font-family:Roboto, "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
	margin: 5px; 
}

.calform:hover{
	background-color: #eeeeee;
	color: #000;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	transition: 0.5s;
} 
.calform:active{
	background-color: #eeeeee;
	color: #000;
} 
#inline1 {
	width:800px;
	display: none; 
	height: 500px;
	color:#333;
	font-size: 15px;
	margin: 50px; 
}



/* slideshow */

#slideshow { 

	position: relative; 
	width: 100%; 
	height: 520px; 
	padding: 0px; 

		}
		
#slideshow > div {
	position: absolute;
	top: 0px;
	left: 0px;
	right: 0px;
	bottom: 0px;
	background-repeat: no-repeat;
	background-size: cover;
	box-shadow:0 0 100px rgba(0, 0, 0, 0.6) inset;
	background-position: center center;
}
#bridge {
	background-image: url('/images/front-bridge.jpg');
}
#table {
	background-image: url('/images/table.jpg');
}
#pool {
	background-image: url('/images/front-pool.jpg');
}
#cottage {
	background-image: url('/images/cottage.jpg');
}
#fourposter {
	background-image: url('/images/front-bed.jpg');
}
#littlehope {
	background-image: url('/images/littlehope.jpg');
}
#beach {
	background-image: url('/images/front-beach.jpg');
}
#park {
	background-image: url('/images/front-park.jpg');
}
#picos {
	background-image: url('/images/picos.jpg');
}
#sandownbay {
	background-image: url('/images/sandown-bay.jpg');
}
#bay {
	background-image: url('/images/bay.jpg');
}
#dusk {
	background-image: url('/images/dusk.jpg');
}
#kayak {
	background-image: url('/images/kayak.jpg');
}
#snow {
	background-image: url('/images/front-snow.jpg');
}
#snow2 {
	background-image: url('/images/snow2.jpg');
}
#snow3 {
	background-image: url('/images/snow3.jpg');
}
#ski {
	background-image: url('/images/ski.jpg');
}
#badger_may16 {
	background-image: url('/images/badger_may16.jpg');
}
#games_room {
	background-image: url('/images/games_room.jpg');
}
#beach_may16 {
	background-image: url('/images/beach_may16.jpg');
}

/* footer */

.footer {
	max-width: 1140px;
	padding: 40px 50px;
	font-size: 15px;
	color: #fff;
	margin: auto;
} 
.footer a{
	color: #fff;
	text-decoration: none;
}
.footer a:hover{
	color: #000;
} 
.iw {
	float: right;
	font-size: 11px;
	margin-top: 20px;
}
.iw a {
	color: ccc;
	text-decoration: none;
}


/* general */

.sleeps {
	font-weight: 700;
} 
#map-canvas {
	margin: 20px auto; 
	height: 400px;
	width: 100%;
}
#map{
	height: 700px;
	width: 100%;
	max-height: 100%; 
}
#plan {
	text-align: center; 
}
.oops {
	font-size: 200px;
	float: right;
	line-hight: 450px;
    font-family: BenchNine;
	color: #678daf;
	font-weight: 700;
	margin: 100px;
}
.frame{
	padding: 20px;
	background-color: #fff;
	border-radius: 10px;
	margin: 20px;
	font-size: 15px;
	color: #444;
}
.frame img {
	margin: 0 0 10px 10px;
}
.frame td {
	padding: 0px 5px;
}
.frame table {
	width: 100%;
}
.icon {
	padding: 0 50px 0 20px;
}
.icon img {
	margin: 5px 5px -5px 0 ;
} 





/* calendar and tariff 

.availlinks{
	padding: 0 100px 0 0;
	text-align: right; 
	line-height: 50px;
}
.availlinks a{ 
	background-color: #678daf;
	padding: 14px 15px 14px 15px;
	border-radius: 0 0 10px 10px;
	color: #fff;
	text-decoration: none;
	margin: 0 5px;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	transition: 0.5s;
}
.availlinks a:hover{ 
	background-color: #000;
} 
th:first-child  {
	text-align: left;
	background-color: #93a2a7;
	color: #fff;
	padding: 10px 50px;
	border-radius: 10px 0 0 0;
}
th:last-child  {
	text-align: left;
	background-color: #93a2a7;
	color: #fff;
	padding: 10px 50px;
	border-radius: 0 10px 0 0;
	text-align: right; 
}	

#calendardiv{
	font-size: 12px;
	color: #333;
	margin	: 10px;
}
#calendardiv table {
	font-size: inherit;
	width: 100%;

} 
#calendardiv td{
	padding: 3px;
	height: 30px;
	border-bottom: 0;
} 
#calendardiv h2 {
	font-size: 18px;
	font-weight: normal;
	color: #4783de;
}
.caldiv2 {
	width: 100%;
	min-height: 270px;
	margin: 20px 30px 10px 0;
	overflow: auto; 

}
.caldiv {
	width: 30%;
	float: left;
	min-height: 270px;
	margin: 20px 30px 10px 0;
}
.dummy {
	width: 300px !important;
} 
.dummy td {
	min-width: 10px;
}

.tabletext {
	font-family:  Arial, Helvetica, sans-serif;
	font-size: 11px;
	font-weight: bold;
	color: #333333;
	padding: 3px;
}
.tabletop {
	font-family:  Verdana, Arial, Helvetica, sans-serif;
	font-size: 11px;
	background-color: #7E931E;
	font-weight: bold;
	color: #FFFFFF;
	padding-right: 5px;
}

table#cal { text-align: center;
}


table#future {
	background-color: #c2c293;
	width: 100%;
	text-size: inherit;
	color: #111;
} 
#future td {
	border: 1px #eee solid;
	text-align: left;
	vertical-align: middle;
	padding: 10px;
}

#cal td {
	border: 1px #eee solid;
	text-align: center;
	vertical-align: middle;
}
#cal td a {
		display: block;
}
.calone td {
	background-color: #efefef;
	color: #666;
	text-align: center;
	min-width: 10px;
}
.caltwo td {
	background-color: #e0e0e;
	color: #666;
	text-align: center;
	min-width: 10px;
}
.calone td:hover, .caltwo td:hover {
	background-color: #ddd;
	color: #000;
}
#booked:hover {
	background-color: #c43f2b;
	color: #fff;
}
*/
.addtext {
	font-size: 12px;
}

#av td {
	border: 1px solid #999;
	padding: 2px 5px;
}
#av tr {
	background-color: #EDEDED;
}

#creamone, #creamone td{
	background-color: #efefef;
	padding: 10px 15px 10px 15px ;
}
#creamtwo, #creamtwo td {
	background-color: #e0e0e0;
	padding: 10px 15px 10px 15px ;
}  
#admintariff th, #admintariff td, #admintariff #creamone, #admintariff #creamtwo,  #admintariff #creamone td, #admintariff #creamtwo td{
	padding: 5px 2px; 
}
#avail {
	background-color: #e0e0e0;
	color: #666;
	text-align: center;
	min-width: 10px;
}
#avail a.tip {
	color: #666;
}
#booked a.top {
	color: #fff;
} 
#booked {
	background-color: #a53827;
	color: #fff;
	text-align: center;
	min-width: 10px;
} 

#nothing {
	background-color: #CCC;
	color: #fff;
	text-align: center;
	min-width: 10px;
} 
#avail.bold {
	font-weight: bold;
	font-size: 130%;
	text-shadow: 1px 1px 1px #fff;
} 
#booked.bold {
	font-weight: bold;
	font-size: 130%;
	text-shadow: 1px 1px 1px #666;
} 
.light {
    opacity: 0.6;
    filter: alpha(opacity=60);	
} 
.higlight {
	background-color: #ceceb1 !important;
}

.tabletopmain td {
	background-color: #f4f4e8;
	text-align: center;
	min-width: 10px; 
}
.calheading td {
	background-color: #678daf;
	color: #fff;
	padding: 5px 20px !important;
	font-weight: 700;
}
.calname {
	text-align: left !important;
	font-weight: 700;
	padding: 3px 10px !important;
} 





/* Back to top button */

#back-top {
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 30;
    opacity: 0.7;
    filter: alpha(opacity=70);
}
#back-top a {
	width: 108px;
	display: block;
	text-align: center;
	font: 11px/100% Arial, Helvetica, sans-serif;
	text-transform: uppercase;
	text-decoration: none;
	color: #bbb;
	/* background color transition */
	-webkit-transition: 1s;
	-moz-transition: 1s;
	transition: 1s;
}
#back-top a:hover {
	color: #000;
    opacity: 1;
    filter: alpha(opacity=100);
}
/* arrow icon (span tag) */
#back-top span {
	width: 108px;
	height: 108px;
	display: block;
	margin-bottom: 7px;
	background: #ddd url(images/up-arrow.png) no-repeat center center;
	/* rounded corners */
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	border-radius: 15px;
	/* background color transition */
	-webkit-transition: 1s;
	-moz-transition: 1s;
	transition: 1s;
    opacity: 1;
    filter: alpha(opacity=100);
}
#back-top a:hover span {
	background-color: #777;
    opacity: 1;
    filter: alpha(opacity=100);
}

.icon img {
	min-width: auto;
	width: auto; 
	max-width: 40px; 
}
.cottages{
    max-width: 1200px;
    margin: 5vw auto;
    color: #666;
    line-height: 1.4;
	display: flex;
	flex-flow: wrap; 
}
.cottages > div {
	background-color: #f0f0f0;
	display: inline-block;
	width: 30%; 
	margin: 5px;
}
.cottages .facilities {
	margin: 5px; 
}
@supports(display:grid) {
.cottages{
	display: grid;
}
@supports(	gap: 10px;) {
.cottages{
	gap: 10px;
}
.cottages > div,
.cottages .facilities {
	margin: 0;
}
}
.cottages > div {
	display: block; 
	width: auto;
}
}
.maintext + .cottages{
	margin-top: 1vw;
}

.cottages > .desc {
	padding: 20px;
}
.cottages > .facilities,
.facilities {
	display: flex;
	flex-flow: wrap;
	justify-content: center; 
	align-items: center; 

}

.cottages > .facilities {
	max-width: 800px; 
}
.cottagepage.facilities{
	background-color: #f0f0f0;
	margin: 30px auto;
}
 .facilities img{
	width: 40px; 	

}
th.icon .facilities{
	color: #000;
	font-weight: normal;
	font-size: 10px; 
}
.facilities > div {
	text-align: center; 
	flex: 1 1 auto;
	padding: 10px; 
}
.cottages a{
	color: #333;
	text-decoration: none; 
}
.cottages a:hover{
	background-color: var(--coloured-background); 
}
.cottages h4{
	font-size: 20px; 
	font-weight: normal;
	margin	: 0; 
	line-height: 22px; 
}
.cottages > div > img,
.cottages > div > a > img{
	width: 100%; 
	display: block; 
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
.cottages .toosmall{
	display: none; 
}
@supports(aspect-ratio: 3 / 2){
.cottages > div > img,
.cottages > div > a > img{
	aspect-ratio: 3 / 2;
	height: auto;
}
}
















@media only screen and ( min-width: 640px ) {
.cottages{
	grid-template-columns: 1fr 1fr 1fr;
}
 .cottages >   .facilities > div {
	text-align: center; 
	flex: 1 1 30%;
	padding: 10px; 
}
.cottages > div > img,
.cottages > div > a > img{
	width: 100%; 
	display: block; 
	aspect-ratio: 3 / 2;
	object-fit: cover;
	height: 100%; 
	max-height: 300px; 
}
}



@media all and (max-width: 1024px) {
#bookings{
	text-align: center;
	border-radius:  0;
	color: #fff;
	font-size: 14px; 
	padding: 20px 0;
} 
#back-top{
	display: none !important;
}
#back-top span {
	width: 60px;
	height: 60px;
	background-size: cover;
}

#back-top a {
	width: 60px;
}
#links {
	position: relative;
	height: auto;
}
#links div{
	min-width: 0;
}
.header2, .header {
	min-height: 0;
	padding: 20px;
	position: relative;
	top: auto;
	height: auto;
	width: auto;
}

.header2 .logo img, .header .logo img, .header2 .img, .header .img {
	max-width: 100%;
	width: auto;
	height: auto;
	margin-left: 0; 
}

.header2 .tel .email, .header .tel .email, .header .tel{
	width: auto; 
	float: none; 
	margin: 0;
} 
.header2 .tel #tel, .header .tel #tel{
	margin: 5px;
	width: auto;
	float: none;;
} 
.marg, #container {
	margin:  0 !important;
	position: relative;
}
.header .tel {
	padding: 10px 0 0 0px;
}
.header, .header2{
	height: auto;
}
#maintext{
	min-width: 0;
	border-radius: 0; 
	margin: 0;
}
.calform {
	border-radius: 0px;
}
.space{
	display: none; 
}
.caldiv {
	width: 100%;
}
.caldiv:first-of-type {
	display: none; 
}
.caldiv:last-of-type, #last {
	display: none; 
}
.caldiv td {
	display: table-cell;
}
#maincontainer {
    margin-bottom: 0;
    position: relative;
}
#footer
{
	position:relative;
	bottom:auto;
}
.maincontent td {
	display: block; 

}

}

@media all and (max-width: 640px) {
.tariff td,.tariff th, #contact td, .cottagetable td{
	display: block;	
}
.text {
	padding: 20px 20px;
}
#bookings div {
	display: block !important;
}
#bookings {
	text-align: left;
}
.sleeps{
	float: none; 
	width: auto; 
}
.cottagetable{
	width: auto; 
}
.cottagetable img{
	width: 100%; 
}
.cottages > div:nth-of-type(3n){
	margin-bottom: 40px; 
}
.cottages {
	gap: 0;
}

*{
	float: none; 
	}
}
}