*{
    box-sizing: border-box;
}
/* Universal styling */
.removeBullet{
    list-style-type: none;
}
.titleFont{
    color:#FFC465;
    text-decoration: none;
    font-family: cursive;
}
.titleFont:link {
    color:#FFC465;
}
.titleFont:visited {
    color:#FFC465;
}
.titleFont:hover {
    color:#FFC465;
}
.titleFont:focus {
    color:#FFC465;
}
.titleFont:active {
    color:#FFC465;
}
.navLink{
    color:#FFC465;
    text-decoration: none;
    font-family: cursive;
}
.navLink:link{
    color:#FFC465;
}
.navLink:visited{
    color:#FFC465;
}
.navLink:hover{
    color: #D6D6D6;
}
.navLink:focus{
    color: #D6D6D6;
}
.navLink:active{
    color: #D6D6D6;
}
.linkColor:link{
    color:#91D8FE;
}
.linkColor:visited{
    color:#91D8FE;
}
.linkColor:hover{
    color:#F1F1F1;
}
.linkColor:focus{
    color:#F1F1F1;
}
.linkColor:active{
    color:#F1F1F1;
}
.centerText{
    text-align: center;
}
main ul{
    padding-left:4%;
}
body{
    background-image: linear-gradient(to bottom right, #001953, #3d619a);
}
header{
    display:flex;
    background-image:linear-gradient(to right,#001953, #DB9C36);
    font-size: 0.6em;
}
header h1{
    margin-top:30px;
}
header img{
    float:left;
}
nav{
    background-image:linear-gradient(#001953, #3d619a);
    margin-top:-20px;
}
nav ol{
    list-style-type: none;
    text-align: center;
    margin-left:-40px;
}
nav li{
    padding: 10px 0px;
    border-top: 1px #FFFFFF solid;
    border-bottom: 1px #FFFFFF solid;
    color:#FAFAFE;
}
h2{
    line-height: 1.3em;
    margin: 0px auto;;
}
footer{
    padding: 1em 0px;
    text-align: center;
    color:#91D8FE;
}
span h2{
    color:#03324C;
}
span a:link {
    color:#91D8FE;
}
span a:visited {
    color:#91D8FE;
}
span a:hover {
    color:#f1f1f1;
}
span a:focus {
    color:#f1f1f1;
}
span a:active {
    color:#f1f1f1;
}
span{
    display:block;
    text-align: center;
    line-height: 50%;
    margin: 1%;
}

/* home page styling */
.alignRight{
    text-align: right;
    margin-top: 1.5%;
    margin-bottom: 3%;
}
main, aside{
    padding: 3%;
    color:#03324C;
    font-weight: bold;
    font-size:1.4em;
    background-color:#ffffff58;
    margin: 20px auto;
    line-height:1.4em;
    font-family: sans-serif;
    width:97%;
}
main h2, aside h2{
    color:#DB9C36;
    text-align: center;
}
aside img{
    width: 100%;
    height: auto;
    margin:0px auto 20px;
    padding: 0px;
    text-align: center;
}

/* Listing Page classes */
#mainListing{
    text-align:center;
    line-height:1.8em;
}
.imageFlex{
    width: 60%;
    height:auto;
    padding:0px;
}

div a{
    color:#91D8FE;
    font-size: 1.4em;;
}
div a:link{
    color:#91D8FE;
}
div a:visited{
    color:#91D8FE;
}
div a:hover{
    color: #F1F1F1;
}
div a:focus{
    color: #F1F1F1;
}
div a:active{
    color: #F1F1F1;
}
table{
    margin:3% auto;
    text-align: left;
    width: 50%;
}
caption{
    font-size: 1.3em;
}
div:first-of-type{
    margin: 10px auto auto auto;
}
div a{
    margin: auto;
}
div p{
    text-align: center;
}
/* contact page styling */
.block{
    display:block;
}
#mainContact{
    padding:0px 3%;
    line-height: 1.6em;
}
fieldset{
    margin: 1% auto;
}
fieldset p{
    margin-bottom: 1%;
}
textarea{
    width: 80%;
}
input{
    margin:1% 0px;
}
/* sitemap styling */
#sitemap{
    padding:10%;
    line-height: 1em;
}
main li{
    padding:2%;
}

/* Tablet view*/
@media only screen and (min-width:680px){
body{
    display:grid;
    grid-template-areas: 
    "header header" 
    "nav nav" 
    "main aside" 
    "footer footer";
}
header{
    grid-area:header;
    font-size: 0.8em;
}
header h1{
    margin-top: 20px;
    margin-bottom: 5px;
}
nav{
    grid-area:nav;
    margin:0;
}
nav ol{
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
}
nav li{
    border: none;
    font-size: 1.2em;
}
main{
    grid-area:main;
    margin: 10px auto;
}
aside{
    display: flex;
    grid-area: aside;
    flex-flow: column wrap;
    justify-content: space-around;
    margin: 10px auto;
}
footer{
    grid-area:footer;
}
}
span a{
    line-height: 1.2em;
}
div{
    margin: 10% auto;
    display:grid;
    grid-template-areas: 
    "image"
    "subtitle"
    "description";
    padding: 1% auto;
}

/* Desktop view */
@media only screen and (min-width:1024px){
    .titleFont{
        padding-top: 10px;
    }
    main{
        max-height: fit-content;
    }
    header h1, header h2{
        display:inline-block;
        width:70%;
        margin: 0px;
    }
    header h1{
        margin-top: 20px;
    }
    body{
        grid-template-columns: 150px 2fr 1.5fr;
        grid-template-areas: 
        "header header header" 
        "nav main aside" 
        "nav footer footer";
        margin: auto;
    }
    header{
        grid-area: header;
        font-size:1.2em;
    }
    nav{
        grid-area: nav;
    }
    main{
        grid-area:main;
    }
    aside{
        grid-area:aside;
    }
    footer{
        grid-area:footer;
    }
    nav ol{
        display: block;
    }
    nav li{
        display:block;
        line-height: 200%;
        font-size: 1.6em;
    }
    div{
        margin: 10% auto;
        display:grid;
        grid-template-areas: 
        "image title"
        "image subtitle"
        "image description";
        grid-template-columns: 0.1fr 1.5fr;
        padding: 2% auto;
    }
    div a{
        grid-area:image;
        margin:0;
    }
    div p{
        text-align: left;
    }
    .profileTitle{
        grid-area:title;
        margin:5px;
        padding:0.5% 2%;
        font-size: 1.2em;
    }
    .profileSubtitle{
        grid-area:subtitle;
        margin:5px;
        padding:0.5% 2%;
        font-size: 1em;
    }
    .profileDescription{
        grid-area:description;
        margin:5px;
        padding:0.5% 2%;
        font-size: 0.8em;
    }
}

