:root {
    --TextTitleColor: rgb(52, 51, 110);
    --TextLinkColor: rgb(80, 79, 168);
    --TextLinkAltColor: rgb(115, 113, 238);
    --ImageBorderColor: #555;
    --FooterBackgroundColor: rgb(37, 36, 78);
    --FooterContentColor: #fff;
    --FooterHoverColor: #999;
}
body { 
    background: url('../img/background.png');
    font-family: Calibri, Candara, Segoe, "Segoe UI", Optima, Arial, sans-serif;
    margin: 0px;
}

/* #################### HEADER #################### */
#header {
    width:1200px;
    height:300px;
    position: relative;
    margin-left: auto;
    margin-right: auto;
}

/* #################### NAV BAR #################### */
#nav {
    min-width: 1200px;
    height: 70px;
    margin-left: auto;
    margin-right: auto;
    background: white;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
}
#nav img {
    width: 30px;
    height: 70px;
    position: relative;
}
#nav a {
    font-size: 28px;
    font-weight: bold;
    text-decoration: none;
    padding: 0px 30px 0px 5px;
}
#nav a:not(.navSelected) {
    color: var(--TextTitleColor);
}
#nav a:hover:not(.navSelected) {
    color: var(--TextTitleColor);
    text-decoration: underline;
}
#nav a.navSelected {
    color: var(--TextTitleColor);
    text-decoration: underline;
}

/* #################### MAIN CONTENT #################### */
#content {
    padding: 20px 20px;
    width: 1160px;
    margin-left: auto;
    margin-right: auto;
}
#content h1 {
    font-size: 40px;
    color: var(--TextTitleColor);
    margin: 0px;
    padding: 10px 0px 10px 0px;
}
#content h2 {
    font-size: 32px;
    line-height: 36px;
    color: var(--TextTitleColor);
    margin: 0px;
    padding: 10px 0px 10px 0px;
}
#content h3 {
    font-size: 24px;
    line-height: 28px;
    color: var(--TextTitleColor);
    margin: 0px;
    padding: 0px 0px 0px 0px;
}
#content p, li {
    font-size: 20px;
    line-height: 26px;
    margin: 0px 0px 10px 0px;
    padding: 0px;
}
#content a, #content a:visited {
    color: var(--TextLinkColor);
    text-decoration: none;
}
#content a:hover {
    color: var(--TextLinkAltColor);
}

/* #################### FOOTER #################### */
#footer {
    width: 1200px;
    background: var(--FooterBackgroundColor);
    box-shadow: 0 -8px 10px 0 rgba(0, 0, 0, 0.4);
}
#footer h1 {
    margin: 0px;
    padding: 15px 0px 0px 0px;
    font-size: 24px;
    color: var(--FooterContentColor);
}
#footer h1:hover {
    color: var(--FooterHoverColor);
}
#footer p {
    margin: 0px;
    padding: 10px 0px;
    font-size: 18px;
    color: var(--FooterContentColor);
}

/* #################### IMAGES #################### */
figure {
    text-align: center;
}
#figimg {
    max-width: 100%;
    max-height: 600px;
    border: 1px solid var(--ImageBorderColor);
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.5), 3px 6px 20px 0 rgba(0, 0, 0, 0.5);
}
figcaption {
    font-size: 20px;
    font-style: italic;
    text-align: center;
    margin: 15px 00px;
}
#profileImage {
    position: relative;
    width: 350px;
    float: right;
    margin: 10px 20px;
    border: 1px solid var(--ImageBorderColor);
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.5), 3px 6px 20px 0 rgba(0, 0, 0, 0.5);
}
#externalLink img {
    /* display:block; */
    height: 40px;
    max-width: 250px;
    margin: 10px 10px;
}
.missionLogoImage {
    position: relative;
    width: 130px;
    float: left;
    margin: 0px 20px;
}

/* #################### RESUME EXPAND #################### */
.moreInfoTitle {
    display: block;
    padding: 0px 0px 0px 30px;
    margin: 0px;
    border: 0px;
    cursor: pointer;
}
.moreInfoTitle:before {
    position: absolute;
    content: '+';
    color: var(--TextTitleColor);
    font-size: 30px;
    font-weight: bold;
    transform: translateX(-30px) translateY(8px);
}
.moreInfoTitle.active:before {
    content: '–';
}
.moreInfoContent {
    display: none;
    padding: 10px 10px 5px 10px;
    margin: 0px 30px 10px 30px;
}

/* #################### EMBEDDED MAP #################### */
#map {
    margin: 0px 0px 40px 0px;
    width: 1000px;
    height: 600px;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid var(--ImageBorderColor);
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.4);
}
