/* 
  Author: Myla Havryliuk
  Date: 09/25/2024
  File Name: styles.css
*/


/* CSS Reset */
body,
header,
nav,
main,
footer,
img,
h1,
h3 {
	margin: 0;
	padding: 0;
	border: 0;
}

ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Style rules for body and images */
body {
     background-color: #f6eee4;
}

img {
	max-width: 100%;
	display: block;
}

/* Style rules for mobile viewport */


/* Style rules to show mobile class and hide tab-desk class */
.mobile,
.mobile-tablet {
    display: block;
}

.tab-desk,
.desktop {
    display: none;
}

/* Style rules for header area */
.mobile h1,
.mobile h3 {
    padding: 2%;
    text-align: center;
}

.mobile h1 {
    font-family: 'Emblema One', cursive;
}

.mobile h3 {
    font-family: 'Lora', serif;
}

main {
    font-family: 'Lora', serif;
}

/* Style rules for navigation area */
nav {
	background-color: #2a1f14;
}

nav ul {
	list-style-type: none;
	text-align: center;
}

nav li {
    display: inline-block; 
    font-size: 1.5em;
    font-family: Geneva, Arial, sans-serif;
    font-weight: bold;
    border-top: 0.5px solid #f6eee4; 
}

nav li a {
	display: inline-block;
	color: #f6eee4;
	padding: 0.5em 2em;
	text-decoration: none;
}
nav li a:hover {
    background-color: #f6eee4;
    color: #2a1f14;
}

/* Existing .action style rule */
.action {
    font-size: 1.75em;
    font-weight: bold;
    text-align: center;
}

/* New style rules for aside, figure, and figcaption elements */
aside {
    text-align: center;
    font-size: 1.5em;
    font-weight: bold;
}

figure {
    border: 4px solid #2a1f14; 
    max-width: 400px; 
    margin: 2% auto; 
}

figcaption {
    padding: 2%; 
    border-top: 4px solid #2a1f14; 
}
figure img {
    width: 100%; 
    height: 200px; 
    object-fit: cover;
 }

/* Style rules for main content */
main {
    padding: 2%;
}

main p {
    font-size: 1.25em;
}

main h3 {
    padding-top: 2%;
}

main ul {
    list-style-type: square;
}

main p, main h2 {
    font-size: 1.25em;
    text-align: center;
}

.link {
    color: #4d3319;
    text-decoration: none;
    font-weight: bold;
    font-style: italic;
}

/* Contact Centered */
#contact,
#form h2 {
    text-align: center;
    padding: 2% 0;
}

#contact footer {
    font-size: 0.85em;
    background-color: #2a1f14;
    color: #f6eee4;
    padding: 1% 0;
    margin-top: 2%; 
}

#contact footer a {
    color: #f3e6d8;
    text-decoration: none;
}

/* New Style Rule for Tel-link Class */
.tel-link {
    background-color: #2a1f14;
    color: #f6eee4;
    padding: 10px 20px;
    border-radius: 15px;
    width: 80%;
    margin: 0 auto; 
    text-align: center;
    text-decoration: none;
    font-weight: bold;
}

/* Style Rule for Anchor within Tel-link Class */
.tel-link a {
    color: inherit; 
    text-decoration: none; 
}

 /* Style rules for form elements */
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;
}

/* Style rules for footer content */
footer {
	text-align: center;
	font-size: 0.85em;
	background-color: #2a1f14;
	color: #f6eee4;
	padding: 1% 0;
}

footer a {
	color: #f3e6d8;
	text-decoration: none;
}

/* Media Query for Tablet Viewport */
@media screen and (min-width: 620px) and (print) {
    /* Tablet Viewport: Show tab-desk class, hide mobile class */
    .tab-desk {
        display: block;
    }

    .mobile,
    .mobile-tablet {
        display: none;
    }

    /* Tablet Viewport: Style rules for nav area */
    nav li {
        border-top: none;
        display: inline-block;
        font-size: 1.25em;
    }

    nav li a {
        padding: 0.5em;
    }

    /* New style rule for grid class */
    .grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr); 
        grid-gap: 10px; 
    }

    /* New style rule for aside in grid */
    aside {
        grid-column: 1 / span 2; 
    }

    /* Tablet Viewport: Style rule for form element */
    form {
        width: 70%;
        margin: 0 auto;
    }
}

/* Media Query for Desktop Viewport */
@media screen and (min-width: 1000px) and (print) {
    /* Desktop Viewport: Show desktop class, hide mobile-tablet class */
    .desktop {
        display: block;
    }

    .mobile,
    .mobile-tablet {
        display: none;
    }

    /* Desktop Viewport: Style rules for nav area */
    nav li {
        font-size: 1.5em;
    }

    nav li a {
        padding: 0.5em 1.5em; /* Top/Bottom: 0.5em, Left/Right: 1.5em */
    }

    nav li a:hover {
        color: #2a1f14;
        background-color: #f6eee4;
        opacity: 0.5; /* Sets opacity on hover */
    }

    /* Desktop Viewport: Style rules for main content */
    #info ul {
        margin-left: 5%;
    }

    /* New style rule for grid class in desktop */
    .grid {
        grid-template-columns: repeat(3, 1fr); 
        grid-gap: 30px; 
    }

    /* New style rule for aside in desktop */
    aside {
        grid-column: 1 / span 3; 
        font-size: 2em; 
    }
    /* Style rules for table */
    table {
        border: 1px solid #2a1f14; /* Border specification */
        border-collapse: collapse; /* Collapse border */
        margin: 0 auto; /* Center table */
        margin-top: 0; /* Zero top margin */
        margin-bottom: 0; /* Zero bottom margin */
    }

    caption {
        font-size: 1.5em; /* Font size for caption */
        font-weight: bold; /* Bold caption */
        padding: 1%; /* Padding for caption */
    }

    th, td {
        border: 1px solid #2a1f14; /* Border specification for th and td */
        padding: 1%; /* Padding for th and td */
    }

    th {
        background-color: #2a1f14; /* Background color for th */
        color: #fff; /* Text color for th */
        font-size: 1.15em; /* Font size for th */
    }

    tr {
        background-color: #deccba; /* Background color for odd rows */
    }
    
    /* Desktop Viewport: Style rules for form elements */
    form {
        width: auto; /* Set form width to auto */
    }

    .form-grid {
        display: grid; /* Set display to grid */
        grid-template-columns: auto auto; /* Two columns */
        grid-gap: 20px; /* Gap between grid items */
    }

    .btn {
        grid-column: 1 / span 2; /* Span both columns */
    }
}

/* Media Query for Large Desktop Viewports */
@media screen and (min-width: 1921px) {
    /* Style rule for body element */
    body {
        background: linear-gradient(to bottom, #f6eee4);
    }

    /* Style rule for #wrapper */
    #wrapper {
        width: 1920px; 
        margin: 0 auto; 
    }

    /* Style rule for main */
    main {
        background-color: #f6eee4; 
    }

    /* New style rule for grid class in large desktop */
    .grid {
        grid-template-columns: repeat(4, 1fr); 
    }

    /* New style rule for aside in large desktop */
    aside {
        grid-column: 1 / span 4; 
        font-size: 3em; 
    }
}

/* Media Query for Print */
@media print {
    /* Style rules for print layout can go here */
    body {
        color: black; 
    }

    #wrapper {
        width: 100%; 
        margin: 0; 
    }

    nav, footer {
        display: none; 
    }
}
