@import "compass/css3";

* {
  box-sizing: border-box;
}

body {
  color: #7D7C70;
  font: 1em 'PT Sans', sans-serif;
}

::selection {
  background-color: #008143;
}

.tabbed {
  width: 700px;
  margin: 50px auto;
}

.tabbed > input {
  display: none;
}

.tabbed > label {
  display: block;
  float: left;
  padding: 12px 15px;
  margin-right: 5px;
  cursor: pointer;
  transition: background-color .3s;
}

.tabbed > label:hover,
.tabbed > input:checked + label {
  background: #008143;
}

.tabs {
  clear: both;
  perspective: 600px;
}

.tabs > div {
    width: 403px;
    position: absolute;
    border: 2px solid #008143;
    padding: 10px 20px 30px;
    line-height: 1.4em;
    opacity: 0;
    transform: rotateX(-20deg);
    transform-origin: top center;
    transition: opacity .3s, transform 1s;
    z-index: 0;
    height: 244px;
    background-color: #FFFFFF;
}

#tab-nav-1:checked ~ .tabs > div:nth-of-type(1),
#tab-nav-2:checked ~ .tabs > div:nth-of-type(2),
#tab-nav-3:checked ~ .tabs > div:nth-of-type(3),
#tab-nav-4:checked ~ .tabs > div:nth-of-type(4){
  transform: rotateX(0);
  opacity: 1;
  z-index: 1;
}

@media screen and (max-width: 700px) {
  .tabbed { width: 400px }
  .tabbed > label { display: none }
  .tabs > div {
    width: 400px;
    border: none;
    padding: 0;
    opacity: 1;
    position: relative;
    transform: none;
    margin-bottom: 60px;
  }
  .tabs > div h2 {
    border-bottom: 2px solid #008143;
    padding-bottom: .5em;
  }
}
