/* ----------------- REDEFINES THE TAG SELECTORS ----------------- */
html {
	background: #4c2811 url(images/bg-site1.jpg);
	margin: 0 auto;
	padding: 0;
	text-align: center;
}

body {
	background: url(images/bg-site1.jpg);
	margin: 0 auto;
	padding: 0;
	text-align: center;
	font: 12px Verdana, Tahoma, Geneva, Arial, sans-serif;
	color: #403c36;

}

/* Sets the margin and padding to zero */
dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, input, p, fieldset, address, blockquote, th, td {
	 margin: 0;
	 padding: 0;
	 text-align: left;  /* Not necessary if not using text-align center in body tag for older IE browsers. */
}

/* Removes borders for images and fieldsets */
img, fieldset {
	border: 0;
}

.family_group{
	padding-top:2rem;
	padding-right:1rem;

}

.family_group1{
	 display: block;
  max-width: 100%; /* image can't exceed container width */
  height: auto;    /* maintain aspect ratio */
  padding-top:2rem;
	padding-right:1rem;

}

.field_group{
	float:right;
}

/* Removes borders for tables and table cells */
table, td {
	border-collapse: collapse;
	vertical-align: top;
}

/* Styles h1, h2, h3, h4, h5 tags */
h1, h2, h3, h4 {
	font-family: "Trajan Pro", Trajan-Normal, "Adobe Garamond Pro", Garamond, "Garamond Premr Pro", Georgia, "Times New Roman", Times, serif;
	font-weight: normal;
	text-transform: uppercase;
	padding-top: 30px;
	padding-bottom:10px;
	margin: 0px 20px -5px 33px;
}
h1 {
	color: #660304;
	font-size: 20px;
}
h2, h3, h4 {
	color: #2d2a26;
}
h2 {
	font-size: 24px;
}
h3 {
	font-size: 20px;
}
h4 {
	font-size: 16px;
}

 .mapiframeregsize{

     display:none!important; 
     margin-bottom:20px;

   }

.headingmobile{
	display:none;

}

table {
      border-collapse: separate;
      border-spacing: 0;
      width: 100%;
      margin: 0 auto;
	  margin-top:20px;
	  margin-left: 30px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
      background-color: #fff;
      border-radius: 8px;
      overflow: hidden;
	  margin-bottom: 20px;
    }

    th, td {
      padding: 16px 20px;
      text-align: center;
      border-bottom: 1px solid #e0e0e0;
    }

    th {
      background-color: #345e01;
      color: #fff;
      font-size: 16px;
      font-weight: 500;
    }

    td {
      color: #555;
	   background-color: #f1fbe3;
      font-size: 14px;
    }

    tr:last-child td {
      border-bottom: none;
	     }

    tr:nth-child(even) td {
      background-color: #d4e0c4;
    }

   .image-gallery {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 30px;
  padding-top:40px;
  padding-left:40px;
}

.gallery-item {
  text-align: center;
  width: 116px;
  cursor: pointer;
}

.gallery-item img {
  width: 116px;
  height: 116px;
  display: block;
  border-radius: 8px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.gallery-item p {
  font-size: 12px;
  margin: 8px 0 0 0;
  opacity: 0.7;
  background-color: transparent;
  transition: 
    opacity 0.3s ease,
    color 0.3s ease,
    background-color 0.3s ease,
    transform 0.3s ease;
    text-align:center;
}

.gallery-item:hover img {
  transform: scale(1.08);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
}

.gallery-item:hover p {
  opacity: 1;
  color: #d87053; /* Soft peach/orange tone */
  
  transform: scale(1.05);
  border-radius: 4px;
}

/*grid-layout*/

 .image-grid {
      display: grid;
      grid-template-columns: repeat(3, 2fr);
      gap:20px; /* space between images */
      max-width: 650px;
      margin: 0 auto;
	  padding-left:35px;
	  padding-bottom:30px;
	
    }
    .image-grid img {
      width: 100%;
      height: auto;
      display: block;
      border-radius: 8px; /* optional: rounded corners */
    }


/* Sets the line-height for the p, td, and address tags */
p {
	line-height: 20px;
	margin: 5px -45px 10px 33px;
}





address {
	line-height: 21px;
	font-size: 13px;
	font-style: normal;
	color:#000000;
	
}

address a {
color: #000!important;


}
.txtaddress{
	margin-left:15px;
}

#emailinfo {
	color:#434141;
	position: absolute;
	font-size:1px;
  top: 15px;         /* Move up/down as needed */
  right: 25px;       /* Move left/right as needed */
  
}

/* Style unordered lists and colmuns of text */
ul, body>ul.leftul, body>div#leftpara, body>ul.rightul, body>div#rightpara, ul.leftul, div#leftpara, ul.rightul, div#rightpara {
	list-style: none;
}	
	
/* Styles A links */
a:link {
	text-decoration: none;
	color: #776853;
}
a:visited {
	text-decoration: none;
	color: #585044;
}
a:hover {
	text-decoration: none;
	color: #887354;
}
a:active, a.selected {
	text-decoration: none;
	color: #675c4c;
}

.txtcolor{
	text-decoration:none;
}
	
/* ----------------- PAGE LAYOUT ELEMENTS ----------------- */
/* Styles the DIV that serves as the container for the layout. Setting the left and right margins to auto will center DIV. */
div#container {
	width: 990px;
	margin: 0px auto;
	background: #f2e5d2 url(images/bg-layout.jpg) repeat-y; /* Faux column bg for page */
}

/* Creates DIV container for header. */
div#header {
	width: 990px;
	margin: 0px auto;
	position: relative;
	clear: both;
	 background: #ede0cc url(images/top-bg.jpg)no-repeat left bottom;
}

div#header::after {
  content: "";
  display: table;
  clear: both;
  }
	
/* Creates DIV container for call to action */ 
div#cta {
	background: #670506 url(images/left-header.jpg) no-repeat;
	height: 245px;
	width: 693px;
	z-index: 1;
	padding: 0;
	margin: 0;
}

/* Creates DIV container for sidebar content */ 
div#sidebar {
		color: #f4eee5;
	width: 297px;
  float: right;
  padding: 0px;
}
div#sidebar a {
    font-weight: bold;
}
div#sidebar a:link, div#sidebar a:visited {
	text-decoration: underline;
	color: #f7f3ec;
}
div#sidebar a:hover, div#sidebar a:active {
	text-decoration: none;
	color: #ffffff;
}
div#sidebar address {
	
	padding: 9px 82px 200px;
}



/* Creates DIV container for main content */ 
div#content {
	background: url(images/bg-content.jpg) no-repeat 0px 245px;
	width: 693px;
	float: left;
	padding: 0px 0px 25px;
	
}

#content::after {
  content: "";
  display: block;
  clear: both;
}

div#content a {
	font-weight: bold;
}
div#content ol, div#content ul {
	line-height: 18px;
}
div#content ul {
	margin: 5px 35px 10px;
}
div#content ol {
	line-height: 18px;
	margin: 5px 20px 10px 40px;
}
div#content ul li {
	padding-left: 10px;
	background: url(images/bullet.gif) no-repeat;
	list-style: none;	
}
div#content ol li {
	padding-left: 10px;
}

/* Creates DIV to set back to top link */
p#back {
	margin: 5px 20px 5px 33px;
	text-align: right;
	font-weight: bold;
	font-size: 10px;
	clear: both;
}
p#back a {
	text-align: right;
}

/* DIVs to create columns for paragraphs. */
div#leftcolumnhalf {
	border-right: 1px solid #64594a;
	float: left;
	width: 340px;
	_width: 330px;
	margin: 10px 0px 5px 13px;
}
div#rightcolumnhalf {
	float: right;
	width: 339px;
	_width: 330px;
	margin: 10px 0px 5px;
}

/* Styles DIV container for Google map */
div#map {
	border: 1px solid #c9c7c9;
	text-align: center;
	margin: 5px auto 5px;
	width: 638px;
}

/* Styles DIY frames in Plus sites */
#iframe {
	margin: 0 0 0 13px;
	width: 955px;
	clear: both;
}

/* Creates DIV container for footer content */ 
div#footer {
	background: #4c2811 url(images/bg-footer.jpg) no-repeat;
	font-size: 10px;
	width: 930px;
	margin: 0px auto;
	text-align: left;
	clear: both;
	padding: 0px 30px;
	color: #393633;
}
div#footer a {
	font-weight: bold;
}
div#footer a:link, div#footer a:visited {
	text-decoration: underline;
	color: #302e2b;
}
div#footer a:hover, div#footer a:active {
	text-decoration: none;
	color: #302e2b;
}
div#footer img {
	float: right;
	margin-top: 0px;
}

/* Creates DIV container for sub-navigation */
div#subnav {
	font-size: 10px;
	margin: 0px auto;
	padding: 20px 0px 5px;
}

/* Creates DIV container for copyright statement */
div#copyright {
	font-size: 9px;
	margin: 0px auto;
	padding: 5px 0px 10px;
}
div#copyright img {
	margin-top: -25px;
}

/* ----------------- MAIN NAVIGATION ----------------- */

/* Apply the ul#mainnav style to our entire <ul>.*/

/* Sets a background color and width for our navigation box. Removes all default margins and padding. */



ul#mainnav {
  position: absolute;
  top: 100px;         /* Move up/down as needed */
  right: 120px;       /* Move left/right as needed */
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  background: #408b0e;
  list-style: none;
  z-index: 10;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.50); /* <<< THIS IS THE SHADOW */
}

/* Removes the default bullets. */
ul#mainnav li {
  display: inline-block;
  margin: 0;
  padding: 0;
}

/* Styles our links. Setting the display to block ensures our links will stack back on top of one another as block level elements. The width sets the "hit" area of the links.  */
ul#mainnav li a:link,
ul#mainnav li a:visited,
ul#mainnav li a:active {
    display: block;
    padding: 12px 12px;
    font: bold 13px Tahoma, Verdana, Geneva, Arial, sans-serif;
    text-transform: uppercase;
    text-decoration: none;
    color: #ffffff;
}

/* Active link style */
ul#mainnav li a.active {
    background-color: #193606;
    color: #46e00a;
}

/* Creates our hover status. */
ul#mainnav li a:hover {
	color: #46e00a;
	width: auto;
	background-color:#193606;
	
}

/* Creates our current custom class. Be sure to apply .current to each applicable a tag on individual pages. */
ul#mainnav li a.current:link, ul#mainnav a.current:visited {
	color: #570405;
	width: auto;
}

/* ----------------- ADDITIONAL CLASSES and DIVs ------------------ */
img.rt {
	float: right;
	margin: 10px 20px 5px;
}

img.left {
	float: left;
	padding: 5px;
	background: white;
	margin: 0px 15px 10px 0px;
	border: solid 1px #ccc;

}

img.rtborder {
	border: 1px solid #64594a;
	float: right;
	margin: 10px 20px 5px;
}
img.lft {
	float: left;
	margin: 10px 20px 5px;
}
img.lftborder {
	border: 1px solid #64594a;
	float: left;
	margin: 10px 20px 5px 30px;
}
img.lftnorightmargin {
	float: left;
	margin: 10px 0px 5px 20px;
}
img.lftbordernorightmargin {
	border: 1px solid #64594a;
	float: left;
	margin: 10px 0px 5px 20px;
}
img.ctrborder {
	border: 1px solid #64594a;
	text-align: center;
	margin: 5px auto;
}
img.ctr {
	text-align: center;
	margin: 5px auto;
}

/* Class to stop items from floating right or left */
.clear {
	clear: both;
}

/* Class to center text and images */
.center {
	text-align: center;
}

/* Class to make text one pixel/point larger for the business name in the address */
.businessname {
	font-size: 12px;
	font-weight: bold;
}

/* Class to emphasize the business name in the content */
.businessnamecontent {
	color: #660304;
	font-weight: bold;
}

/* Class to emphasize the business name in the content */
.addressheading {
	font: 16px "Trajan Pro", Trajan-Normal, "Adobe Garamond Pro", Garamond, "Garamond Premr Pro", Georgia, "Times New Roman", Times, serif;
	text-transform: uppercase;
}

.logo {
	 float: left;
  margin-top: 15px;
}


.audio {
	width: 298px;
	height: 30px;
	margin: 0;
	position: absolute;
	left: 278px;
	top: 0px;
}


/*gallery*/
.gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto auto;
  gap: 20px;
  max-width: 700px;
  width: 100%;
  justify-items: center;
  margin-left:40px;
  margin-top:30px;
   overflow: hidden;
}

.gallery-item:nth-child(4),
.gallery-item:nth-child(5) {
  grid-column: span 1;
  justify-self: center;
}

.gallery-item {
  text-align: center;
  
}

.image-box {
  background-color: white;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transition: transform 0.3s ease;
  width: 200px;
  
}

.image-box:hover {
  transform: scale(1.05);
}

.image-box img {
  width: 100%;
  display: block;
}

.caption {
  padding: 3px;
  font-size: 13px;
  color: #444;
  font-weight: 200;
  border-top: 1px solid #eee;
  background-color: #fff;
  text-align:Center;
}


	 @media (max-width: 700px) {
      .image-grid_contactus {
        grid-template-columns: repeat(2, 1fr);
      }
    }
    @media (max-width: 500px) {
      .image-grid_contactus {
        grid-template-columns: 1fr;
      }
    }