body {
    margin: 0;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
}

span {
    color: gray;
}

ul {
    padding-left: 0px;
}​

.header {
    width: 100%;
}

.footer {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    background-color: darkblue;
    color: white;
    text-align: center;
}

.footer a{
    color: white;
}

#profileImage{
    height: 150px;
    width: 150px;
    border-radius: 50%;

    border-style: solid;
    border-color: white;
    border-width: 5px;

    float: left;
    margin-top: 5px;
    margin-left: 3%;
}

.blueHeaderContainer {
    overflow: auto;
    padding-top: 2%;
    padding-left: 1.5%;
    padding-right: 3%;
}

.whiteHeaderContainer {
    overflow: auto;
    padding-top: 0px;
    padding-left: 1.5%;
    padding-right: 3%;
}

.blueHeaderContainer ul{
    /* Keeps ul stuck to .headerContainers sides */
    margin: 0;
    padding: 0;
}

.bluePart {
    color: white;
    background-color: darkblue;
}

.nameAndProf{
    display: flex;
    align-items: center;
}

.name {
    white-space: nowrap;
    font-size: 32px;
}

.profession {
    display: inline-block;
    width: 100%;

    font-size: 20px;
    text-align: right;
    vertical-align: middle;
}

.headerLine {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    
    height: 4px;
    background-color: rgb(192, 192, 192);
}

.contacts {
    flex:auto
}

.contacts li {
    display: inline;
    white-space: nowrap;

    padding-right: 4px;
}

.contacts i {
    padding: 3px;
}

.contacts a{
    color: white;
}

.summary {
    height: 100px;
}

.whoAmI {
    color: orange;
    font-size: 20px;
    font-weight: bold;
}

#mainBody {
    width: 100%;
    display: flex;
    flex-flow: row wrap;
}

.bodyColumn{
    margin-left: 3%;
    margin-right: 3%;
    width: 44%;
}


.bodySection {
    padding-bottom: 30px;
}

.sectionHeader {
    display: flex;
    align-items: center;

    width: 100%;
}

.sectionHeader > .sectionName {
    font-size: 20px;
    font-weight: bold;
    color: darkblue;
    white-space: nowrap;

    width: auto;
}

.sectionHeader > .headerLine {
    flex-grow: 1;
    
    background-color: orange;
    margin-left: 15px;
}

.sectionHeader2 {
    font-size: 18px;
    color: darkblue;
}

.sectionHeader2B {
    font-size: 18px;
    font-weight: bold;
    color: darkblue;
}

.sectionHeader3 {
    font-size: 16px;
    color: darkblue;
}

.sectionHeader3B {
    font-size: 16px;
    font-weight: bold;
    color: darkblue;
}

.orange{
    color: orange;
}

.twoColumns {
    width: 100%;
}

.twoColumns td {
    width: 50%;
}

.twoColumns td:last-child{
    border-bottom: 2px solid grey;
}

.twoColumns tr:last-child td:last-child{ /* Last cell */
    border-bottom: none;
}

.nameAndRating {
    padding: 0;
    margin: 0;

    list-style-type: none;
}

.rating {
    letter-spacing: 2px;
}

.blueDot span {
    color: midnightblue;
}

.orangeDot span {
    color: orangered;
}

.oppositesContainer{
    display: flex;
    align-items: center;
    width: 100%;

    padding-top: 4px;
    padding-bottom: 4px;
}

.leftFiller {
    flex: 1 0 40%;
}

.rightFiller {
    width: 100%;
    text-align: right;
    vertical-align: middle;
}