/* Portfolio
 *
 * style.sass -> style.css (September 25, 2014)
 *
 * Piece of WebStuffs.
 * https://bitbucket.org/OPiMedia/webstuffs
 *
 * GPLv3 --- Copyright (C) 2014 Olivier Pirson
 * http://www.opimedia.be/
 */
/* General target
 */
a.mail:link {
  background-color: inherit;
  color: green;
}
a.mail:visited {
  background-color: inherit;
  color: olive;
}

iframe {
  border: 0;
}

p {
  margin: 0;
}

.monospace {
  font-family: monospace;
}

.nomargin {
  margin: 0;
}

.OPi {
  background-image: url("../img/OPi_t.png");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: auto 100%;
  padding-right: 3.5ex;
}

.smallskip {
  margin-top: 1ex;
}

.medskip {
  margin-top: 2ex;
}

.bigskip {
  margin-top: 3ex;
}

.bigbigskip {
  margin-top: 6ex;
}

.surname {
  font-variant: small-caps;
}

/* Specific targets
 */
body {
  background-color: #e0e0e0;
  font-family: Helvetica, Verdana, sans-serif;
  margin: 0 auto;
  max-width: 980px;
}
body > footer {
  margin-top: 2ex;
  padding-right: 20px;
  text-align: right;
}
body > header {
  background-color: #d0d0d0;
  border-top-right-radius: 20px;
  box-shadow: inset 10px 10px 10px #b0b0b0;
  margin-top: 3ex;
}
body > header > h1,
body > header > h2 {
  margin: 0;
  padding: 2ex 0 0;
  text-align: center;
}
body > header > h1 > a,
body > header > h2 > a {
  color: black;
  outline: none;
  text-decoration: none;
}
body > header > h2 {
  padding: 1ex 0;
}
body > header > nav {
  display: flex;
}
body > header > nav > div {
  flex: 1;
}
body > header > nav > ol {
  flex: 3;
  letter-spacing: -1ex;
  list-style-type: none;
  margin: 1ex 0 0;
  padding: 0;
  text-align: right;
  white-space: nowrap;
}
body > header > nav > ol > li {
  cursor: pointer;
  display: inline-block;
  letter-spacing: normal;
  position: relative;
}
body > header > nav > ol > li > a {
  border-bottom: 5px solid #ccbb99;
  border-top: 0 solid #ccbb99;
  color: black;
  cursor: inherit;
  display: inline-block;
  outline: none;
  padding: 2px 2em;
  text-decoration: none;
}
body > header > nav > ol > li > a:first-child {
  background-color: white;
  border-bottom-color: white !important;
  border-top-width: 5px;
  left: 0;
  position: absolute;
  top: 3ex;
  transition: top 0.4s;
  visibility: hidden;
  z-index: 101;
}
body > header > nav > ol > li:nth-child(4n+2) > a {
  border-color: #99cca2;
}
body > header > nav > ol > li:nth-child(4n+3) > a {
  border-color: #4f689c;
}
body > header > nav > ol > li:nth-child(4n) > a {
  border-color: #cc99c3;
}
body > header > nav > ol > li:hover > a {
  top: -5px;
  visibility: visible;
}

main {
  background-color: white;
  border-bottom-left-radius: 20px;
  box-shadow: 10px 10px 10px #a0a0a0;
  height: 500px;
  position: relative;
  z-index: 1001;
}
main > div {
  background-color: white;
  display: none;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: opacity 1s;
  width: 100%;
  z-index: 1003;
}
main > div:target {
  display: flex;
  z-index: 1004;
}
main > div > article {
  flex: 3;
}
main > div > article > div {
  margin: 20px;
}
main > div > article > h3 {
  margin: 20px;
}
main > div > aside {
  background-color: #ccbb99;
  color: white;
  display: flex;
  flex: 1;
  justify-content: center;
  width: 30%;
  z-index: 1101;
}
main > div > aside > div {
  align-items: center;
  display: flex;
  font-size: xx-large;
  font-weight: bold;
  text-transform: uppercase;
  white-space: nowrap;
}
main > div:nth-child(4n+2) > aside {
  background-color: #99cca2;
}
main > div:nth-child(4n+3) > aside {
  background-color: #4f689c;
}
main > div:nth-child(4n+4) > aside {
  background-color: #cc99c3;
}
main > div:first-child {
  display: flex;
  z-index: 1002 !important;
}

#Portfolio-viewer {
  position: relative;
}
#Portfolio-viewer > div {
  min-width: 400px;
}
#Portfolio-viewer > div > span {
  background-color: red;
  display: inline-block;
  height: 0;
}
#Portfolio-viewer > div > span > img {
  cursor: zoom-in;
  margin: 10px;
}
#Portfolio-viewer > div > span > img:first-child {
  background-color: rgba(0, 0, 0, 0.6);
  border-bottom-left-radius: 20px;
  border-top-right-radius: 20px;
  cursor: auto;
  display: none;
  left: 50px;
  margin: 0;
  max-height: 450px;
  max-width: 600px;
  padding: 20px;
  position: absolute;
  top: -45px;
  z-index: 1011;
}
#Portfolio-viewer > div > span:hover img:first-child {
  display: block;
}

/* Responsibe
 */
@media (max-width: 900px) {
  body > header > nav > ol > li > a {
    padding: 5px 1em;
  }

  main > div > aside > div {
    font-size: x-large;
  }
}
@media (max-width: 640px) {
  body > header > nav > ol > li > a {
    padding: 5px 1ex;
  }

  main > div > aside > div {
    font-size: medium;
  }
}
