/* SASS
-------------------------------------------------- */
/* Mixins */
/* Reset
-------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* Basic
-------------------------------------------------- */
html {
  height: 100%; }
  html {
    font-size: 16px; }
    @media screen and (min-width: 320px) {
      html {
        font-size: calc(16px + 4 * ((100vw - 320px) / 880)); } }
    @media screen and (min-width: 1200px) {
      html {
        font-size: 20px; } }

body {
  color: #66534c;
  background-color: #fff;
  font-family: Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.4em; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

/* Typo
-------------------------------------------------- */
h1, h2, p, ul, li, address {
  margin: 0;
  padding: 0 0 1em 0;
  font-style: normal;
  line-height: 1.6em; }

h1, h2, h3, h4 {
  color: #61534c;
  clear: both; }

h1 {
  font-size: 1.728rem; }
  h1 {
    font-size: 23.04px; }
    @media screen and (min-width: 320px) {
      h1 {
        font-size: calc(23.04px + 12.96 * ((100vw - 320px) / 880)); } }
    @media screen and (min-width: 1200px) {
      h1 {
        font-size: 36px; } }

h2 {
  font-size: 1.2rem; }
  h2 {
    font-size: 19.2px; }
    @media screen and (min-width: 320px) {
      h2 {
        font-size: calc(19.2px + 4.8 * ((100vw - 320px) / 880)); } }
    @media screen and (min-width: 1200px) {
      h2 {
        font-size: 24px; } }

/* Links
-------------------------------------------------- */
a {
  color: #669999;
  text-decoration: none;
  -webkit-transition: all 0.35s ease;
  -moz-transition: all 0.35s ease;
  -o-transition: all 0.35s ease;
  -ms-transition: all 0.35s ease;
  transition: all 0.35s ease; }
  a:hover {
    color: #4e7e7e;
    -webkit-transition: all 0.35s ease;
    -moz-transition: all 0.35s ease;
    -o-transition: all 0.35s ease;
    -ms-transition: all 0.35s ease;
    transition: all 0.35s ease; }

.button {
  padding: 24px;
  display: block;
  color: #fff;
  font-weight: 700;
  background-color: #669999;
  max-width: 380px; }
  .button:hover {
    background-color: #20ae3b; }

a img {
  border: none; }

/* Layout
-------------------------------------------------- */
body {
  margin: 0 auto;
  padding: 0;
  max-width: 50em;
  min-height: 100vh;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 1em; }

header,
footer {
  grid-column: 1 / span 5; }

header {
  background: #f5f2ef url("/assets/i/limnea-institut-header.jpg") 50% 50% no-repeat;
  background-size: cover;
  min-height: 500px;
  position: relative; }
  header div#logo {
    margin: 1em 10%;
    position: absolute;
    bottom: 0; }
  header img {
    max-width: 200px;
    height: auto;
    display: block; }

main {
  grid-column: span 5;
  margin: 1em; }
  main figure img {
    max-width: 200px; }
  main figcaption {
    font-size: 1rem; }
    main figcaption {
      font-size: 16px; }
      @media screen and (min-width: 320px) {
        main figcaption {
          font-size: calc(16px + 0 * ((100vw - 320px) / 880)); } }
      @media screen and (min-width: 1200px) {
        main figcaption {
          font-size: 16px; } }

footer {
  text-align: center; }

@media (max-width: 700px) {
  main, aside {
    grid-column: 1 / span 5; } }

/* Content
-------------------------------------------------- */
/* Mediaqueries
-------------------------------------------------- */
/* Desktop */
/* Mobile */
/* Extras
-------------------------------------------------- */
.align-right {
  text-align: right; }

.align-center {
  text-align: center; }

.clear {
  clear: both; }

.clear-left {
  clear: left; }

.left {
  margin: 0 2em 2em 0;
  float: left; }

.right {
  margin: 0 0 2em 2em;
  float: right; }

a img {
  border: none; }

img {
  border: 0;
  -ms-interpolation-mode: bicubic;
  vertical-align: middle; }

/* Contain floats: h5bp.com/q */
.cf:before,
.cf:after {
  content: "";
  display: table; }

.cf:after {
  clear: both; }

.cf {
  zoom: 1; }
