html
{
    font-size: calc((5vh+5vw)/2); /* fallback, not successful on Firefox */
    font-size: 1.5vmax;
}

body
{
    font-family: Calibri, Helvetica, sans-serif;
    margin: 1.5cm;
    color: #223;
}

a, .email.js
{
    text-decoration: none;
    color: hsl(220, 100%, 20%);
}

a:hover, .email.js:hover
{
    text-decoration: underline dotted;
    text-shadow: 0.08em 0.08em hsl( 0, 0%, 0%, 0.1 );
    cursor: pointer;
}

dl
{
    display: flex;
    flex-wrap: wrap;  
}

dt, dd
{
    margin: 0;
}

dt
{
    flex: 0 0 10em;
}

dd
{
    flex: auto;
    white-space: pre;
}


dt::after
{
    content: ":";
}

dt.range > :first-child::after
{
    content: "–";
}

dd.email > :first-child::after
{
    content: "@";
}

dd.bar
{
    position: relative;
    line-height: 2.1em;
}

dd.bar > span
{
    display: inline-block;
    line-height: 1.3em;
    height: 1.3em;
    width: 100%;
    max-width: 15em;
    padding-left: 1em;
    border: 3px solid #E6F4F1;
    /*
    border: 1px solid hsl(220, 100%, 76%);;
    padding: 0.5em;
    color: white;
    text-shadow: 0.08em 0.08em hsl( 0, 0%, 0%, 0.3 );
    */

    clip-path: polygon(
    0 0,
    100% 0,
    100% calc( 100% - 0.2em ),
    calc( 100% - 0.2em ) 100%,
    0 100%
    );    
}
dd.bar > span::before
{
    padding-left: 1em;
    z-index: -1;
    content: " ";
    display: block;
    position: absolute;
    top: 0;
    left: 3px;
    height: 100%;
    background-color: hsl(220, 100%, 76%);
    background-color: #E6F4F1;
    margin-bottom: 1em;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

dd.bar > span.novice::before
{
    width: 20%;
    max-width: 3em;
}
dd.bar > span.beginner::before
{
    width: 40%;
    max-width: 6em;
}
dd.bar > span.competent::before
{
    width: 60%;
    max-width: 9em;
}
dd.bar > span.proficient::before
{
    width: 80%;
    max-width: 12em;
}
dd.bar > span.expert::before 
{
    width: 100%;
    max-width: 15em;
}

#personalia > div
{
    display: flex;
}

#personalia .about
{
    flex: 0 1 auto;
    padding-top: 1em;
    padding-right: 1em;
}

#personalia .data
{
    flex: 0 0 20em;
}

.data dt
{
    flex: 0 0 6em;
}


.me
{
    display: flex;
    flex-wrap: wrap;  
    align-items: top;
}

.me .title
{
    padding-right: 1em;
    flex: 1 0 auto;
}

.me .picture
{
    height: 30vmin;
    width: 30vmin;
    flex: 0 0 30vmin;
    border-radius: 1em;
    border: 0.2em solid hsl(220, 100%, 0%, 0.05);
    transform: rotateZ( 7deg );
    position: relative;
    overflow: hidden
}

.picture img
{
    height: 30vmin;
    width: 30vmin;
    transform: scale(1.1) rotateZ( -7deg );
}

header
{
    font-size: 200%;
}

section > header
{
    font-size: 120%;
    font-weight: bold;
    margin-top: 1em;
    background-color: hsl(220, 100%, 76%);
    padding: 0.5em;
    color: white;
    text-shadow: 0.08em 0.08em hsl( 0, 0%, 0%, 0.3 );
    text-overflow: ellipsis;
    overflow: hidden;
    
    clip-path: polygon(
    0 0,
    100% 0,
    100% calc( 100% - 0.2em ),
    calc( 100% - 0.2em ) 100%,
    0 100%
    );
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

#references
{
    padding-top: 1em;
}

footer > small
{
    font-size: 70%;
}

/* Narrow displays */
@media only screen and (max-width: 1023px) and (orientation:portrait)
{
    dt
    {
        font-weight: bold;
    }
    
    dt::after
    {
        content: "";
    }


    dt, dd
    {
        flex: 100%;
    }
}

@media only print
{
    @page 
    {
        size:  auto;        /* auto is the initial value */
        size: A4 portrait;  /* force regular paper */
        margin: 0mm;        /* this affects the margin in the printer settings */
    }

    html
    {
        font-size: calc((2vh+2vw)/2); /* fallback, not successful on Firefox */
        font-size: 1vmax;
        margin: 0px;  /* this affects the margin on the html before sending to printer */
    }

    .me .picture
    {
        flex: 0 0 4cm;
        height: 4cm;
        width: 4cm;
    }
    
    .me .picture img
    {
        height: 4cm;
        width: 4cm;
    }

    footer > small a:link:after, a:visited:after
    {
        content:" [" attr(href) "] "; 
    }
    
    .noprint
    {
        display: none;
    }

    .splitprint
    {
        width: 49%;
    }
    .splitprint.odd
    {
        float: left;
    }
    .splitprint.even
    {
        float: right;
    }
}
