body {
    font-family: Helvetica;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0;
    background-color: rgb(250, 255, 255);
    min-height: 100vh;
}

h1, h2 {
    font-family: 'Times New Roman', Times, serif;
    margin: 10px;
    max-width: none;
    text-align: center;
}

p, label {
    font-family: "Trebuchet MS", sans-serif;
}

a {
    font-family: "Trebuchet MS", sans-serif;
    transition: background-color 0.5s;
}

a:hover {
    background-color: rgba(255, 255, 255, 0.5);
}

button {
    border-style: groove;
    font-family: "Trebuchet MS", sans-serif;
    background-color: rgba(131, 150, 255, 0.25);
    transition: background-color 0.5s;
    padding: 10px;
    margin: 5px;
}

button:hover {
    background-color: rgba(255, 255, 255, 0.5);
}

caption {
    font-size: 12px;
}

iframe {
    height: 360px;
    width: 640px;
}

.topCont {
    top: 0;
    position: sticky;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    border: 1px;
    border-style: solid;
    border-color: black;
    background-image: url("img/bg1.png");
    background-size: 100% 200px;
    max-height: 200px;
    opacity: 0.9;
}

#darkMode {
    height: 15px;
    width: auto;
    transition: background-color 0.5s;
}

#darkMode:hover {
    background-color: rgba(255, 255, 255, 0.5);
}

.mainCont {
    flex-grow: 1;
}

.bordered {
    border: 1px solid;
    padding: 10px;
    background-color: rgba(131, 150, 255, 0.25);
    margin: 10px;
}

.rounded {
    border: 1px solid;
    margin: 10px;
    padding: 10px;
    border-radius: 5px;
    background-color: rgba(131, 150, 255, 0.25);
    max-width: 75%;
}

.center-column {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.center-row {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
}

.top-row {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: top;
}

.title {
    margin: 10px;
}

.linkBox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 10px;
}

.drop {
    display: inline-block;
    width: fit-content;
    height: fit-content;
    position: relative;
}

.dropCont {
    display: flex;
    top: 30px;
    left: 10px;
    background-color: aliceblue;
    border: 1px solid black;
    position: absolute;
    flex-direction: column;
    z-index: 2;
    display: none;
}

.drop:hover .dropCont, .dropCont:hover {
    display: flex;
}


.footer {
    display: flex;
    align-items: center;
    font-size: 12px;
    justify-content: space-between;
    background-color: gainsboro;
    padding: 5px 5px;
    border-top: 1px solid;
}

.topLink {
    white-space: nowrap;
    margin: 10px;
}

#portrait {
    margin: 10px;
    z-index: -1;
    border-radius: 100px;
}

.date {
    text-align: center;
    font-style: italic;
}

.note {
    font-size: 12px;
    margin: 5px;
}

.sectPic {
    margin: 10px;
}

.caption {
    font-size: 12px;
}

.hoverable {
    text-decoration: underline dotted;
}


.hoverable:hover {
    background-color: rgba(255, 255, 255, 0.5);
    transition: background-color 0.5s;
}

/* Geocalculator stylings below here */

#magS {
    width: 100%;
}

#magN {
    width: 100px;
    height: 30px;
}

.stressTensorLine {
    width: 80%;
    margin: 3px 0px;
    text-align: justify;
    text-justify: inter-word;
}

/* Poster stylings below here */

#posterFrame {
    height: 600px;
    width: 95%;
}

.blink {
    animation: blink 2s linear infinite;
}

@keyframes blink {
        0% { background-color: rgba(131, 150, 255, 0.25); } 
        50% { background-color: rgba(136, 255, 167, 0.25); } 
        100% { background-color: rgba(131, 150, 255, 0.25); }
    }