* {
  box-sizing: border-box;
}

body {
  background-color: #f4f4f4;
  margin: 0;
  font-family: "Lucida Console", Courier, monospace;
}

h1 {
  padding: 2.6em 0.5em;
  color: #ed5b65;
  text-align: center;
  font-size: 2em;
  font-weight: normal;
}

h1 .comment {
  color: #424f5e;
  display: none;
}

@media (min-width: 33em) {
  h1 .comment {
    display: inline;
  }
}

h3 {
  font-size: 1.5em;
}

.social {
  text-align: center;
}

@media (min-width: 60em) {
  .box-container {
    display: inline;
  }
}

.box {
  position: relative;
  display: inline-block;
  vertical-align: top;
  margin: 10px;
  width: 12.5em;
  height: 11em;
}

.box,
.box-flip .front,
.box-flip .back {
  color: #fff;
  text-decoration: none;
  border-radius: 5px;
  padding: 20px;
}

.box:hover,
.resume:hover {
  -webkit-animation: fadein_color 2s;
  -moz-animation:    fadein_color 2s;
  -o-animation:      fadein_color 2s;
  animation:         fadein_color 2s;
}

.box i,
.box h3 {
  line-height: 1;
  margin: 0;
}

.box i {
  font-size: 7em;
}

.box-flip {
  padding: 0;
}

.box-flip .front,
.box-flip .back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -o-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -o-backface-visibility: hidden;
  backface-visibility: hidden;
}

.box-flip .front {
  z-index: 900;
  -webkit-transform: rotateX(0);
  -moz-transform: rotateX(0);
  -o-transform: rotateX(0);
  -ms-transform: rotateX(0);
  transform: rotateX(0);
}

.transition .box-flip .front {
  -webkit-transform: rotateX(180deg);
  -moz-transform: rotateX(180deg);
  -o-transform: rotateX(180deg);
  transform: rotateX(180deg);
}

.social .contact .front {
  background-color: #6cb8f1;
}

.social .contact:hover .front {
  background-color: #333399;
}

.social .connect .front {
  background-color: #62c293;
}

.social .connect:hover .front {
  background-color: #1c6641;
}

.social .critique .front {
  background-color: #424f5e;
}

.social .critique:hover .front {
  background-color: #000;
}

.social .create {
  background-color: #ed5b65;
}

.social .create:hover {
  background-color: #d1000e;
}

.box-flip .back {
  background-size: cover;
  z-index: 800;
  -webkit-transform: rotateX(-180deg);
  -moz-transform: rotateX(-180deg);
  -ms-transform: rotateX(-180deg);
  -o-transform: rotateX(-180deg);
  transform: rotateX(-180deg);
}

.transition .box-flip .back {
  z-index: 1000;
  -webkit-transform: rotateX(0);
  -moz-transform: rotateX(0);
  -ms-transform: rotateX(0);
  -o-transform: rotateX(0);
  transform: rotateX(0);
}

.critique .back {
  background: url(../images/icicles-solid.svg) no-repeat;
  background-position: center;
  background-size: 40%;
  background-color: #A9A9A9;
}

.connect .back {
  background: url(../images/atom-solid.svg) no-repeat;
  background-color: #D3D3D3;
  background-position: center;
  background-size: 40%;
}

.contact .back {
  background: url(../images/boston_eye.png) no-repeat;
  background-size: 100%;
  background-position: center;
  background-color: #808080;
}

.contact .back::after{
  content: "Boston Eye Institute";
  font-size: 25px;
  float: left;
  margin: 160px 0px;
  color: black;
}

.connect .back::after{
  content: "";
  font-size: 25px;
  float: left;
  margin: 160px 0px;
  color: black;
}

.critique .back::after{
  content: "";
  font-size: 25px;
  float: left;
  margin: 160px 0px;
  color: black;
}

.footer {
  position: relative;
  padding: 3em;
  text-align: center;
}

.footer .big-sf {
  display: none;
}

@media (min-width: 28.125em) {
  .footer {
    left: -1.3em;
  }
}

@media (min-width: 30em) {
  .footer .big-sf {
    display: inline;
  }

  .footer .small-sf {
    display: none;
  }

  .footer {
    left: 2em;
  }
}

.footer .icon-heart {
  position: relative;
  top: 0.25em;
  color: #ed5b65;
  font-size: 1.8em;
}

a.resume {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 5px;
  color: white;
  background-color: #ed5b65;
  border-radius: 5px;
  text-decoration: none;
}

a.resume:hover {
  background-color: #d1000e;
}

@-webkit-keyframes fadein_color {
  0%   { opacity: .25; }
  100% { opacity: 1; }
}
@-moz-keyframes fadein_color {
  0%   { opacity: .25; }
  100% { opacity: 1; }
}
@-o-keyframes fadein_color {
  0%   { opacity: .25; }
  100% { opacity: 1; }
}
@keyframes fadein_color {
  0%   { opacity: .25; }
  100% { opacity: 1; }
}

.banner {
  position: absolute;
  top: 0;
  right: 0;
  height: 149px;
  width: 149px;
  overflow: hidden;
  padding: 0;
  margin: 0;
}

.banner a {
  display: block;
  width: 225px; /* Parent Height + (Parent Width)/2 */
  font-size: 13px;
  font-family: "Lucida Console", Courier, monospace;
  background-color: #333;
  color: #fff;
  word-spacing: 2px;
  text-decoration: none;
  padding: 5px 15px 5px 25px;

  position:relative;
  left: 20px;
  top: -37px;
  text-align: center;

  -moz-transform-origin: 0 0 ;
  -moz-transform:rotate(45deg);
  -moz-box-shadow:    1px 1px 5px 1px #666;

  -o-transform-origin: 0 0 ;
  -o-transform:rotate(45deg);
  -o-box-shadow:    1px 1px 5px 1px #666;

  -webkit-transform-origin: 0 0 ;
  -webkit-transform:rotate(45deg);
  -webkit-box-shadow: 1px 1px 5px 1px #666;

  -ms-transform-origin: 0 0 ;
  -ms-transform:rotate(45deg);
  -ms-box-shadow: 1px 1px 5px 1px #666;

  transform-origin: 0 0 ;
  transform:rotate(45deg);
  box-shadow: 1px 1px 5px 1px #666;

  background-image: -webkit-gradient(
    linear,
    left bottom,
    left top,
    color-stop(0.03, #ed5b65),
    color-stop(0.05, #ed5b65),
    color-stop(0.07, #ed5b65),
    color-stop(0.93, #ed5b65),
    color-stop(0.95, #ed5b65),
    color-stop(0.97, #ed5b65)
  );

  background-image: -webkit-linear-gradient(bottom, #ed5b65 3%, #ed5b65 5%, #ed5b65 7%, #ed5b65 93%, #ed5b65 95%, #ed5b65 97%);
  background-image: -ms-linear-gradient(bottom, #ed5b65 3%, #ed5b65 5%, #ed5b65 7%, #ed5b65 93%, #ed5b65 95%, #ed5b65 97%);
  background-image: -moz-linear-gradient(bottom, #ed5b65 3%, #ed5b65 5%, #ed5b65 7%, #ed5b65 93%, #ed5b65 95%, #ed5b65 97%);
  background-image: -o-linear-gradient(bottom, #ed5b65 3%, #ed5b65 5%, #ed5b65 7%, #ed5b65 93%, #ed5b65 95%, #ed5b65 97%);
  background-image: linear-gradient(bottom, #ed5b65 3%, #ed5b65 5%, #ed5b65 7%, #ed5b65 93%, #ed5b65 95%, #ed5b65 97%);
}
