@import 'https://fonts.googleapis.com/css?family=Lora|Caveat';
@import 'flickity.css';

body {
	background-color: #fff;
	margin: 0px;
	padding: 0px;
	font-family: 'Lora', Arial,sans-serif , sans;
}
a{
	text-decoration:none; 
}
img {
	border: 0;
	max-width: 100%;
	height: auto;
}
input, textarea, select {
	font-family:"Open Sans", Calibri, "Trebuchet MS", Arial, Helvetica, sans-serif, Sans;
	font-size: 15px;
	border-radius: 5px;
	padding: 7px;
	border: 2px solid #757761;
	background-color: #fff;
	max-width: 80vw;
} 
a[href^="mailto:"], h1
{
  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;
}
table{
	width: 100%;
	border-collapse: collapse;

}
th{
	padding: 5px 3vw 5px 5px;
	vertical-align: top;
	text-align: left;
	background-color: #666666;
	color: #fff;
	font-size: 20px; 
}
td{
	padding: 5px 3vw 5px 5px;
	vertical-align: top;
}
h1{
	font-family: Bradley Hand ITC, Lora; 
	font-size: 40px; 
	font-weight: bold; 
	line-height: 50px; 
}
h2{
	font-size: 30px; 
	font-weight: normal; 
	line-height: 40px; 
}
h3{
	font-size: 24px; 
	font-weight: normal; 
	line-height: 30px; 
}








.container{
	display: flex;
	justify-content: center;	
	position: relative; 
}
.container > div {
	flex: 1 1 auto;
}
.main{
	width:70%; 
	background-color: #fff;
}
.sidebar{
	background-color: #6B8FB3;
	color: #fff;
	position: relative; 
	width: 250px;
	padding: 20px;  
    min-height: calc( 100vh - 40px ); 
    min-width: 200px ;
 }
.sidebar .image {
	text-align: center; 

}
.sidebar .address {
    padding: 20px; 
    line-height: 160%;
}

.sidebar .links {
	margin: auto; 
	padding: 10px; 
}
.sidebar .links a{
	padding: 10px; 
	display: block;
	color: #fff;
	border: 0;  
}
.sidebar .links a:hover{
	background-color: #333;
	border: 0;
	color: #fff;
}

.sidebar img{
	width: 250px; 
	margin: auto; 
	text-align: center; 
}
.sidebar .address a{
	color: #fff; 
	border-bottom: 1px solid transparent; 
	transition: 0.3s; 
}
.sidebar .address a:hover{
	color: #111; 
	border-bottom: 1px solid #000; 
}
.sticky{
    position: sticky;
    top: 20px; 
}
.tel{
	font-size: 20px;
	color: #fff; 
	background-color:#89AED3;
	text-transform: uppercase; 
}
.contact {
  display: -ms-flexbox;
  -ms-flex-wrap: wrap;
  -ms-flex-direction: column;
  -webkit-flex-flow: row wrap; 
  flex-flow: row wrap; 
  display: -webkit-box;
  display: flex;
  justify-content: center;
  margin:auto;
  line-height: 60px;
}
.contact > div { 
	flex: 1 1 auto;
	position:relative;
	text-align:center;
  
}
.contact a {
	color: #fff;
	text-decoration:none;
	transition: .5s;
	display: block; 
}
.contact a:hover {
	color: #000;
	background-color:#6B8FB3; 
}

.bigpicture{
	background-size: cover; 
	background-position: center center; 
	height: 100%; 
}
.gallery-cell {
    width: 100%;
	height: calc(100vh - 280px); 
    min-height: 500px; 
    margin-right: 10px; 
  }
  .fivestar {
	background-color: rgba(0,0,0,0.4);
	padding: 30px;
	text-align: right;
	font-size: 30px;
	color: #fff;
	font-family: Cormorant Infant;
}
.maintext{
    max-width: 800px;
    margin: auto;
    line-height: 180%;
    color: #333;
    padding: 3vw 5vw;
}
.maintext a{
	color: #222;
}
.maintext p a {
	border-bottom: 1px dashed #999;
}
.titletext{
    max-width: 800px;
    margin: auto;
    line-height: 180%;
    color: #333;
    padding: 0.5vw 5vw;
}
.times {
	font-family: times new roman, times;
	font-style: italic; 
	font-weight: normal; 
}
@supports (display: grid) {
    .grid{
      display: grid;
      grid-template-columns: 1fr 1fr;
	grid-auto-rows: 350px;
  }
  .gallery{
	grid-row: 1 / span 3;
}
}
.flex{
   display: flex;
	flex-flow: row wrap;
}
.bedrooms > div {
    background-position: center center;
    background-size: cover;
}
.flex.bedrooms  > div {
	min-height: 350px;
	width: 50%; 
	flex: 1 1 auto;
}
.bedrooms > div:nth-child(3n+1){
	background-color: #fff; 
}
.bedrooms > div:nth-child(3n){
	background-color: #eee; 
}
.bedrooms > div:nth-child(3n+2){
	background-color: #e9e9e9; 
}
.bedrooms .text{
	display: grid;
	align-items: center;
   justify-items: center;
	font-size: 20px; 
	text-align: center; 
}
.flex.bedrooms .text div{
	padding: 10px 20px;
	font-size: 16px;
	color: #333; 
	line-height: 24px; 
}
.flex.bedrooms .text div h4 a, .flex.bedrooms .text div p a{
	color: #333;
	border-bottom: 1px dashed #999; 
}
.flex.bedrooms .text div h4 a:hover, .flex.bedrooms .text div p a:hover{
	color: #000;
	border-bottom: 1px solid #900; 
}
.bedpics img{
	height: 350px; 
	width: 100%; 
	object-fit: cover;
}
.flex.bedrooms .bedpics img{
	height: 100%;
}
.otherpics img{
	height: 350px; 
	width: 100%; 
	object-fit: contain;
}
.otherpics {
	background-color: #fff !important; 
}
.smallerpics {
    background-position: center center;
    background-size: cover;
    padding-left: 10px;
}
.news {
	background-color:#89AED3;
}
.news div{
    max-width: 800px;
    margin: auto;
    line-height: 180%;
    color: #fff;
    padding: 3vw 5vw;
}
.footer {
    background-color: #444;
}
.footer > .copy{
    max-width: 800px;
    margin: auto;
    line-height: 180%;
    color: #fff;
    padding: 0.5vw calc(5vw - 10px);
}
.footer a{
    color: #fff;
    padding: 10px;
}
.ftb-widget .ftb-bookingWidget__checkAvailability {
	border-collapse: collapse;
	border: 0 !important; 
}
.ftb-bookingWidget__inner{
	background-color: #89AED3 !important;
	padding: 20px !important; 
}
.page{
	height: 60vh;
	background-size: cover;
	background-position: center center; 
}
#map{
	height: 600px;
	width: 100%; 
}
.oops {
	font-size: 250px;
	float: right;
	line-hight: 250px;
	color:#000;
}
.pictures > div{
	text-align: center; 
}
.gallerylinks{
	text-align: right; 
	flex:  1 0 250px;
	margin-right: 1vw;
	line-height: 150%;
}
.gallerylinks a{
	color: #333;
}
.gallerylinks a:hover{
	color: #000;
}
.iw {
	font-size: 11px;
	padding: 10px 5vw;
	text-align: right;
} 
.iw a{
	color: #ccc;
	text-decoration: none;
}

.galleryheading{
	display: flex;
	justify-content: center;	
	position: relative; 
	margin: auto; 
}
.galleryheading > div {
	padding: 10px; 
}
.topimage img {
	width: 100%;
}
.topimage{
	flex: 1 1 auto;
	object-fit: cover;
}
.firstimage{
	display: none;	
}














@media only screen and ( min-width: 1024px ) {
    .squares, .squares2 {
        display: flex;
        margin:auto;
        }
    .squares div {
        display: inline-block;
        height: 40vh;
        width: calc( 33% - 4px );
    }
    
    
    @supports (display: grid) {
    .squares {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
        grid-auto-rows: 35vh;
        grid-auto-flow: row dense;
        border: 4px solid white;
    }
    .squares > div {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      box-sizing: border-box;
      grid-column-start: auto;
      grid-row-start: auto;
     counter-increment: item-counter;
      border: 4px solid white;
        width: auto;
        height: auto;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
      }
      }
    
    
    } 
    
    
    
    @media only screen and ( min-width: 640px ) {
    .footer	.address {
        display: none; 
    }
    .menu input{
        display: none; 
    }
    
    }
    
    
    
    
    
    
    
    
    @media only screen and ( max-width: 1200px ) {
    .gallery-cell {
      height: 50vh;
      min-height: 400px; 
    }
    .smallerpics{
        display: none;    
    }
    .grid {
        display: block;
    }
.bedpics{
	min-height: 350px; 
}
.topimage{
	display: none;
}
.firstimage{
	display: block;	
}
    }
    
    @media only screen and ( max-width: 640px ) {
    .container {
        display: block;
        position: relative; 
    }
    .container > div, .container > div > div {
        width: auto; 
        height: auto;
        position: relative;
        min-height: 0;  
    }
.page{
	height: 400px !important; 
}
.menu{

}
.checkbox{
    text-align: center;
	background-image: url('/images/menu.png');
	height: 50px;
	width: 50px; 
	background-size: contain; 
	background-repeat: no-repeat; 
	background-position: center center;
	margin: auto; 
}
.menu img{
        width: 80px;
          transition: 0.5s;
    }
.menu{
	margin: auto;
	text-align: center; 
 position: relative;
}
.menu  input {
 position: relative;
	opacity: 0; 
  cursor: pointer;
  height: 50px;
  width: 50px; 
	border: 4px solid white; 
}
.links {
    display: none; 
    opacity: 0;
    transition: 0.5s;

}
.checkmark {
	display: block;
	background-image: url('/images/menu.png');
	height: 50px;
	width: 50px; 
	background-size: contain; 
	background-repeat: no-repeat; 
	pointer-events: none; 
	margin: 0 auto -50px auto;
	background-position: center center;
}
.menu input:checked ~ .links {
    display: block; 
    opacity: 1;
}
.address{
	text-align: center; 
}

}
@media only screen and ( max-width: 800px ) {
.flex.bedrooms  > div {
	flex: 1 1 400px;
	width: 400px;
	height: auto; 
	min-height: 0; 
}
}



@media only screen and ( max-width: 480px ) {
    .sidebar img {
        max-width: 100%;

    }
    .menu img{
        width: 80px; 
    }
    }
    
    
    
@media only screen and (min-width: 640px) {

.pictures{
	display: flex;
 	flex-flow: row wrap;
    justify-content: center;
	margin: auto; 
	border: 5px solid white;
}
.pictures > div {
	flex: 1 1 auto;
	position: relative;
	width:250px;
	height	: 250px;
	padding	: 0; 
	border: 5px solid white;
	max-width: 500px;
}
.pictures > div.smallpic img{
	object-fit: none ;
    justify-content: center;
}
.pictures > div img{
	object-fit: cover ;
	width: 100%;
	height:  250px;
}

.pictures .text{
	color: #fff;
	background-color: rgba(0,0,0,0.8); 
	z-index: 3;  
	position: absolute; 
	bottom: 0;
	left: 0;
	right: 0; 
}
}