span.corp_name {
    font-weight: bold;
    font-style: italic;
    /* color: hsl(275, 83%, 44%); */
}

html {
    font-family: Verdana, "Helvetica Neue", Helvetica, "Open Sans", Arial, sans-serif;
}

body {
    background-color: #f5f5f5;
    color: #222;
    margin: 2em 4em;
    padding: 1em 4em;
    line-height: 1.6em;
}

h1 {
    color: hsla(277,107%,20%,1);
    font-size: 2.3em;
    margin-top: 2em;
    margin-bottom: 1em;
}


ul#contact_list {
    list-style-type: none;
}

h1, h2, h3, h4, h5 {
    line-height: 1.2;
}

h1, h2 {
    text-align: center;
}

#key_skills {
    text-align: center;
}

#key_skills h3 {
    display: inline;
}

#key_skills p {
    display: inline;
}

#key_skills h3::after {
    content: ":";
}

.contact_list_title {
    font-weight: bold;
}


@media screen and (min-width: 350px){
    section#cv_overview p, .job_desc p, .job_company_desc p  {
        text-align: justify;
        text-align-last: left;
    }
}

h2 {
    margin-top: 1.75em;
}

.job_desc>ul>li>ul>li:first-child {
    margin-top: 0.5em;
}

ul ul ul ul li {
    margin:  0;
}

.job_desc ul li {
    margin: 1em 0;
}

.job_desc ul ul li {
    margin-top: 0.0em;
    margin-bottom: 0.1em;
}

.job_desc ul {
    margin: 0.5em 0;
}

.job_desc ul ul ul li {
    margin-top: 0;
}

.job_title_subtitle {
    display: inline;
    font-size: 0.75em;
}

.job_title {
    font-weight: bold;
    text-align: center;
    font-style: italic;
}

.job_title ul {
    padding:  0;
}


#job_title_table {
    border: none;
    border-collapse: collapse;
    min-width: 100%;
}

#job_title_table td {
    border: none;
}

.job_date {
    text-align: right;
    font-style: italic;
    color: hsla(230,50%,30%,1);
    font-weight: bold;
}

dt .job_company_title {
    text-align: left;
    font-size: 1.25em;
    font-weight:  bold;
    max-width: 75%;
    padding-right: 0.25em;
}

dd {
    margin-top: 1em;
    margin-left: 0;
}

.hide_for_outline {
    display: none;
}

ul ul {
    border-left: 2px rgba(0, 0, 0, 0.04) solid;
    margin-left: -0.50em;
}

ul ul ul {
    border-left-color: rgba(0,0,0,0.025);
}

.flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#career dt {
    border-top: thin black dashed;
    padding-top: 3em;
    margin-top: 2em;
}

#career dt:first-child {
    border-top: none;
    margin-top: initial;
    padding-top: 0;
}

#education_table td {
    padding: 0 1em;
    text-align: left;
}

table#education_table {
    width: 100%;
    border:  thin black solid;
    border-collapse: collapse;
}

td.edu_date {
    white-space: nowrap;
}

.edu_place {
    font-weight: bold;
    padding-right: 0.25em;
}

.clear {
    clear: both;
}

.edu_grade {
    margin-left: 4em;
}

#education dd {
    margin-top: 0.25em;
    margin-bottom: 2em;
}

#buzzword_bingo dt {
    font-weight: bold;
    display: block;
    margin: 1em;
}

#buzzword_bingo tr td:first-child {
    font-weight: bold;
    text-align: right;
    padding-right: 0.5em;
}

#buzzword_bingo table {
    border-collapse: collapse;
}

#buzzword_bingo td {
    border: thin #D0D0D0 dashed;
}

#buzzword_bingo h3 {
    text-align: center;
}

tr.smaller {
    font-size: smaller;
}

.todo, .TODO {
    background-color: yellow;
    white-space: pre-wrap;
    display: none;
}

.project_title {
    font-size: 1.2em;
    font-weight: bold;
    margin: 0.5em 0;
}



#personal dd {
    margin-left: 2em;
}

#personal dt {
    margin-top: 3em;
}

.todo::after, .TODO::after {content: "]";}

.todo::before, .TODO::before {content: "[TODO:";}


#job_title_subtitle_div {
    margin-top: 1em;
}

#job_title_subtitle_div > div + div {margin-left: 1em;}

ul#contact_list {
    padding-left: 0;
}

div#stackoverflow_container {
    margin: 0.25em 0 0 3em;
}

span.line_wrap {
    display: inline-block;
    margin-right: 0.5em;
}

a {
    overflow-wrap: break-word;
}

td {
    border: thin #D0D0D0 dashed;
    padding-left: 0.5em;
    vertical-align: top;
}

table {
    border-collapse: collapse;
}




p#area_statement {
    text-align: center;
    /*font-weight: bold;*/
    /*border-color: red;*/
    /*border-style: solid;*/
    /*border-width: thick;*/
}

p#CV_canon {
    font-size: smaller;
    text-align: center;
}

p#CV_doc_download {
    font-size: larger;
    text-align: center;
    margin-top: -0.5em;
}


nav ol {
    list-style: none;
    /* margin-left: -1em; */
    font-size: smaller;
    /* border-left: thin dashed #BF4F00; */
    /* padding-left: 1em; */
}

nav ol ol {
    border-left: thin dashed rgba(191, 79, 0, 0.27);
    padding-left: 2em;
}

#navdiv a {
    font-weight: bold;
    color: #BF4F00;
    text-decoration: none;
}
nav>div {
    /* margin-left: -2.5em; */
    /* width: 69%; */
    /* margin: auto; */
}

nav {
    /* display: initial; */
    /* width: auto; */
    display: inline-block;
}

.collapsed_by_default {
    display: none;
}

.expand_collapse_title, .more, .less{
    /* font-weight: normal; */
    /*color: hsl(211, 100%, 25%);*/
    color: hsl(114, 83%, 29%);
    cursor: pointer;
    text-decoration: none;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.expand_collapse_title:hover {
    text-decoration: underline;
}


.ex_c_flex_right {
    /* display: none; */
    font-size: small;
    white-space: nowrap;
    width: 6.5em;
    text-align: right;
}



.section_divider {
    border-bottom-color: black;
    border-bottom-style: solid;
    border-bottom-width: thin;
    margin-top: 2.625em;
    margin-bottom: 1.25em;
}


.section_divider h2 {
    margin: 0 auto;
    border: 0;
}

.flex h4 {
    margin-bottom: 0.5em;
    margin-top: 0.5em;
    /* font-size: larger; */
    /* text-decoration: underline; */
    margin-right: 0.25em;
    /* color: hsla(244,100%,25%,1); */
}

.flex .job_title {
    margin-left: auto;
    margin-right: auto;
}

.flex_left_empty {
    visibility: collapse;
    font-size: small;
    width: 6.5em;
    text-align: left;
    /* display: none; */
}

#navdiv {
    margin-left: -2.5em;
}




a.more, a.less {/* display: none; */font-size: small;/* white-space: nowrap; *//* width: 6.5em; *//* text-align: right; */margin-left: 1em;}

li.more_list {
    list-style: none;
}

div#job_title_subtitle_div {
    font-size: smaller;
}

.skill_use {
    font-size: smaller;
    vertical-align: super;
    color: #0000f0;
}

.skill_use::after {content: "]";}

.skill_use::before {content: "[";}

h4 {
    font-size: larger;
    color: hsla(288,100%,19%,1);
}

.collapsed_by_default:last-child {
    /* background-color: green; */
    /* display: block; */
}

.collapsed_by_default {
    /* background-color: red; */
    /* display: block; */
}


@media screen and (max-width: 599px) {
    html, body {
        /* background-color: #fff; */
    }
    .ex_c_flex_right {
        /* margin: 0; */
        /* display: block; */
        /* float: left; */
    }
}


@media screen and (min-width: 0px) and (max-width: 400px) {
    html, body {
        overflow-x: hidden;
    }
    body {
        margin: 0 0;
        padding: 1em 1em;
    }
    h1 {
        margin-top: 0;
        font-size: 2em;
    }
    #career dt {
        padding-top: 1em;
    }
    
    #career .job_desc ul, #career .job_desc ul ul {
        margin-left: -1.5em;
    }
    
    table {
        table-layout: fixed;
        width: 100%;
        overflow-wrap: break-word;
        font-size: smaller;
    }
}
@media screen and (min-width: 401px) and (max-width: 599px) {
    body {
        margin: 0 0;
        padding: 2em 1em;
    }
    h1 {
        margin-top: 0;
        font-size: 2em;
    }
    #career dt {
        padding-top: 2em;
    }
}
@media screen and (min-width: 600px) and (max-width: 899px) {
    body {
        margin: 0 0;
        padding: 2em 2em;
    }
    h1 {
        margin-top: 1em;
    }
}

@media screen and (min-width: 900px) {
    html {
        margin: 0 auto;
        max-width: 80em;
        background-color: hsla(244,100%,80%,1);
    }
    body {
        max-width: 60em;
    }

}

@media screen and (min-width: 721px)
{
    abbr {
        border-bottom: 0.1em dotted;
        cursor: help;
        text-decoration: none;
    }
}

@media screen {
    .print_only {
        display: none;
    }
}

@media print {

    html, body {
        overflow-x: hidden;
        /*line-height: 1.4em;*/
        font-size: 12px;
    }
    body {
        margin: 0 0;
        padding: 0 0;
    }
    h1 {
        margin-top: 0;
        font-size: 2em;
    }
    nav {
        display: none;
    }

    .print_only {
        display: block;
    }
    span.print_only {
        display: inline;
    }
    
    .collapsed_by_default {
        display: block;
    }
    li.collapsed_by_default {
        display: list-item;
    }
    .expand_collapse_title {
        visibility: hidden;
    }
    .more_list {
        display: none;
    }
    
    section#cv_overview p, .job_desc p, .job_company_desc p  {
        text-align: justify;
        text-align-last: left;
    }
    
    #stackoverflow_container {
        display: none;
    }
    
    section {
        page-break-before: always;
    }

    section#contact, section#cv_overview {
        page-break-before: auto;
    }
}


#CV_doc_download_header {
}

#archive {
    font-size: smaller;
}

#archive_header {
    /*margin-top: 5em;*/
}