/*
Author: Student Name
Date: Current Date
File Name: styles.css
*/

/* CSS Reset */
body, header, nav, main, footer, img, ul, section, aside, figure, figcaption, img {
	margin: 0;
	padding: 0;
	border: 0;
}

/* Style rule for images */
img {
    max-width: 100%;
    display: block;
}

/* Style rule for box sizing applies to main elements */
body, header, nav, main, footer, section, aside, figure, figcaption, img, h1, h2, h3, h4, h5, h6, p, ul, li, a {
    box-sizing: border-box;
}

/* style rules for mobile viewport */
aside {
    text-align: center;
    font-size: 1.5em;
    font-weight: bold;
    color: #373684;
    text-shadow: 3px 3px 10px #8280cb;
}
/* Style rule for figure in mobile viewport */
figure {
    position: relative;
    max-width: 275px;
    margin: 2% auto;
    border: 8px solid #373684;
}
/* Style rule for figcaption in mobile viewport */
figcaption {
    position: absolute;
    bottom: 0;
    background: #373684;
    background: rgba(55, 54, 132, 0.7);
    color: #fff;
    width: 100%;
    padding: 5% 0;
    text-align: center;
    font-family: Verdana, Arial, sans-serif;
    font-size: 1.5em;
    font-weight: bold;
}

/*hide tab-desk class */
.tab-desk {
	display:none;
}

/* Style rules for header content */
header {
	text-align: center;
	font-size: 1.5em;
	color: #373684;
}

.brand {
	font-family: 'DM Serif Display', serif;
}

/* Style rules for navigation area */
nav {
	background-color: #373684;
}
nav ul {
	list-style-type: none;
	text-align: center;
}
nav li {
	display: block;
	font-size: 2em;
	border-top:1px solid #e5e9fc;
}
nav li a {
	display: block;
	color: #fff;
	text-align: center;
	padding: 0.5em 1em;
	text-decoration: none;
}

/* Style rules for main content */
main {
	padding: 2%;
	background-color: #e5e9fc;
	overflow: auto;
	font-family: 'Roboto', sans-serif;
}
main p {
	font-size: 1.25em;
}
.action {
	font-size: 1.25em;
	color: #373684;
	font-weight: bold;
}
#piano, #guitar, #violin {
	margin: 0 2%;
}

#info {
	clear: left;
	background-color: #c0caf7;
	padding: 1% 2%;
}

#info ul {
	margin-left: 10%;
}
.round {
	border-radius: 8px;
}

#contact {
	text-align: center;
}

.tel-link {
	background-color: #373684;
	padding: 2%;
	margin: 0 auto;
	width: 80%;
	text-align: center;
	border-radius: 5px;
}

.tel-link a {
	color: #fff;
	text-decoration: none;
	font-size: 1.5em;
	display: block;
}


#contact .email-link {
	color: #4645a8;
	text-decoration: none;
	font-weight: bold;
}

.map {
	border: 5px solid #373684;
	width: 95%;
	height: 50%;
}

/* Style rules for footer content */
footer {
	text-align: center;
	font-size: 0.65em;
	clear: left;
}

footer a {
	color: #4645a8;
	text-decoration: none;
}
/* Media Query for Tablet Viewport */
@media screen and (min-width: 550px), print {
    /* Tablet Viewport: Show tab-desk class, hide mobile class */
    .tab-desk {
        display: block;
    }
.mobile {
    display: none;
}
/* Tablet header */
span.tab-desk {
    display: inline;

/* Tablet nav */
}
nav li {
    border-top: none;
    display: inline-block;
    font-size: 1.5em;
    border-right: 1px solid #e5e9fc;
}
nav li: last-child {
    border-right: none;
}
nav li a {
    padding: 0.25em 0.5em;
}
/* Tablet map */
.map { width: 500px; height: 450px; }
/* Grid layout for tablet viewport */
.grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* corrected spelling */
    gap: 20px; /* modern browser */
}
/* Make aside span two columns in the grid */
aside {
    grid-column: 1 / span 2;
 }

/* Media Quert for Desktop Viewport */
}
@media screen and (min-width: 769px), print {
    /* desktop rules here */
    header {
    padding: 2%;
}
/* Desktop Viewport: Style rules for nav area */
nav li a {
    padding: 0.5em 1.5em;
}
nav li a:hover {
    color: #373684;
    background-color: #e5e9fc;
}
/* Desktop: Adjust figcaption font size */
figcaption {
    font-size: 1em;
}
/* Grid layout for desktop viewport */
.grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
/* Media Query for print */
} @media print {
    /* Add print-specific styles here if needed */
    body {
        background-color: #fff;
        color: #000;
    }
}
/* Desktop Viewport: Style rules for nav area */
nav li a: {
            padding: 0.5em 1.5em;
}

nav li a: hover {
    color: #373684;
    background-color: #e5e9fc;
}
/* Tablet Viewport: Show tab-desk class, hide mobile class */
.tab-desk {
    display: none;
}
/* Tablet Viewport: Style rule for header content */
span.tab-desk {
    display: inline;
}
/* Tablet Viewport: Style rules for nav area */
nav li {
    border-top: none;
    display: inline-block;
    font-size: 1.5em;
    border-right: 1px solid #e5e9fc;
}    
nav li: last-child {
    border-right: none;
}
nav li a {
    padding: 0.25em 0.5em;
}
/* Tablet Viewport: Style rule for map */
.map {
    width: 500px;
    height: 450px;
}

