@charset "UTF-8";
/* CSS Defined by F3 Designs (October 2019) f3designs.ca */


/* CUSTOM COLOUR PALETTE ================================================================================================= */
/*	brown: #5b5841
	off-white: #f4f1e8
	teal: #6ca3a2
	yellow: #d1ab0f
	yellow-bright: #f1ca2e


/* CUSTOM FONTS: CSS ===================================================================================================== */
/*	font-family: brandon-grotesque, sans-serif;
	font-weight: 300, 500;
	font-style: normal;
	font-family: linotype-didot, serif;
	font-weight: 700;
	font-style: normal;
	font-style: italic;


/* VIEWPORTS ============================================================================================================= */
/*	__: mobile (i.e. col-12)
	sm: mobile (i.e. col-sm-12)
	md: tabletPortrait (i.e. col-md-12)
	lg: tabletLandscape / desktopSmall (i.e. col-lg-12)
	xl: desktopLarge (i.e. col-xl-12)


/* MEDIA QUERIES ========================================================================================================= */
/* Smartphones (portrait and landscape)
@media (min-width: 320px) and (max-width: 568px) {
	...
}
/* Tablets (portrait and landscape)
@media (min-width: 768px) and (max-width: 1024px) {
	...
}
/* Tablets (portrait)
@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
	...
}
/* Tablets (landscape)
@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
	...
}


/* TYPE SELECTORS ======================================================================================================== */
html, body {
	background-color: #f4f1e8;
	height: 100% !important; /* required for jumbotron and various flex CSS */
	font-family: brandon-grotesque, sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 18px;
	color: #5b5841;
	-webkit-font-smoothing: antialiased; /* resolves issue with font displaying much bolder than it should in Mac Chrome and Safari */
	-moz-osx-font-smoothing: grayscale; /* resolves issue with font displaying much bolder than it should in Mac Firefox */
	scroll-behavior: smooth;
}
p {
	padding: 0px 25px 0px 25px;
}
h1 {
	font-family: linotype-didot, serif;
	font-weight: 700;
	color: #5b5841;
	text-transform: uppercase;
}
h1:after {
	content: ""; /* This is necessary for the pseudo element to work. */
	display: block; /* This will put the pseudo element on its own line. */
	width: 85px; /* Change this to whatever width you want. */
	padding-top: 0px; /* This creates some space between the element and the border. */
	border-bottom: 2px solid #6ca3a2; /* This creates the border. */
	margin: 30px auto 30px auto;
}
h2 {
	font-family: linotype-didot, serif;
	font-weight: 700;
	font-style: italic;
	color: #d1ab0f;
	font-size: 26px;
	padding: 30px 0px 30px 0px;
}
strong {
	font-weight: 500;
}


/* MISCELLANEOUS CLASSES ================================================================================================= */
/* note (for use during development and client review) */
.note {
	font-size: 16px;
	border-left: solid 3px #d9534f;
	border-right: solid 3px #d9534f;
	padding: 15px;
	background-color: #fdf7f7;
}
/* nowrap */
.nowrap {
	white-space: nowrap;
}
/* pipe */
.pipe {
	padding: 0px 15px 0px 15px;
}
/* Smartphones (portrait and landscape) */
@media (min-width: 320px) and (max-width: 568px) {
.pipe {
	display: none;
}
}
/* flex (equalizes col height (of img) within a row) */
.flex-img {
  display: flex;
  flex-wrap: wrap;
}
/* Smartphones (portrait and landscape) */
@media (min-width: 320px) and (max-width: 568px) {
.flex-img {
	display: block;
	flex-wrap: nowrap;
}
}
/* Tablets (portrait and landscape) */
@media (min-width: 768px) and (max-width: 1024px) {
.flex-img {
	display: block;
	flex-wrap: nowrap;
}
}
/* resolves issue with anchor links when you have a fixed top nav */
.anchor {
	padding-top: 120px;
}
.tagline {
	font-family: linotype-didot, serif;
	font-weight: 700;
	font-style: italic;
	font-size: 30px;
	color: #6ca3a2;
	margin: 0px;
	padding: 30px 0px 0px 0px;
}
.villa {
	font-family: brandon-grotesque, sans-serif;
	font-weight: 500;
	font-style: normal;
	color: #f1ca2e;
	text-transform: uppercase;
	padding-left: 10px;
	padding-right: 30px;
}
/* Smartphones (portrait and landscape) */
@media (min-width: 320px) and (max-width: 568px) {
.villa {
	padding-left: 10px;
	padding-right: 0px;
}
}


/* BUTTONS =============================================================================================================== */
/* btn-default */
.btn-default {
	background-color: #d1ab0f;
	border: solid 1px #d1ab0f;
	color: #ffffff;
	border-radius: 0px;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	transition: all 0.5s;
	margin: 20px 0px 45px 15px;
	padding: 10px 15px 10px 15px;
	text-transform: uppercase;
	font-weight: 500;
}
.btn-default:link {
	color: #ffffff;
}
.btn-default:visited {
	color: #ffffff;
}
.btn-default:hover {
	color: #ffffff;
	background-color: #5b5841;
	border: solid 1px #5b5841;
}
.btn-default:active {
	color: #ffffff;
}
/* btn-primary */
.btn-primary {
	background-color: #6ca3a2;
	border: solid 1px #6ca3a2;
	color: #ffffff;
	border-radius: 0px;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	transition: all 0.5s;
	margin: 20px 0px 45px 15px;
	padding: 10px 15px 10px 15px;
	text-transform: uppercase;
	font-weight: 500;
}
.btn-primary:link {
	color: #ffffff;
}
.btn-primary:visited {
	color: #ffffff;
}
.btn-primary:hover {
	color: #ffffff;
	background-color: #5b5841;
	border: solid 1px #5b5841;
}
.btn-primary:active {
	color: #ffffff;
}
/* btn-secondary (for modal close) */
.btn-secondary {
	background-color: #5b5841;
	border: solid 1px #5b5841;
	color: #ffffff;
	border-radius: 0px;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	transition: all 0.5s;
	font-weight: 500;
}
.btn-secondary:link {
	color: #ffffff;
}
.btn-secondary:visited {
	color: #ffffff;
}
.btn-secondary:hover {
	color: #ffffff;
	background-color: #d1ab0f;
	border: solid 1px #d1ab0f;
}
.btn-secondary:active {
	color: #ffffff;
}
/* btn-scroll-down */
.jumbotron .scroll-down {
  position: absolute;
  width: 100%;
  right: 0px;
  bottom: 45px;
  left: 0px;
  text-align: center;
}
.btn-scroll-down {
	color: #ffffff;
	background-color: #6ca3a2;
	border-radius: 0px;
	font-size: 24px;
	height: 60px;
}
.btn-scroll-down:link {
	color: #ffffff;
}
.btn-scroll-down:visited {
	color: #ffffff;
}
.btn-scroll-down:hover {
	color: #5b5841;
}
.btn-scroll-down:active {
	color: #ffffff;
}
/* btn-scroll-up */
.footer .scroll-up {

}
.btn-scroll-up {
	color: #ffffff;
	background-color: #6ca3a2;
	border-radius: 0px;
	font-size: 24px;
	float: right;
	height: 60px;
}
.btn-scroll-up:link {
	color: #ffffff;
}
.btn-scroll-up:visited {
	color: #ffffff;
}
.btn-scroll-up:hover {
	color: #5b5841;
}
.btn-scroll-up:active {
	color: #ffffff;
}
/* Smartphones (portrait and landscape) */
@media (min-width: 320px) and (max-width: 568px) {
.btn-scroll-up {
	float: none;
	margin-top: 30px;
}
}


/* MODAL ================================================================================================================= */
.modal-body {
	text-align: left;	
}


/* NAVBAR ================================================================================================================ */
.navbar {
	background-color: transparent;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	border-bottom: solid 1px #ffffff;
	height: 50px;
}
.navbar-brand {
	font-family: linotype-didot, serif;
	font-weight: 700;
	font-style: italic;
	border-right: solid 1px #ffffff;
	font-size: 18px;
	height: 50px;
	padding-top: 10px;
	text-shadow: 1px 1px 1px rgba(0,0,0,.5);
}
/* Smartphones (portrait and landscape) */
@media (min-width: 320px) and (max-width: 568px) {
.navbar-brand {
	border-right: none;
}
}
/* changes background-color on scroll navbar fixed-top (script also applies) */
.fixed-top.scrolled {
  display: none;
}
.navbar .btn-default {
	margin: 0px !important;
	position: absolute;
	right: 0;
	height: 49px;
}


/* JUMBOTRON ============================================================================================================= */
.jumbotron {
	background-image: url(../img/bg-jumbotron.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	text-transform: uppercase;
	width: 100%;
	height: 100%;
	position: relative;
}
/* Smartphones (portrait and landscape) */
@media (min-width: 320px) and (max-width: 568px) {
.jumbotron {
	background-position: 25% 25%;
}
}
.jumbotron-content {
	padding: 60px 0px 30px 0px;
	position: absolute;
	top: 30%;
	text-align: center;
	text-shadow: 1px 1px 1px rgba(0,0,0,.5);
}
.jumbotron-border {
	border: solid 1px white;
}
.jumbotron-content .tagline {
	color: #ffffff;
	text-transform: none;
}
.jumbotron-content h1 {
	color: #ffffff;
	text-transform: none;
	margin: 0px;
}
/* Smartphones (portrait and landscape) */
@media (min-width: 320px) and (max-width: 568px) {
.jumbotron-content h1 {
	font-size: 38px;
}
}
.jumbotron-content h1:after {
	display: none;
}
.jumbotron-content h2 {
	color: #ffffff;
	font-style: normal;
	font-family: brandon-grotesque, sans-serif;
	font-weight: 500;
	font-size: 21px;
}
.jumbotron-content .seaview {
	text-transform: uppercase;
	font-family: brandon-grotesque, sans-serif;
	font-weight: 300;
}
.jumbotron-content .italic {
	font-style: italic;
}


/* SECTION =============================================================================================================== */
section {
	text-align: center;
	margin-top: 90px;
}
.accommodation {
	background-color: #6ca3a2;
	color: #ffffff;
}
.accommodation h2 {
	color: #ffffff;
}
.accommodation ul {
	list-style: none;
	padding: 0px;
	margin-top: -15px;
}
.accommodation li {
	display: inline;
	padding-right: 15px;
	padding-left: 15px;
	line-height: 45px;
}
/* Tablets (portrait) */
@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
.accommodation li {
	display: block;
}
}


/* CAROUSEL ============================================================================================================== */
.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 15%;
  color: #fff;
  text-align: center;
  opacity: 1; /* ALTERED */
  transition: opacity 0.15s ease;
}
@media screen and (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
  .carousel-control-next {
    transition: none;
  }
}
.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}
.carousel-control-prev {
  left: 0;
}
.carousel-control-next {
  right: 0;
}
.carousel-control-prev-icon,
.carousel-control-next-icon {
   display: -ms-flexbox; /* ALTERED */
  display: flex; /* ADDED */
  -ms-flex-align: center; /* ADDED */
  align-items: center; /* ADDED */
  -ms-flex-pack: center; /* ADDED */
  justify-content: center; /* ADDED */
  width: 45px; /* ALTERED */
  height: 60px; /* ALTERED */
  background: #ffffff no-repeat center center; /* ALTERED */
  background-size: 100% 100%;
	color: #d1ab0f; /* ADDED */
	font-size: 24px; /* ADDED */
}
.carousel-control-prev-icon {
  background-image: none; /* ALTERED */
}
.carousel-control-next-icon {
  background-image: none; /* ALTERED */
}


/* ASIDE ================================================================================================================= */
.aside {
	width: 100%;
	min-height: 300px;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;
}
/* Smartphones (portrait and landscape) */
@media (min-width: 320px) and (max-width: 568px) {
.aside {
	background-position: left;
}
}


/* FOOTER ================================================================================================================ */
footer {
	color: #ffffff;
	background-color: #5b5841;
}
/* Smartphones (portrait and landscape) */
@media (min-width: 320px) and (max-width: 568px) {
footer {
	text-align: center;
}
}
footer ul {
	list-style: none;
	margin: 0px !important;
	padding: 0px !important;
}
footer li {
	display: inline;
}
footer a:link {
	color: #f1ca2e;
	text-decoration: none !important;
}
footer a:visited {
	color: #f1ca2e;
	text-decoration: none !important;
}
footer a:hover {
	color: #f1ca2e;
	text-decoration: none !important;
}
footer a:active {
	color: #f1ca2e;
	text-decoration: none !important;
}
footer .row {
	background-color: #5b5841;
	height: 60px;
}
/* Smartphones (portrait and landscape) */
@media (min-width: 320px) and (max-width: 568px) {
footer .row {
	height: auto;
}
}
footer .navbar-brand {
	height: 60px;
	color: #ffffff !important;
}
/* Smartphones (portrait and landscape) */
@media (min-width: 320px) and (max-width: 568px) {
footer .navbar-brand {
	height: auto;
	border-right: none;
	margin: 15px auto 0px auto;
}
}


/* FORM ================================================================================================================== */
.contact .form-group input.form-control {
	height: auto;	
	width: 70%;
	margin: 0px auto 0px auto;
}
.contact .form-group textarea.form-control {
	height: 210px;
}
.contact .btn-default {
	background-color: #d1ab0f;
	border: solid 1px #d1ab0f;
	color: #ffffff;
	border-radius: 0px;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	transition: all 0.5s;
	margin: 20px 0px 45px 15px;
	padding: 10px 15px 10px 15px;
	text-transform: uppercase;
	font-weight: 500;
}
.contact .btn-default:link {
	color: #ffffff !important;
}
.contact .btn-default:visited {
	color: #ffffff !important;
}
.contact .btn-default:hover {
	color: #ffffff !important;
	background-color: #5b5841;
	border: solid 1px #5b5841;
}
.contact .btn-default:active {
	color: #ffffff !important;
}
.contact input {
	border-color: #eeebe3;
	border-radius: 0px;
}
.contact textarea {
	border-color: #eeebe3;
	border-radius: 0px;
}
::-webkit-input-placeholder {
 font-size: 18px;
 color: #2e2824 !important;
}
.with-errors {
	color: red;
	text-transform: none;
}
.alert {
	background-color: #dfdfe3;
	color: #3d3d3d;
	border: solid 1px #dfdfe3;
	border-radius: 0px;
}
.alert-success strong {
	color: #3d3d3d !important;
	font-family: proxima-nova, sans-serif !important;
	font-weight: 400 !important;
}
label {
	font-family: linotype-didot, serif;
	font-weight: 700;
	font-style: italic;
	color: #d1ab0f;
	font-size: 21px;
}
.g-recaptcha {
	display: inline-block;
}


/* 404 NOT FOUND ========================================================================================================= */
.notfound {
	height: 100%;
}
.notfound-message {
	margin: auto;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	height: 360px;
	width: 100%;
	text-align: center;
	color: #000000;
}
.notfound-message img {
	margin: 0 auto !important;
	text-align: center !important;
}