/*
#b_head,
#b_copyright {
  display: none;
}

#b_head .bf-main-nav>ul.bfcms-nav>li>a {
  font-weight: bold;
}

.bf-text-large { font-weight: 300; }
.bf-text-xlarge { font-weight: 200; }



.b13 input::placeholder, .b13 select::placeholder,  .b13 textarea::placeholder { color: #fff; }
.b13 input:focus::placeholder, .b13 select:focus::placeholder,  .b13 textarea:focus::placeholder { color: #333; }
.b13 input:hover::placeholder, .b13 select:hover::placeholder,  .b13 textarea:hover::placeholder { color: #333; }
.b13 input:active::placeholder, .b13 select:active::placeholder,  .b13 textarea:active::placeholder { color: #333; }
*/
/*
.button, .button-2, .button-3, .button-4 {
  font-weight: bold !important;
}
*/

div#lightbox-secNav { display: none; }
div#lightbox-container-image { padding: 0; }
div#lightbox-container-image-box { padding-top: 0; background: transparent; }
div#lightbox-container-image-data-box { display: none !important; }
img#lightbox-image { width: 100%; }

#b_head.fixed #b_mobile_toggle {
  top: 14px;
}

.b13 select, .b13 select:hover {
  background: #333 !important;
}

/*Family owned icon*/
.family-owned {
  position: relative;
  padding-left: 1.5em;
}
.family-owned::before {
  content: '\f015';
  position: absolute;
  left: 0;
  font-weight: 900;
  font-family: "Font Awesome 5 Pro";
}

/*Accessibility icons*/
.accessibility {
  position: relative;
  padding-left: 1.3em;
}
.accessibility::before {
  content: '\f193';
  position: absolute;
  left: 0;
  font-weight: 900;
  font-family: "Font Awesome 5 Pro";
}

/*Button hover transition*/
a.button, a.button-2, a.button-3, a.button-4, input.button {
  transition: background-color 300ms ease-in-out, border-color 300ms ease-in-out, color 300ms ease-in-out;
}
/*Image hover transition*/
.bf-photo, .bf-gallery li {
  overflow: hidden;
}
#b_main .bf-photo img, .bf-photo:not(.frame) .bf-photo-image-bg, .sbs-overlay .sbs-overlay-image, .sbs-suite .sbs-suite-image, .bf-gallery img {
  transform: scale(1);
  transition: transform 2500ms linear;
}
#b_main .bf-photo:hover img,
.bf-photo:not(.frame) .bf-photo-image-bg:hover,
.sbs-overlay:hover .sbs-overlay-image,
.sbs-suite:hover .sbs-suite-image,
.bf-gallery img:hover {
  transform: scale(1.2) !important;
}
/*Header and preheader*/
#b_pre_head #book-now-btn {
  position: relative;
  padding-right: 3em;
}
#b_pre_head #book-now-btn::before {
  content: '\f178';
  position: absolute;
  right: 1.4em;
  font-family: 'Font Awesome 5 Pro';
  font-weight: 400;
}
#b_head {
  background-color: rgb(51, 51, 51);
}

/*Heading custom styles*/
.sbs-heading-emdash, .sbs-heading-emdash-gold, .sbs-heading-emdash-white {
  position: relative;
  padding-left: 3.8em;
}
.sbs-heading-emdash::before, .sbs-heading-emdash-gold::before, .sbs-heading-emdash-white::before {
  content: '';
  height: 1px;
  width: 3em;
  position: absolute;
  left: 0.2em;
  top: 50%;
  transform: translateY(-50%);
}
.sbs-heading-emdash-gold::before {
  background-color: rgb(191, 163, 95)
}
.sbs-heading-emdash-white::before {
  background-color: white;
}
.sbs-heading-emdash::before {
  background-color: rgb(51, 51, 51);
}
*:has(>.sbs-heading-underline) {
	margin-bottom: 50px !important;
	position: relative;
}
.sbs-heading-underline::before {
	content: '';
	width: 75px;
	height: 1px;
	position: absolute;
	background: rgb(51, 51, 51);
	bottom: -25px;
}
:is(.b13, .b12) .sbs-heading-underline::before {
  background: white;
}

/*Image feature customizations*/
.bfcms-image-feature.bfif-stretched:is(.b12, .b13, .b15, .b17,) {
	padding: 0;
}
.bfcms-image-feature.bfif-stretched:is(.b12, .b13, .b15, .b17,) .bfif-content {
	padding: 15px 30px 30px;
}
.bf-align-left .bfcms-image-feature.bfif-t-default .bfif-ctr .bfif-image-ctr {
  margin: 0 0 1em;
}
.bfcms-image-feature.band .bfif-image {
  padding-top: 77% !important;
}
.bfcms-image-feature.band .bfif-content {
  position: relative;
}
.bfcms-image-feature.band .bfif-content::before {
  content: '';
  position: absolute;
  height: 10px;
  width: 100%;
  top: calc( (1em + 10px) * -1 );
  left: 0;
  background: rgba(191,163,95,0.7);
}

/*Framed photo*/
.bf-photo.frame::before {
	content: '';
	position: absolute;
	top: -2%;
	right: -2%;
	outline: 1.5px solid rgb(191, 163, 95);
	background: transparent;
	width: 100%;
	height: 100%;
	z-index: 10;
}
.bf-photo.frame {
  overflow: visible;
}

/*Square photo*/
.bf-photo.square .bf-photo-image {
  aspect-ratio: 1;
  overflow: hidden;
}
.bf-photo.square img {
  min-height: 100%;
  object-fit: cover;
}

/*Bullets*/
ul {
  padding-left: 17px;
  list-style-type: '• ';
}


/*Form with image overla/
.sbs-form-image .row > div:first-child {
  z-index: 10;
}
.sbs-form-image h2, .sbs-form-image h2:hover {
  text-wrap: nowrap;
}
.sbs-form-image .bf-photo-image {
  position: relative;
}
.sbs-form-image .bf-photo-image::before {
  content: '';
  background: rgba(255, 255, 255, .2);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}
*/

/*Form field focus*/
input:not([type="button"]):not([type="submit"]):not([type="checkbox"]):not([type="radio"]):focus,
.bf-form textarea:focus,
.bf-form select:focus,
.bfcms-form-multistep textarea:focus,
.bfcms-form-multistep select:focus {
  background: rgba(191, 163, 95, .1);
  outline: 1px solid rgb(191, 163, 95);
}
.b17 input:not([type="button"]):not([type="submit"]):not([type="checkbox"]):not([type="radio"]):focus,
.b17.bf-form textarea:focus,
.b17 .bf-form textarea:focus,
.b17.bfcms-form-multistep textarea:focus,
.b17 .bfcms-form-multistep textarea:focus,
.b17.bf-form select:focus,
.b17 .bf-form select:focus,
.b17.bfcms-form-multistep select:focus,
.b17 .bfcms-form-multistep select: {
  background: rgba(191, 163, 95, .1);
  outline: 1px solid rgb(191, 163, 95);
}
.b12 input:not([type="button"]):not([type="submit"]):not([type="checkbox"]):not([type="radio"]):focus,
.b12.bf-form textarea:focus,
.b12 .bf-form textarea:focus,
.b12.bfcms-form-multistep textarea:focus,
.b12 .bfcms-form-multistep textarea:focus,
.b12.bf-form select:focus,
.b12 .bf-form select:focus,
.b12.bfcms-form-multistep select:focus,
.b12 .bfcms-form-multsitep select:focus {
  background: rgba(255, 255, 255, .1);
  outline: 1px solid rgb(255, 255, 255);
}
.b13 input:not([type="button"]):not([type="submit"]):not([type="checkbox"]):not([type="radio"]):focus,
.b13.bf-form textarea:focus,
.b13 .bf-form textarea:focus,
.b13.bfcms-form-multistep textarea:focus,
.b13 .bfcms-form-multistep textarea:focus,
.b13.bf-form select:focus,
.b13 .bf-form select:focus,
.b13.bfcms-form-multistep select:focus,
.b13 .bfcms-form-multistep select:focus {
  background: rgba(191, 163, 95, .1);
  outline: 1px solid rgb(191, 163, 95);
}

/*Multistep form align button left*/
.bf-align-left .bfcms-form-multistep div:has( > .bf-r-submit),
.bf-align-left.bfcms-form-multistep div:has( > .bf-r-submit) {
  text-align: left;
}
.bf-align-left .bfcms-form-multistep .bf-r-submit-row,
.bf-align-left.bfcms-form-multistep .bf-r-submit-row {
  margin-top: 0;
}

/*Footer*/
.bfcms-richtext:has(.phone) {
  text-align: center;
}
#b_foot .phone, #b_foot .email, #b_foot .address {
    padding-left: 1.4em;
    position: relative;
    display: inline-block;
}
#b_foot .email {
  margin: 0 3%;
}
.phone::before {
    content: '\f095';
    position: absolute;
    left: 0;
    font-family: 'Font Awesome 5 Pro';
    font-weight: 300;
}
.email::before {
    content: '\f075';
    position: absolute;
    left: 0;
    font-family: 'Font Awesome 5 Pro';
    font-weight: 300;
}
.address::before {
    content: '\f041';
    position: absolute;
    left: 0;
    font-family: 'Font Awesome 5 Pro';
    font-weight: 300;
}
.website::before {
    content: '\f54f';
    position: absolute;
    left: 0;
    font-family: 'Font Awesome 5 Pro';
    font-weight: 300;
}
#b_foot .footer-social-nav ul {
  font-size: 18px;
}
#b_foot .footer-social-nav ul li {
  margin: 0;
}
#b_foot .footer-social-nav ul li:nth-last-child(n+2) {
  margin-right: 14px;
}
#b_foot .footer-social-nav ul li a {
  color: white;
}

/*Suite featurette*/
.sbs-suite .sbs-suite-ctr {
	height: 100%;
  position: relative;
  overflow: hidden;
  text-wrap: wrap;
}

.sbs-suite .sbs-suite-default {
  visibility: hidden;
}
.sbs-suite .sbs-suite-image {
	height: 100%;
	width: 100%;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
	margin: 0 auto;
	background-size: cover;
	background-position: center center;
	position: absolute;
}
.sbs-suite .sbs-suite-default {
  position: relative;
  z-index: 3;
  padding: 7% 7% 10%;
  height: 100%;
}
.sbs-suite .sbs-suite-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  margin: 0;
}
.sbs-suite .sbs-suite-default-colour,
.sbs-suite .sbs-suite-overlay-colour {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  margin: 0;
  padding: 0;
}
.sbs-suite .sbs-suite-default-colour {
  background: rgba(51, 51, 51, .85);
  z-index: -1;
}
.sbs-suite .sbs-suite-overlay-colour {
  background: linear-gradient(to bottom, rgba(51, 51, 51, 0), rgba(51, 51, 51, .2) 50%, rgba(51, 51, 51, 1) 75%);
}
.bfcms-ctr-2-cell .sbs-suite .sbs-suite-default {
  min-height: 540px;
}
.bfcms-ctr-3-cell .sbs-suite .sbs-suite-default {
  min-height: 540px;
}
.sbs-suite .sbs-overlay-content .sbs-overlay-description p {
	color: white;
}
.sbs-suite .sbs-suite-overlay .sbs-suite-content {
  position: absolute;
  z-index: 2;
}
.sbs-suite .sbs-suite-overlay .sbs-suite-content {
  bottom: 7%;
  right: 7%;
  left: 7%;
}
.sbs-suite .sbs-suite-content .sbs-suite-name {
  text-transform: uppercase;
  color: rgb(191, 163, 95);
}
.sbs-suite .sbs-suite-content .sbs-suite-description {
  color: white;
}
.sbs-suite .sbs-suite-content .sbs-suite-price {
  color: white;
  padding-bottom: 16px;
  display: inline-block;
}
.sbs-suite .sbs-suite-content .sbs-suite-overlay-flip {
  display: inline-block;
}
.sbs-suite .sbs-suite-content .sbs-suite-overlay-flip.right {
  float: right;
}
.sbs-suite .sbs-suite-content .sbs-suite-overlay-flip a,
.sbs-suite .sbs-suite-content .sbs-suite-link a {
  text-transform: uppercase;
  color: white;
}
.sbs-suite .sbs-suite-content .sbs-suite-specifics {
  display: grid;
  grid-template-columns: 50% 50%;
  list-style-type: none;
  padding: 8px 0 10px;
  border-top: 1px solid rgb(191, 163, 95);
  border-bottom: 1px solid rgb(191, 163, 95);
  margin-bottom: 16px;
  color: white;
  row-gap: 8px;
}
.sbs-suite .sbs-suite-content .sbs-suite-specifics i {
  padding-right: 1ch;
  width: 27px;
}

/*Masonry gallery*/
.bf-gallery .bf-masonry {
  margin: 0 -1%;
  padding: 0;
  list-style: none;
}
.bf-gallery .grid-item {
	float: left;
	margin: 0;;
	list-style-image: none;
  aspect-ratio: 1;
  padding: 0;
  border: 0.5vw solid white;
}
.grid-item img {
  height: 100%;
  object-fit: cover;
}

/*Overlay feature*/
.sbs-overlay .sbs-overlay-ctr {
	height: 100%;
  position: relative;
  overflow: hidden;
}
.sbs-overlay .sbs-overlay-image {
	height: 100%;
	width: 100%;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
	margin: 0 auto;
	background-size: cover;
	background-position: center center;
	position: absolute;
}
.sbs-overlay .sbs-overlay-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	margin: 0;
}
.sbs-overlay .sbs-overlay-default {
    position: relative;
    z-index: 3;
    padding: 7% 7% 10%;
    height: 100%;
    visibility: hidden;
}
.sbs-overlay .sbs-overlay-default-colour, .sbs-overlay .sbs-overlay-overlay-colour {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
	margin: 0;
	padding: 0;
}
.sbs-overlay .sbs-overlay-overlay-colour {
  background: linear-gradient(to bottom, rgba(51, 51, 51, 0), rgba(51, 51, 51, 0.2), 50%, rgba(51, 51, 51, 1) 75%)
}
.sbs-overlay .sbs-overlay-default-colour {
  background: rgba(51, 51, 51, .85);
}
.sbs-overlay .sbs-overlay-overlay .sbs-overlay-content {
	position: absolute;
	z-index: 2;
	bottom: 7%;
	left: 7%;
	right: 7%;
}
.bfcms-ctr-2-cell .sbs-overlay .sbs-overlay-default {
  min-height: 540px;
}
.bfcms-ctr-3-cell .sbs-overlay .sbs-overlay-default {
  min-height: 540px;
}
.sbs-overlay .sbs-overlay-content .sbs-overlay-description p {
	color: white;
}
.sbs-overlay .sbs-overlay-default .sbs-overlay-content .sbs-overlay-description {
  margin-bottom: 1em;
}
.sbs-overlay .sbs-overlay-default .sbs-overlay-content .sbs-overlay-description :last-child {
    margin-bottom: 0;
}
.sbs-overlay .sbs-overlay-default .sbs-overlay-price {
  color: white;
  padding: 0.2em 0;
  margin: 0 0 1.5em;
  border-top: 1px solid;
  border-bottom: 1px solid;
}
.sbs-overlay-overlay-flip {
  position: relative;
  z-index: 2;
}
.sbs-overlay-overlay-flip a.button,
.sbs-overlay-default .sbs-overlay-link a.button {
  color: white;
}
.sbs-overlay-overlay .sbs-overlay-overlay-flip {
  display: inline-block;
}
.sbs-overlay-overlay .sbs-overlay-distance {
	display: inline-block;
}
.sbs-overlay .sbs-overlay-distance p {
	color: white;
}
.sbs-overlay .sbs-overlay-distance i {
	padding-right: 4px;
}

/*Image feature - overlay*/
.bfcms-image-feature.bfif-t-overlay .bfif-ctr {
  position: relative;
  overflow: hidden;
}
.bfcms-image-feature.bfif-t-overlay .bfif-image {
  width: 100%;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}
.bfcms-image-feature.bfif-t-overlay .bfif-overlay.show-on-hover {
	position: relative;
	min-height: 540px;
	height: 100%;
}
.bfcms-image-feature.bfif-t-overlay .bfif-overlay {
  padding: 7% 7% 10%;
}

/*Attractions listing*/
.bfcms-listing  > .bf-listing-row {
	margin-bottom: 2em;
}
.bfcms-listing.attractions .bf-listing-inf .bf-listing-btn,
.bfcms-listing.attractions .bf-listing-inf .bf-listing-btn a:hover {
	padding: 15px 20px !important;
	font-size: 1em !important;
}

/*Restaurants listing*/
.bfcms-listing.restaurants .bfif-content h3.restaurant {
  padding-left: 1.2em;
}
.bfcms-listing.restaurants .bfif-content h3.restaurant::before {
  content: '\f2e7';
  font-family: 'Font Awesome 5 Pro';
  font-weight: 900;
  position: absolute;
  left: 0;
  color: rgb(51, 51, 51);
}
.bfcms-listing.restaurants .bfif-content ul.contact {
  padding: 0;
}
.bfcms-listing.restaurants .bfif-content ul.contact li {
	display: inline-block;
	padding-left: 1.3em;
  padding-right: .3em;
	position: relative;
	font-size: 15px;
}
.bfcms-listing.restaurants .bfif-content ul.contact li:last-child {
  padding-right: 0;
}
.bfcms-listing.restaurants .bfif-content .phone::before,
.bfcms-listing.restaurants .bfif-content .address::before,
.bfcms-listing.restaurants .bfif-content .website::before {
  font-weight: 900;
}
.bfcms-listing.restaurants .bfif-content ul.contact .website {
  padding-left: 1.5em;
}
.bfcms-listing.restaurants .bfif-content ul.contact .website a {
  color: rgb(51, 51, 51) !important;
}
