﻿html {
padding: 0;
  margin: 0;
}
@charset "utf-8";
.oswald-<uniquifier> {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
.open-sans-<uniquifier> {
  font-family: "Google Sans Flex", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}
.google-sans-flex-<uniquifier> {
  font-family: "Google Sans Flex", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "slnt" 0,
    "wdth" 100,
    "GRAD" 0,
    "ROND" 0;
}
img, object, embed, video {
max-width: 100%;
}
/* IE 6 does not support max-width so default to width 100% */
.ie6 img {
width:100%;
}
.fluid {
clear: both;
margin-left: 0;
width: 100%;
float: left;
display: block;
}
.fluidList {
    list-style:none;
    list-style-image:none;
    margin:0;
    padding:0;
}
body{
font-family:"Google Sans Flex", serif;
font-size:20px;
color:#000;
line-height:1.25;
/* letter-spacing: 1pt;
text-shadow: 2px 2px 2px rgba(0, 0, 0, 1);*/
}
h1{
font-family:"Oswald",sans-serif;
font-size:26px;
text-align:center;
color:#500000;
}
h2{
font-family:"Oswald",sans-serif;
font-size:24px;
}
h3{
font-family:"Oswald",sans-serif;
font-size:22px;
font-weight:bold;
}
.slogan{
font-family:"Alex Brush", cursive;
font-size:2rem;
color:#790A03;
font-weight:bold;
text-align:right;
padding:50px 10px 10px 0px;
}
.social-icons a {
    color: #790A03!important;
    font-size: 1.5rem;
    margin: 0 5px;
    text-decoration: none;
    transition: color .3s ease, transform .3s ease;
}
.social-icons a:hover {
    color: #000000;
    transform: translateY(-3px);
}
/* The Magic Float Center Code For Menu */
.float_center {
  float: right!important;
  position: relative!important;
  left: -50%!important; /* or right 50% */
  text-align: left!important;
}
.float_center > .child {
  position: relative!important;
  left: 50%!important;
}
/* Back to Top */
#return-to-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: rgb(0, 0, 0);
    background: rgba(80,0,0,0.9);
    width: 50px;
    height: 50px;
    display: block;
    text-decoration: none;
    text-align:center;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    display: none;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    z-index:1000;
}
#return-to-top i {
    color: #fff;
    margin: 0;
    position: relative;
    left: 0px;
    top: 20px;
    font-size: 30px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
#return-to-top:hover {
    background: rgba(0, 0, 0, 0.9);
}
#return-to-top:hover i {
    color: #fff;
    top: 8px;
}
/* end back to top */
/***BASIC STYLES***/
section {
margin:20px 0;
width:100%;
}
.mainContent {
width:100%;
max-width:1400px;
display:block;
margin-left:auto;
margin-right:auto;
    padding:20px;
    padding-bottom:40px;
    margin-bottom:20px;
    clear:both;
}
.contentSpacer {
 display:block;
 margin:40px auto;
 width:100%;
 clear:both;
}
.button-container{
display:block;
margin:30px auto;
text-align:center;
}
.button-container input {
    display: inline;
    vertical-align: middle;
    margin: 0px 5px 10px 0px;
    text-align:center;
}
.button-container form, .button-container form div {
    display: inline;
}
.videoWrapper {
position: relative;
padding-bottom: 56.25%; /* 16:9 */
padding-top: 25px;
height: 0;
max-width:800px;
margin-left:auto;
margin-right:auto;
}
.videoWrapper iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.pgWrapper{
display:block;
margin-left:auto;
margin-right:auto;
max-width:900px;
}
blockquote{
text-align:center;
color:#ffffff;
font-style:italic;
margin:30px auto;
padding:20px;
background-color:rgba(80,0,0,0.95);
}
/* BASIC SITE LINK STYLES*/
a:link {color:#2D3A98; text-decoration:underline; font-family: "Google Sans Flex", serif; }
a:visited {color:#2D3A98; text-decoration:underline; font-family: "Google Sans Flex", serif; }
a:active {color:#2D3A98; text-decoration:none; font-family: "Google Sans Flex", serif; }
a:hover {color:#ff0000; text-decoration:none; font-family: "Google Sans Flex", serif; }
a:link.menu {color:#ffffff; text-decoration:none; font-family: "Oswald", serif; font-weight:normal; text-transform:uppercase;}
a:visited.menu {color:#ffffff; text-decoration:none; font-family: "Oswald", serif; font-weight:normal; text-transform:uppercase;}
a:active.menu {color:#ffffff; text-decoration:none; font-family: "Oswald", serif; font-weight:normal; text-transform:uppercase;}
a:hover.menu {color:#ffffff; text-decoration:none; font-family: "Oswald", serif; font-weight:normal; text-transform:uppercase;}
a:link.sm {color: #ffffff; text-decoration: underline; font-family: "Google Sans Flex", 'Sans Serif'; font-size: 8pt; }
a:visited.sm {color: #ffffff; text-decoration:underline; font-family: "Google Sans Flex", Sans Serif; font-size: 8pt; }
a:active.sm {color: #ffffff; text-decoration:underline; font-family: "Google Sans Flex", Sans Serif; font-size: 8pt; }
a:hover.sm {color: #ff0000; text-decoration:none; font-family: "Google Sans Flex",Sans Serif; font-size: 8pt;}
.img{
border:3px solid #fff;
margin:5px;
background-color:#fff;
-webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
    -moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25);
}
a:link.btn {color:#fff!important; text-decoration:none!important;}
a:visited.btn {color:#fff!important; text-decoration:none!important;}
a:active.btn {color:#fff!important; text-decoration:none!important;}
a:hover.btn {color:#fff!important; text-decoration:none!important;}
.btn {
display: inline-block;
margin: 10px 5px;
padding: .75em .95em;
border: 0;
color: #fff!important;
text-decoration:none!important;
font-weight:bold;
background: linear-gradient(135deg, #580E0B 0%, #300606 100%);
line-height: 1;
font-family:"Google Sans Flex", Helvetica, sans-serif;
font-size: 22px;
text-shadow:none;
width:100%;
border-radius:0px;
text-align:center;
outline:1px solid white;
}
.btn:focus {
background: linear-gradient(135deg, #580E0B 0%, #300606 100%);
}
.btn:hover {
background: #000000;
}
.btn:active {
background: linear-gradient(135deg, #580E0B 0%, #300606 100%);
}
#cardsBackground{
background-image:url('images/dkgreybackground.jpg');
background-position:center center;
padding:40px 0px;
text-align:center;
color:#fff;
}
#serviceButtons {
width:100%;
display:block;
margin:50px auto;
text-align:center;
clear:both;
}
/* Mobile Layout: 480px and below. */
 
.gridContainer {
margin-left: auto;
margin-right: auto;
width: 100%;
padding-left: 0;
padding-right: 0;
clear: none;
float: none;
}
#header {
     background-image: url('images/texturebackground.jpg');
     background-position:center;
     display: block;
margin-left: auto;
margin-right: auto;
text-align: center;
padding:0;
width:100%;
}
#navBackground {
background: #000;
background-position:center;
display: block;
margin-left: auto;
margin-right: auto;
text-align: center;
border-top:2px solid white;
border-bottom:2px solid white;
}
#contentBackground {
/*background-image: url('images/contentbackground.jpg');
background-position: center top;
background-repeat:no-repeat;
background-color: rgba(0,0,0.95);*/
display: block;
margin-left: auto;
margin-right: auto;
color:#000;
}
.footerBackground {
 background-color:rgba(0,0,0,0.95);
     display: block;
margin-left: auto;
margin-right: auto;
text-align: center;
font-family:"Google Sans Flex", Helvetica, sans-serif;
color:#fff;
font-weight:normal;
font-size:8pt;
padding:20px;
}
.introContainer{
    display: block;
margin:auto;
width:95%;
max-width:1200px;
padding:30px 20px;
clear:both;
}
.pageContainer{
    display: block;
margin:auto;
width:95%;
max-width:1200px;
padding-top:30px;
clear:both;
}
.introContainer h1, .pageContainer h1{
font-family:"Oswald", serif;
text-align: center;
font-size:24px;
font-weight:bold;
color:#500000;
margin-bottom:30px;
}
.introContainer h1 span {
color:#2D3A98;
font-size: 22px;
font-weight:normal;
}
.pageContainer h1 span {
color:#2D3A98;
font-size: 22px;
font-weight:normal;
}
.logoContainer{
text-align:left;
float:left;
}
.logoContainer img{
height:100px;
margin-top:10px;
z-index:1000;
}
.navContainer{
 width:100%;
}
/* Media Queries */
@media only screen and (min-width: 500px) {
.btn {
width:auto;
font-size: 18px;
}
.logoContainer img{
height:100px;
margin-top:10px;
position:absolute;
z-index:1000;
}
}
@media only screen and (min-width: 600px) {
.logoContainer img{
height:175px;
margin-top:0;
}
.slogan{
font-size:2.75rem;
padding:10px 20px 10px 0px;
}
}
@media only screen and (min-width: 900px) {
.logoContainer{
text-align:left;
width:10%;
float:left;
}
.logoContainer img{
position:absolute;
z-index:1000;
height:200px;
}
.slogan{
font-size:4rem;
padding:10px 20px 10px 0px;
}
.navContainer{
 width:100%;
 float:right;
 clear:both;
 /*padding-right:10px*/
}
.introContainer h1, .pageContainer h1{
font-size:30px;
}
.introContainer h1 span {
font-size: 28px;
}
.pageContainer h1 span {
font-size: 28px;
}
}
@media only screen and (min-width: 1000px) {
.logoContainer img{
position:absolute;
z-index:1000;
height:200px;
}
.introContainer h1, .pageContainer h1{
font-size:36px;
}
.introContainer h1 span {
font-size: 34px;
}
}
/*** GENERIC FLEX CONTAINER FOR CONTENT**/
#hpBackground{
width:100%;
max-width:1400px;
display:block;
margin-left:auto;
margin-right:auto;
    padding:20px;
    padding-bottom:40px;
    clear:both;
}
.hp-container {
  display: flex;
  flex-wrap: wrap;
  margin-top:40px;
  margin-bottom:40px;
}
.hp-four {
  background-color: rgba(0,0,0,0.05);
  padding: 20px;
  flex: 24%;
  margin:5px;
  border:0px solid black;
  text-align:center;
 }
.hp-item {
background-color:rgba(0,0,0,0.05);
  padding: 20px;
  flex: 32%;
  margin:5px;
  text-align:center;
}
.hp-item a:link, .hp-item a:active, .hp-item a:visited {text-decoration:underline; font-family: "Google Sans Flex", serif; }
.hp-item a:hover {color:#525151; text-decoration:none; font-family: "Google Sans Flex", serif; }
.hp-item img{
    border:0px double #B2975D;
    margin:5px;
}
.hp-item h1{
    font-size:26px;
    font-weight:bold;
    padding:10px;
}
.hp-item p{
    text-align:left;
}
.hp-item ul{
    text-align:left;
}
.hp-item li{
padding:3px 0px;
}
/* Responsive layout - makes a two column-layout instead of a three-column layout */
@media (max-width: 1000px) {
  .hp-item {
    flex: 48%;
  }
  .hp-four {
    flex: 48%;
  }
}
/* Responsive layout - makes a one column-layout instead of a two-column layout */
@media (max-width: 800px) {
  .hp-item {
    flex: 100%;
  }
  .hp-four {
    flex: 100%;
  }
}
/* HERO SECTION STYLES */
.image-container {
  position: relative;
  width: 100%;
  height: 85vh; /* Tall hero - adjust as needed */
  min-height: 600px; /* Prevents it from getting too small */
  overflow: hidden;
  background-color: #111; /* Fallback color while image loads */
}
.ken-burns-container {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.ken-burns-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  animation: kenBurns 15s ease-in-out infinite alternate;
  filter: brightness(0.55); /* Slightly darken image for better text contrast */
}
/* Ken Burns Effect */
@keyframes kenBurns {
  0% {
    transform: scale(1) translate(0, 0);
  }
  100% {
    transform: scale(1.12) translate(3%, 2%);
  }
}
/* Overlay Content */
.caption-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 1200px;
  text-align: center;
  z-index: 2;
  padding: 0 20px;
  box-sizing: border-box;
}
/* Text Styles */
.caption-content h1 {
  color: #ffffff;
  font-size: clamp(2.2rem, 5vw, 3.0rem);
  font-weight: 700;
  line-height: 1.1;
  margin: 0 0 1.2rem 0;
  text-shadow:
    0 2px 4px rgba(0, 0, 0, 0.6),
    0 4px 8px rgba(0, 0, 0, 0.4);
  letter-spacing: -0.02em;
}
.caption-content p {
  color: #ffffff;
  font-size: clamp(1.1rem, 2.5vw, 1.35rem);
  line-height: 1.45;
  margin: 0 0 2.5rem 0;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  text-shadow:
    0 2px 4px rgba(0, 0, 0, 0.7),
    0 4px 8px rgba(0, 0, 0, 0.5);
}
/* Button Container
.button-container {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  align-items: center;
}*/
/* Button Styles - 3 buttons example */
.button-container a,
.button-container button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  /*padding: 14px 32px;*/
  font-size: 1.1rem;
  font-weight: 600;
  text-decoration: none;
  text-transform:uppercase;
  border-radius: 5px;
  transition: all 0.3s ease;
  /*min-width: 160px;*/
  white-space: nowrap;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}
/* Primary Button */
.btn-primary {
  background: #1a472a; /* Golf green */
  color: white;
  border: 2px solid #1a472a;
}
.btn-primary:hover {
  background: #ffffff;
  color: #1a472a;
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(26, 71, 42, 0.4);
}
/* Secondary Button */
.btn-secondary {
  background: transparent;
  color: white;
  border: 2px solid white;
}
.btn-secondary:hover {
  background: rgba(255, 255, 255, 0.15);
  transform: translateY(-3px);
}
/* Optional third button style */
.btn-accent {
  background: #e67e22; /* Warm accent for food/drinks */
  color: white;
  border: 2px solid #e67e22;
}
.btn-accent:hover {
  background: #ffffff;
  color: #e67e22;
  transform: translateY(-3px);
}
/* Responsive Adjustments */
@media (max-width: 768px) {
  .image-container {
    height: 75vh;
    min-height: 520px;
  }
 
  .caption-content {
    padding: 0 15px;
  }
 
  .caption-content h1 {
    margin-bottom: 1rem;
  }
 
  .caption-content p {
    margin-bottom: 2rem;
  }
 
  .button-container {
    gap: 0.8rem;
  }
 
  .button-container a,
  .button-container button {
    padding: 12px 24px;
    font-size: 1rem;
    min-width: 140px;
  }
}
@media (max-width: 480px) {
  .button-container {
    flex-direction: column;
    align-items: center;
  }
 
  .button-container a,
  .button-container button {
    width: 100%;
    max-width: 280px;
  }
}
/* FOOTER STYLES */
#contactBackground {
background-image:url('images/texturebackground.jpg');
  position: relative;
  padding-top: 40px; /* Space for the overlapping logo */
  padding-bottom: 40px;
}
/* Black top bar */
#contactBackground::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 20px; /* Height of black bar */
  background: #000; /* Black bar */
  z-index: 1;
}
/* Main container */
.contact-container {
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
}
/* Logo - Overlapping the black bar */
.logo-section {
  position: absolute;
  top: -85px; /* Controls how far logo overlaps upward */
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  /*background: #1a1a1a; Same as black bar
  padding: 12px 18px;
  border-radius: 50%;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);*/
}
.logo-section img {
  display: block;
  max-height: 150px; /* Adjust logo size */
  width: auto;
}
/* Content row below logo */
.contact-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  max-width: 1400px;
  margin-top: 20px;
  padding: 0 20px;
}
/* Contact Info - Left */
.contactInfo {
  text-align: left;
  line-height: 1.65;
  font-size: 1.05rem;
}
.contactInfo a {
  color: #500000;
  text-decoration: none;
}
.contactInfo a:hover {
  text-decoration: underline;
}
/* Hours - Right */
.hours {
  text-align: right;
  line-height: 1.65;
  font-size: 1.05rem;
}
/* Responsive */
@media (max-width: 768px) {
  .contact-content {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 30px;
  }
 
  .contactInfo,
  .hours {
    text-align: center;
  }
 
  .logo-section {
    top: -100px;
  }
 
  .logo-section img {
    max-height: 125px;
  }
}
@media (max-width: 480px) {
  #contactBackground {
    padding-top: 60px;
    padding-bottom: 40px;
  }
 }
/* REPEATABLE HALF-OVERLAY SECTIONS */
.full-bg-section {
  position: relative;
  width: 100%;
  min-height: 620px; /* Adjust height as needed */
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  overflow: hidden;
}
/* Dark transparent overlay - only on one half */
.full-bg-section .overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50%;
  background: rgba(0, 0, 0, 0.68); /* Transparent black overlay */
  z-index: 1;
}
/* Overlay on the left */
.full-bg-section.left .overlay {
  left: 0;
}
/* Overlay on the right */
.full-bg-section.right .overlay {
  right: 0;
}
/* Content box */
.full-bg-section .content-box {
  position: relative;
  z-index: 2;
  width: 50%;
  padding: 50px 40px;
  color: white;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.8);

  /* === ANIMATION ADDED HERE === */
  opacity: 0;
  transform: translateX(-80px);
  transition: all 0.9s cubic-bezier(0.25, 0.1, 0.25, 1);
}

/* Left aligned content */
.full-bg-section.left .content-box {
  margin-left: 0;
  text-align: left;
}
/* Right aligned content */
.full-bg-section.right .content-box {
  margin-left: auto;
  text-align: left; /* Keep text left-aligned inside box */
}

/* Animation trigger */
.full-bg-section .content-box.visible {
  opacity: 1;
  transform: translateX(0);
}

.full-bg-section .content-box.visible h2 {
  animation: fadeUp 0.8s 0.1s both;
}
.full-bg-section .content-box.visible p {
  animation: fadeUp 0.8s 0.3s both;
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Headings and text */
.full-bg-section h2 {
  font-size: clamp(2.2rem, 4.5vw, 3.4rem);
  margin-bottom: 1.2rem;
  line-height: 1.1;
  font-weight: 700;
}
.full-bg-section p {
  font-size: 1.15rem;
  line-height: 1.55;
  margin-bottom: 1.75rem;
  max-width: 520px;
}
/* RESPONSIVE */
@media (max-width: 992px) {
  .full-bg-section .content-box {
    padding: 50px 30px;
  }
}
@media (max-width: 900px) {
  .full-bg-section {
    min-height: 520px;
  }
 
  .full-bg-section .overlay,
  .full-bg-section .content-box {
    width: 100%;
  }
 
  /* On mobile, always show overlay on left for consistency */
  .full-bg-section.right .overlay {
    left: 0;
    right: auto;
  }

  /* Disable animation transform on mobile */
  .full-bg-section .content-box {
    opacity: 1;
    transform: none;
  }
 }
/******PRICING GRID***************/
.pricing-grid {
display:block;
margin:auto;
margin-bottom:40px;
width:100%;
}
.pricing-box {
float:left;
width:48%;
margin:1%;
margin-bottom:20px;
text-align:left;
padding:10px;
border-radius:10px;
background:rgba(255,255,255,0.25);
}
.pricing-box table{
width:95%;
}
.pricing-box td{
padding:5px;
font-size:15px;
border-bottom:1px solid #ccc;
}
@media (max-width: 700px) {
.pricing-box {
width:100%;
padding:10px;
border-radius:10px;
background:rgba(255,255,255,0.25);
}
}

.comingSoon {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin: 20px 0 30px;
    padding: 14px 20px;
    background: linear-gradient(135deg, #300606, #580E0B, #300606);
    border-top: 2px solid #EFAA1E;
    border-bottom: 2px solid #EFAA1E;
    color: #ffffff;
    text-align: center;
    font-family: Arial, sans-serif;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: 5px;
    text-transform: uppercase;
    text-shadow: 0 2px 3px rgba(0,0,0,0.6);
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}

.comingSoon::before,
.comingSoon::after {
    content: "";
    display: block;
    width: 70px;
    height: 2px;
    background: #EFAA1E;
    box-shadow: 0 0 6px rgba(239,170,30,0.5);
}

.comingSoon span {
    color: #EFAA1E;
}

@media (max-width: 600px) {
    .comingSoon {
        gap: 10px;
        padding: 12px 10px;
        font-size: 18px;
        letter-spacing: 3px;
    }

    .comingSoon::before,
    .comingSoon::after {
        width: 30px;
    }
}