
/* ---------- css reset ---------- */

body, header, nav main, footer, h1, div, img, ul, aside, figure, figure-capition, {
	margin: 0;
	padding: 0;
	border: 0;
	
}

/* ---------- banner ---------- */
.parent {
  position: relative;
  top: 0;
  left: 0;
}
.image1 {
  position: relative;
  top: 0;
  left: 0;
  
}
.image2 {
  position: absolute;
  top: 30px;
  left: 30px;
  
}
 
/* Media Query for Desktop Viewport */
@media screen and (min-width: 769px) {
header { width:25%; float: left; padding-bottom: 0; }
main { clear: left; }
main h1 { font-size: 1.8em; } 
}

.grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr; /* or repeat(3, 1fr) */
  grid-gap: 30px;
}
aside {
  grid-column: 1 / span 3;
  font-size: 2em;
}

form {
  width: auto;
}

.form-grid {
  display: grid;
  grid-template-columns: auto auto;
  grid-gap: 20px;
}

.btn {
  grid-column: 1 / span 2;
}

/* Media Query for Large Desktop Viewports */
@media screen and (min-width: 1921px){ 

#container { width: 1920px; margin: 0 auto; }
}

.grid {
display: grid; 
grid-template-columns: repeat(4, 1fr); / }
aside {
  grid-column: 1 / span 4;
  font-size: 3em;
}

/* ---------- tablet css ---------- */
 
 @media screen and (min-width: 630px) {
 
.tablet-desktop { 
display: block; }
.mobile { 
display: none; }
 
 header { position: static;
 padding-bottom: 2%; }
 
 nav li{ border-top: none;
 display: inline-block;
 border-right: 1px solid #fff; }
 nav li a { padding: 0.1em 0.75em; }
main ul { margin: 0 0 4% 10%; }

.tel-num { font-size: 1.25em; }
.map { width: 600px; height: 450px; }
 }
 
.grid {
  display: grid;
  grid-template-columns: 1fr 1fr; /* or repeat(2, 1fr) */
  gap: 10px;
}

aside {
  grid-column: 1 / span 2;
}
form {
  width: 70%;
  margin: 0 auto;
}

/* ... other rules within the tablet media query ... */
/* - tablet css  partnerships page- */
.tablet-desktop { 
display: block; }
.mobile { 
display: none; }

table {
  border: 1px solid #2a1f14;
  border-collapse: collapse; /* Added to collapse borders */
  margin: 0 auto; /* Combines top/bottom 0 and left/right auto */
}

caption {
  font-size: 1.5em;
  font-weight: bold;
  padding: 1%;
}

th, td {
  border: 1px solid #2a1f14;
  padding: 1%;
}

th {
  background-color: #2a1f14;
  color: #fff;
  font-size: 1.15em;
}

tr:nth-child(odd) {
  background-color: #deccba;
}

/* ---------- mobile css ---------- */
/* -- style 4 nav */ 
header {
position: -webkit-sticky;
position: sticky;
top: 0;
background-color: #000;
height: 190px;

}

header img {
	margin: 0 auto;
}

img {
  max-width: 100%;
  max-height: 100%;
}
/* ---------- navigation ---------- */

ul.topnav {
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background-color: #333;
}

ul.topnav li {float: left;}

ul.topnav li a {
  display: block;
  color: white;
  text-align: center;
  padding: 20px 26px;
  text-decoration: none;
}

ul.topnav li a:hover:not(.active) {background-color: #111;}

ul.topnav li a.active {background-color: #04AA6D;}

ul.topnav li.right {float: right;}

@media screen and (max-width: 600px) {
  ul.topnav li.right, 
  ul.topnav li {float: none;}
}

/* ---------- mobile css ---------- */
/* -- style text */

.mobile {
	display: block;

}

.tablet-desktop {
	display: none;
	
}
.map {
	border: 2px solid #000;
	width: 95%;
	height: 50%;
}
/* - form style rules - */
#form h2
@media screen and (max-width: 768px) {
  fieldset,
  input,
  textarea {
    margin-bottom: 2%;
  }

  fieldset legend {
    font-weight: bold;
    font-size: 1.25em;
  }

  label {
    display: block;
    padding-top: 2%;
  }

  form #submit {
    margin: 0 auto;
    display: block;
    padding: 2%;
    background-color: #78593a;
    color: #f6eee4;
    font-size: 1.25em;
    border-radius: 10px;
  }
}


 /* ---------- ect ---------- */

aside {
 text-align: center;
 font-size: 1.5em;
 font-weight: bold;
 text-shadow: 4px 4px 10px #c5a687;
}

figure { 
border: 4px solid #2a1f14; 
box-shadow: 6px 6px 10px #c5a687; 
max-width: 400px; 
margin: 2% auto; }

figcaption {
padding: 2%;
border-top: 4px solid #2a1f14;
}
		
body {
    padding: 0%;
    background-color: #a29857;
} 




main {
    
  font-family: Georgia, Times, serif;
	
  width: 1300px;
  max-width: 98%;
  background-color: #fff3d4;
  outline: 3px solid #000000;
  margin: auto;
  margin-bottom: 10px;
  padding: 0px 12px 12px;
} 



 

main p {
    font-size: 1.25em;
}
main h3 {
    padding-top: 2%;
    font-size: 2em;
}
/* FOOTER */
footer {
  color: #421a1a;
  margin-top: 12px;
  margin-bottom: 15px;
  float: left;
  width: 100%;
  font-size: 15px;
  text-align: center;
}
footer p {
  margin: auto;
}

footer a {
  color: #333333;
  
}

footer a:hover {
  color: #868d26
}
/* Links */
a[href^="tel:"]
{
color: #333333;
text-decoration: none;
}

a[href^="tel:"]:hover
{
color: #868d26;
}

a[href^="mailto:"]{
	color: #333333;
	text-decoration: none;
}
	
a[href^="mailto:"]:hover
{
	color: #868d26;
{

/* ---------- mobile veiwport ---------- */

header h1 {
    font-size: 3em;
    font-family: Georgia, Times, serif;
    padding: 3%;
    color: #47476b;
}

}



