@font-face {
  font-family: 'Montserrat';
  font-weight: normal;
  src: local('Montserrat'), url(Monserrat.ttf) format('truetype');
}

@font-face {
  font-family: 'Montserrat';
  font-weight: bold;
  src: local('Montserrat-Bold'), url(Monserrat-Bold.ttf) format('truetype');
}

html {
    height: 100%;
}

body {
    font-family: Montserrat, sans-serif;
    font-weight: normal;
    font-size: 20px;

    box-sizing: border-box;
    margin: 0;
    border: 20px solid #fff11e;
/*    outline: 20px solid #000;
    background-color: #00ffff;
    margin: 40px;
*/
    display: flex;
    flex-flow: column;
}

section {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: space-around;

    padding: 5em 0;
}

.links {
    flex-flow: row wrap;
}

h1 {
    font-size: 60px;
    margin: 20px 0;
    text-transform: lowercase;
}

.big {
    font-size: 1.3em;
}

section .item {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
}

section.big {
    height: 90vh;
    padding: 0;
    border-top: solid 20px #fff11e;
    border-bottom: solid 20px #fff11e;
}

section.big:first-child {
    border-top: 0;
}

section.big:last-child {
    border-bottom: 0;
}

.item .left  {
    flex-flow: row wrap;
    justify-content: flex-end;

    margin-left: 2em;
}

.item .right {
    flex-flow: row wrap;
    justify-content: flex-start;

    text-align: center;
    margin-right: 4em;
    margin-left: 4em;
}


.even {
    background-color: #ff00a9;
    color: #000;
}

.odd {
    background-color: #00ffff;
    color: #000;
}

.item {
    padding: 1em;
}

.even .item {
    border: solid 10px #00ffff;
    background-color: #ffc2ea;
}

.odd .item {
    border: solid 10px #ff00a9;
    background-color: #fff11e;
    color: #000;
}

img.icon {
    border: 0;
    width: 1.4em;
    height: 1.4em;
    margin: 0 0.3em;
}

div.left > .icon {
    border: 0;
    width: 4em;
    height: 4em;
    margin: 0;
}

div#footer {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: flex-start;

    margin-top: 0;
    margin-bottom: 0;
    border-top: solid 20px #fff11e;
    padding: 0 1em;
}

#not-smimram {
    font-size: .8em;
    font-style: italic;
}

#not-smimram a {
    text-decoration: none;
}

a {
    text-decoration: none;
}

a:focus {
    outline: 0;
}

.even a {
    color: #007777;
}

.odd a {
    color: #cc0066;
}

.odd a {
    color: #000;
    text-decoration: underline double #ff00a9;
}

.even a {
    color: #000;
    text-decoration: underline double #00ffff;
}

#salade {
    margin-left: auto;
}

section.stuff {
    display: flex;
    flex-flow: row wrap;
    align-items: stretch;
    justify-content: flex-start;

    padding: 0;
}

section.stuff p,ul,dl {
    max-width: 80ex;
}

section.stuff > .sectionheading {
    flex: 1;
    border-top: 0;
    border-left: 0;
    border-right: 0;
    background-color: #ffffaa;
    color: #000;

    margin: 0;
    padding: 2em 4em 0 0;

    text-align: right;
}

section.stuff.odd {
    border-top: solid 20px #fff11e;
}

section.stuff.even {
    border-top: solid 20px #fff11e;
}

section.stuff .sectioncontent {
    flex: 2;
    padding: 2em;
    margin: 0;
    border-top: 0;
    border-left: 0;
    border-right: 0;
}

section.stuff.odd .sectioncontent {
    background-color: #aaffff;
    border-left: solid 20px #ff00a9;
}

section.stuff.even .sectioncontent {
    background-color: #ffc2ea;
    border-left: solid 20px #00ffff;
}

section.big + section.stuff {
    border-top: 0;
}


.bibtable a {
    font-weight: 500;
    color: #000;
}

.bibentry a {
    font-weight: 500;
    color: #000;
}

h3 {
    background-color: #fff11e;
}

dt.label-bibentry {
}

.label-bibentry:before { content: "["; }
.label-bibentry:after  { content: "]"; }

span.downloads {
    font-size: .8em;
}

.bibentry .title {
    font-size: 1.1em;
    border: solid 5px #00ffff;
    padding: .5ex;
    line-height: 2em;
}

.bibentry .title a {
    text-decoration: none;
}

.bibentry {
    margin: 1ex;
}

dd.bibentry + dt.label-bibentry {
    margin-top: 2em;
}

.figure {
    position: relative;
    max-width: 100%;
}
.figure img.image-hover {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    object-fit: contain;
    opacity: 0;
    background-color: #ffc2ea;
    height: 100%;
    transition: opacity .2s;
}
.figure:hover img.image-hover {
    opacity: 1;
}
