/* grid layout */
.grid-container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 0.7fr;
    grid-template-rows: 0.8fr 1fr 8.5fr 1fr;
    grid-template-areas:
    "navbar navbar navbar navbar"
    "header header header header"
    "main main main sidebar"
    "footer footer footer footer";
}

/* general body styling */
body {
    background-color: cadetblue;
    font-family: "Century Gothic";
}

/* general container styling */
.grid-container div {
    border: 2px solid lightsteelblue;
    border-radius: 0.5em;
    color: white;
    padding: 0.5em;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
}

/* grid areas */
#navbar { 
    grid-area: navbar; 
}
#header {
    grid-area: header;
    background-color: #126180;
}
#main {
    grid-area: main;
    color: white;
    line-height: 1.6;
    display: block;
}
#sidebar {
    grid-area: sidebar;
    background-color: #126180;
}
#footer {
    grid-area: footer;
    background-color: #1c2841;
}

/* navbar styling */
.navbar-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    background-color: #1c2841;
    padding: 0.5em 1em;
    position: sticky;
    top: 0;
    z-index: 1000;
}

#logo img {
    width: 50px;
}

.navbar-items {
    margin: 0 1em;
}

.navbar-items:hover {
    background-color: #005599;
}

.site-title {
    font-size: 1.5em;
    color: white;
    margin: 0;
    text-align: center;
    flex-grow: 1;
}

/* main content styling */
#main h2 {
    color: midnightblue;
    margin-top: 1em;
    margin-bottom: 0.5em;
    text-align: center;
    font-size: 2em;
}

#main h3 {
    color: mintcream;
    font-size: 1.5em;
}

#main p {
    margin-bottom: 1em;
    font-size: 1.5em;
}

#main li{
    font-size: 1.5em;
}

#main blockquote {
    border-left: 4px solid #006994;
    padding-left: 1em;
    margin: 1em 0;
    color: #004466;
    font-style: italic;
    background-color: #b2ebf2;
    border-radius: 5px;
    font-size: 1.5em;
}

/* image styling */
@keyframes orca {
    from { filter: blur(10px); }
    to { filter: blur(0px); }
}

.orca {
    animation: orca 5s;
    width: 31%;
    margin: 0 10px;
}

/* sidebar styling */
#sidebar {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: center;
    line-height: 1.5;
}

#sidebar h3 {
    text-align: center;
    font-size: 2em;
}
#sidebar li {
    font-size: 1.5em;
}

#sidebar li:hover {
    text-decoration: underline;
}

/* link styling */
a:link, a:visited {
    color: white;
}