 /* 
Author: Shannon Mahan 
Date: 3-10-2025
File Name: styles.css 
*/

/*CSS Reset */
html, body, header, nav, main, footer, div, img, ul, li, article, section, figure, figcaption {
    margin: 0;
    padding: 0;
    border: 0;
}

html {
    height: 100%;
}

body {
    background-image: radial-gradient(white 5%, lightblue 15%, white 60%);
	background-attachment: fixed;
	background-position: fixed;
	height: 100%;
    font-family: Arial, sans-serif;
}

header {
  background-color: rgba(0,0,0,0);
  padding: 1rem;
  border-bottom: 1px solid #ddd;
  text-align: center;
}

h1{ 
text-align: center;
}
nav ul {
  list-style: none;
  padding: 0;
  display: flex;
  justify-content: center;
  gap: 1em;
  margin: 0;
  border-radius: 5px;
  border: 1px solid black;
}

nav a {
  text-decoration: none;
  color: black;
  padding: 0.5rem 1rem;
  border-radius: 0.25rem;
}

nav a:hover {
  font-weight: bolder;
  text-decoration: underline;
  color: lightblue;
}

/* Style rules for images */
img {
    max-width: 100%;
    width: auto;
}

iframe {
    max-width: 100%;
}

#centerpic {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

main {
  padding: 1rem;
}

article {
    column-count: 3;
    padding: 1rem;
    background-color: rgba(0,0,0,0);
    border: 1px solid #ddd;
    border-radius: 0.5rem;
}

.grid {
    display: grid;
    grid-template-columns: auto auto auto;
}

.grid-container {
    display: grid;
    grid-template-columns: 600px 600px 300px; /* Fixed width columns */
    gap: 15px;
    justify-content: center; /* Center the grid */
    margin-bottom: 100px;
}

.grid-item {
    width: 200px;
    height: 200px;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

/* Style rules for footer content */
footer p {
    font-size: 0.75em;
    text-align: center;
    color: black;
    padding: 0 1em;
    font-weight: bolder;
}

/*Style rules for footer anchor content */
footer a{
    color: black;
    text-decoration: underline;
}

footer span{
    font-size: 1.5em;
}

.map {
    display: block;
    border: 2px solid #000;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 25px;
}

.container {
    display: grid;
    grid-template-columns: auto auto;
    margin-bottom: 25px;
}

.frame {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
figcaption {
    text-align: center;
}

.grid-item img:hover {
    transform: scale(1.05);
}

@media only screen and (max-width: 600px) {
    /*Default display if no other viewports are eligible. */
    .tablet-desktop {
        display:none;
    }

    .mobile {
        display: block;
    }
    
    header {
        display:block;
        font-size: 70%;
        margin-left: auto;
        margin-right: auto;
    }
    
	article {
	    column-count: 1;
	    column-rule: 1px solid black;
	}

    .container {
        display: block;
        grid-template-columns: auto;
    }
    
     .grid-container {
        grid-template-columns: 200px; /* 1 column */
     }    
}

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

	.mobile {
		display: none;
	}
	
	header {
        font-size: 85%;
    }
    
    .grid-container {
        grid-template-columns: 200px 200px;
     }    
}

/* Media Query for Desktop Viewport */
@media only screen and (min-width: 1024px){
	/* Desktop Viewport: Show tablet-desktop class, hide mobile class */
	.tablet-desktop {
		display: block;
	}
	
	.mobile {
		display: none;
	}
	
	header {
        font-size: 85%;
    }
    
	/*Change article column size when on normal desktop */
	article {
	    column-count: 3;
	    column-rule: 1px solid black;
	}
    
    .grid-container {
        grid-template-columns: 300px 300px 200px;
    }
}