/* ===========================
   GLOBAL SITE STYLES
   =========================== */

body {
    background-color: #322418;
    color: #FFFBCC;
    font-family: Verdana, Arial, sans-serif;
    margin: 0;
}

#wrapper {
    background-color: #AF6E4D;
    padding: 2em;
    max-width: 100%;
}

/* ===========================
   HEADER
   =========================== */

header {
    background-color: #592720;
    color: #F4E6C2;
    font-size: 90%;
    margin-top: 50px;
    min-height: 500px;
	
	display: flex;
	justify-content: flex-start;
	align-items: center;
    padding: 0 3em;
	position: relative;
}

header a {
    text-decoration: none;
}

/* ===========================
   Recently Added to Fix the Images Reponse on Different Screens
   =========================== */
header::before {
	content: "";
	flex: 0 0 400px; /*spacing for img*/
	height: 100%;
	background-image: url("TheJoinery.jpeg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: left center;
}
/* ============================ */

header a:hover {
    color: #EDF5F5;
}

/* ===========================
   NAVIGATION
   =========================== */

nav {
    width: 100%;
    padding-top: .5em;
    padding-right: 0;
    position: fixed;
    top: 0;
    left: 0;
    text-align: center;
    background-color: #F6E8B1;
    margin: 0;
    z-index: 9999;
}

nav a {
    text-decoration: none;
	font-weight: 900;
}

nav ul {
    display: flex;
    flex-wrap: wrap;
	justify-content: center;
    margin: 0;
    padding: 0;
    font-size: 1.2em;
}

nav li {
    padding: 0 1em;
    list-style: none;        /* removes default bullets */
    position: relative;      /* position of ::after */
}

/* Adds dots between each nav link */
nav li::before {
    content: "";
	position: relative;
	top: 25px; /* Higher = lower */
    display: inline-block;
    width: 40px;
    height: 40px;
    background-image: url("chisel.png");
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 0.1em;
}

nav a:link,
nav a:visited {
    color: #654321;
}

nav a:hover {
    color: #B57EDC;
}

/* ===========================
   GENERAL CONTENT
   =========================== */
.center {
	font-weight: 900;
	font-size: 1.5em;
	text-align: center;
	display: block;
	margin-top: 1em;
}

.notice {
	font-weight: 900; /* adds extra bold */
	font-size: 1.2em; /* larger font size */
	text-align: center; /* centers the text */
	display: block; /* allows centering */
	margin-top: 1em; /* adds spacing above text */
	color: #000000;
}

.contact-wrapper {
    display: flex;
    justify-content: center;
    width: 100%;
}

.header-text {
	max-width: 40%;
	margin-left: 2em;
	text-align: center;
}

body.contact-page .content {
    padding-left: 0;
    padding-top: 0;
    height: 0;
}

body.contact-page main {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.home, .content {
    height: 20vh;
    padding-top: 2em;
    padding-left: 0;
}

section {
    padding-left: .5em;
    padding-right: .5em;
}

/* ===========================
   TABLE STYLES
   =========================== */

table {
    width: 60%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1em;
    border: 1px solid #3F2860;
    border-collapse: collapse;
	background-color: #8C4A2F;
}

td, th {
    padding: 5px;
    border: 1px solid #3F2860;
}

tr:nth-of-type(even) {
    background-color: saddlebrown;
}

caption {
    margin: 1em;
    font-weight: bold;
    font-size: 120%;
}

/* ===========================
   FORM STYLES
   =========================== */
.contact-box {
    background-color: #FFF8CC; /* parchment tone */
    padding: 1.5em;
    border: 2px solid #592720; /* deep wood tone */
    border-radius: 8px;
    max-width: 300px;
    margin: 1.5em auto;
    text-align: center;
}

.contact-box p {
    text-align: center;
    margin: .5em 0;
}

.contact-box strong {
    font-size: 1.1em;
    font-weight: 900;
}

.contact-box a {
    color: #592720;
    font-weight: bold;
    text-decoration: none;
}

.contact-box a:hover {
    color: #AF6E4D;
}

.contact-note {
    text-align: center;
    font-size: 1.1em;
    margin-bottom: 1em;
}

form {
    display: flex;
    flex-direction: column;
    padding-left: 1em;
    width: 80%;
}

input, textarea {
    margin-bottom: .5em;
}

/* ===========================
   GALLERY STYLES
   =========================== */

#gallery {
    display: flex;
    flex-direction: row;
	flex-wrap: wrap;
    gap: 2em;
    align-items: flex-start;
    max-width: 100%;
    margin: 0 auto;
    padding: 1em;
}

/* Dual-column thumbnails */
#gallery ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1em;
}

/* Thumbnail images ONLY */
#gallery img.thumb {
    width: 150px;
    height: auto;
    border: 2px solid #7A4F2A; /* Chestnut border */
    cursor: pointer;
    background-color: #3A2F2A; /* Iron frame */
    padding: 4px;
}

/* Preview area */
figure {
    flex: 1;
    text-align: center;
    background-color: #3A2F2A; /* Iron */
    padding: 1em;
    border: 2px solid #7A4F2A; /* Chestnut */
}

/* Full-size preview image */
figure img {
    width: 100%;
    max-width: 1500px;
    height: auto;
    object-fit: contain;
    border: 2px solid #8C4A2F; /* Mahogany */
}

/* ===========================
   RESPONSIVE GALLERY
   =========================== */

/* ===========================
   ULTRA SMALL SCREEN (Recently added)
   =========================== */
@media (max-width: 380px) {
    #gallery ul {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    #gallery img.thumb {
        width: 120px; /* optional - smaller thumbnails */
    }

    figure {
        padding: .25em; /* optional - tighter spacing */
    }
}

/* ===========================
   VERY SMALL SCREENS
   =========================== */
@media (max-width: 450px) {
	#gallery ul {
		grid-template-columns: 1fr;
	}
}

/* ===========================
   SMALL SCREEN
   =========================== */

@media (min-width: 600px) {
    nav ul {
        flex-wrap: nowrap;
        justify-content: center;
    }
    nav li {
        width: auto;
    }
    section {
        padding-left: 2em;
        padding-right: 2em;
    }

    form {
        width: 60%;
        display: grid;
        grid-gap: 1em;
        grid-template-columns: 12em 1fr;
    }

    input[type="submit"] {
        grid-column: 2;
        width: 9em;
        background-color: #7A4F2A; /* Chestnut */
        color: #F4E6C2; /* Parchment */
        border: 1px solid #C97A40; /* Copper */
    }

    label {
        text-align: right;
    }
}

/* ===========================
   SMALL - MEDIUM SCREEN
   =========================== */
@media (max-width: 700px) {
	header {
		padding-top: 5.5em;
	}

	nav li::before {
		width: 30px;
		height: 30px;
		top: 15px;
	}
	
		nav {
		padding-top: .25em;
	}
	
    #gallery {
        flex-direction: column;
        align-items: center;
        justify-content: center;
		padding: 0.5em;
        width: 100%;
        box-sizing: border-box;
    }

    #gallery ul {
        grid-template-columns: repeat(2, 1fr);
        width: 100%;
        flex-basis: auto;
        flex-grow: 1;
        flex-shrink: 1;
        margin: 0 auto;
        justify-items: center;
		display: grid;
    }

    figure {
        flex: none;
        width: 100%;
        min-width: 0;
		max-width: 100%;
		box-sizing: border-box;
        padding: .5em;
		margin: 0 auto;
		order: -1;
    }

    figure img {
		width: 100%;
        max-width: 100%;
        height: auto;
		order: 0;
    }
}

/* ===========================
   MEDIUM - LARGE SCREEN
   =========================== */
@media (max-width: 900px) {
	header {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		text-align: center;
		padding: 2em 1em;
	}
	
	header::before {
		flex: 0 0 auto;
		width: 100%;
		height: 250px;
		background-size: contain;
		background-position: center;
		margin-bottom: 1em;
	}
	
	.header-text {
		max-width: 90%;
		margin-left: 0;
	}
}

/* ===========================
   LARGE SCREEN
   =========================== */

@media (min-width: 1024px) {
    header {
        font-size: 120%;
    }
    .home {
        height: 50vh;
        padding-top: 5em;
        padding-left: 8em;
    }
    .content {
        height: 30vh;
        padding-top: 1em;
        padding-left: 8em;
    }
    #wrapper {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
        max-width: 80%;
    }
}

/* ===========================
   FOOTER
   =========================== */

footer {
    font-size: 0.60em;
    font-style: italic;
    text-align: center;
	color: #F4E6C2; /* Parchment */
}
