/********************************************
Tag Resets
********************************************/

body,
div,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
th,
td,
article,
aside,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    margin: 0;
    padding: 0;
    border: 0;
}


/********************************************
Normalize CSS
http://necolas.github.com/normalize.css/
********************************************/

html {
    height: 100%;
    -moz-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

body {
    min-height: 100%;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
audio,
canvas,
video {
    display: block;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
}

b,
strong {
    font-weight: bold;
}

abbr[title] {
    border-bottom: 1px dotted;
}

input,
textarea,
button,
select {
    margin: 0;
    font-size: 100%;
    line-height: normal;
    vertical-align: baseline;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    cursor: pointer;
    -webkit-appearance: button;
}

input[type="checkbox"],
input[type="radio"] {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

textarea {
    overflow: auto;
}

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


/*******************************************
Web Fonts
*******************************************/

@font-face {
    font-family: 'Roboto Condensed Light';
    src: url('../fonts/robotocondensed-light-webfont.eot');
    src: url('../fonts/robotocondensed-light-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/robotocondensed-light-webfont.woff') format('woff'), url('../fonts/robotocondensed-light-webfont.ttf') format('truetype'), url('../fonts/robotocondensed-light-webfont.svg#RobotoCondensedLight') format('svg');
    font-weight: normal;
    font-style: normal;
}


/*******************************************
Custom Styles
*******************************************/

html {
    font-size: 100%;
    line-height: 1;
}

body {
    font-family: "Roboto Condensed Light", "Helvetica Neue", Helvetica, sans-serif;
    font-weight: 300;
    color: #333333;
    background-color: #777777;
    border: .65em solid #777777;
    /* Part of Advanced Checkbox Hack for navigation
    http://timpietrusky.com/advanced-checkbox-hack
    Fix Android */
    animation: bugfix infinite 1s;
    -webkit-animation: bugfix infinite 1s;
    @-webkit-keyframes bugfix {
        from {
            padding: 0;
        }
        to {
            padding: 0;
        }
    }
}

.pagewrapper {
    background-color: #F3F2ED;
}

p {
    font-size: 1.063em;
    /* 17px / 16 = 1.063em */
    line-height: 1.223;
    /* 1.3 / 1.063 = 1.223 */
    margin: .612em 0;
}

#resume li,
p.description {
    font-size: 1em;
    /* 17px / 16 = 1.063em */
    line-height: 1.223;
    /* 1.3 / 1.063 = 1.223 */
    margin: .612em 0;
}

p.reference {
    font-size: 1em;
    line-height: 1.223;
    /*  font-size: .85em;
    line-height: 1.53; */
    margin: .612em 0;
}

p.reference a {
    color: #6b6e28;
    text-decoration: none;
}

p.reference a:hover {
    color: #666666;
}

h2,
h3,
h4,
h5,
h6 {
    font-weight: 100;
}

h1 {
    font-size: 3.189em;
    line-height: .95;
    font-weight: 500;
    letter-spacing: -1px;
    text-align: center;
}

h2 {
    font-size: 1.433em;
    line-height: 1.223;
    text-align: center;
}

h1,
h2 {
    color: #555555;
    text-shadow: 0 2px 2px #FFF;
}

h3 {
    color: #555555;
    font-size: 1.382em;
    line-height: .5em;
}

header h3,
legend {
    color: #b94814;
    padding: .65em 0;
    text-transform: uppercase;
}

h4 {
    font-size: 1em;
    line-height: 1.56;
}

h3,
h4 {
    font-weight: 300;
}

h5 {
    font-size: .8125em;
    line-height: 1.125;
    color: #555555;
}

h5,
h6 {
    font-family: "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif;
    font-size: .85em;
    line-height: 1.53;
    font-weight: 500;
}

h6 {
    color: #706f6f;
    font-weight: 200;
}


/* https://css-tricks.com/examples/hrs/ */

hr.divider {
    border: 0;
    height: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.075);
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

.wrapper {
    padding: 0 .65em;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

footer.wrapper {
    padding: 0 .65em;
}

footer.wrapper p {
    display: inline-block;
}

.efelle {
    float: right;
}


/* logo animation */

.logowrap {
    width: 200px;
    padding: 10px;
    height: 10em;
    margin: 0 auto;
    position: relative;
}

.logo img {
    display: block;
    margin: 0 auto;
    width: 80px;
    -webkit-animation-name: Floating;
    animation-name: Floating
}

.shadow {
    width: 50px;
    height: 7px;
    position: relative;
    display: block;
    top: 30px;
    margin: 0 auto;
    background-color: rgb(153, 153, 153);
    border-radius: 50%;
    -webkit-animation-name: scale;
    animation-name: scale;
    -webkit-box-shadow: 0px 0px 1px 1px rgba(153, 153, 153, 0.7);
    -moz-box-shadow: 0px 0px 1px 1px rgba(153, 153, 153, 0.7);
    box-shadow: 0px 0px 1px 1px rgba(153, 153, 153, 0.7);
    opacity: .5;
}

.shadow,
.logo img {
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear
}


/* Logo animation */

@-webkit-keyframes Floating {
    0% {
        -webkit-transform: translate(0, 0px);
        transform: translate(0, 0px)
    }
    50% {
        -webkit-transform: translate(0, 15px);
        transform: translate(0, 15px)
    }
    100% {
        -webkit-transform: translate(0, 0px);
        transform: translate(0, 0px)
    }
}

@-ms-keyframes Floating {
    0% {
        -webkit-transform: translate(0, 0px);
        -ms-transform: translate(0, 0px);
        transform: translate(0, 0px)
    }
    50% {
        -webkit-transform: translate(0, 15px);
        -ms-transform: translate(0, 15px);
        transform: translate(0, 15px)
    }
    100% {
        -webkit-transform: translate(0, 0px);
        -ms-transform: translate(0, 0px);
        transform: translate(0, 0px)
    }
}

@keyframes Floating {
    0% {
        -webkit-transform: translate(0, 0px);
        transform: translate(0, 0px)
    }
    50% {
        -webkit-transform: translate(0, 15px);
        transform: translate(0, 15px)
    }
    100% {
        -webkit-transform: translate(0, 0px);
        transform: translate(0, 0px)
    }
}

@-webkit-keyframes scale {
    0% {
        -webkit-transform: scale(0.75);
        transform: scale(0.75)
    }
    50% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    100% {
        -webkit-transform: scale(0.75);
        transform: scale(0.75)
    }
}

@-ms-keyframes scale {
    0% {
        -webkit-transform: scale(0.75);
        -ms-transform: scale(0.75);
        transform: scale(0.75)
    }
    50% {
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1)
    }
    100% {
        -webkit-transform: scale(0.75);
        -ms-transform: scale(0.75);
        transform: scale(0.75)
    }
}

@keyframes scale {
    0% {
        -webkit-transform: scale(0.75);
        transform: scale(0.75)
    }
    50% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    100% {
        -webkit-transform: scale(0.75);
        transform: scale(0.75)
    }
}


/* top navigation */

#topnav {
    padding: .65em 0;
}

#topnav h3 {
    float: left;
}

#topnav ul {
    list-style: none;
    padding: 0;
    border-bottom: 1px solid #e9e7de;
    margin: .65em 0 .39em;
}

#topnav li {
    border-top: 1px solid #e9e7de;
}

#topnav a {
    display: block;
    font-size: 1.063em;
    color: #666;
    text-decoration: none;
    padding: .975em 1.3em;
    position: relative;
    text-align: center;
    text-transform: uppercase;
}

#topnav a:hover {
    background: #f8f8f8;
    color: #b94814;
}

#topnav nav {
    max-height: 0;
    overflow: hidden;
    opacity: 0.5;
    transition: all 1.5s ease;
}


/* Hide checkbox */

#topnav input[type=checkbox] {
    position: absolute;
    top: 21px;
    right: 40px;
    opacity: 0;
}

#topnav label {
    display: block;
    background: url("../img/icon-menu.svg") no-repeat right center;
    text-indent: -999em;
    /* Like a link would behave */
    cursor: pointer;
    -webkit-user-select: none;
    /* Chrome all / Safari all */
    -moz-user-select: none;
    /* Firefox all */
    -ms-user-select: none;
    /* IE 10+ */
    user-select: none;
}

#topnav input[type=checkbox]:checked~nav {
    max-height: 200px;
    overflow: hidden;
    opacity: 1;
}


/*  bottom navigation */

#bottomnav {
    display: block;
    padding-bottom: .65em;
    height: 1.3em;
    width: 100%;
}

#bottomnav ul {
    float: right;
    list-style: none;
}

#bottomnav li {
    margin: 0;
    display: inline-block;
}

#bottomnav a {
    display: inline-block;
    font-size: .975em;
    color: #666666;
    margin-left: .39em;
    border-bottom: 1px dotted #b3b3b3;
    text-decoration: none;
    text-transform: uppercase;
}

#bottomnav a:hover {
    color: #b94814;
    border-bottom: none;
}

#content article {
    padding-top: .65em;
    padding-bottom: 1.3em;
}

#portfolio {
    line-height: 1.82;
}

#portfolio h4 {
    line-height: 1.82;
    padding-left: 5px;
}

#portfolio figure,
.box {
    background: #fff;
    -moz-box-shadow: 0 0 .325em .13em rgba( 0, 0, 0, .1);
    -webkit-box-shadow: 0 0 .325em .13em rgba( 0, 0, 0, .1);
    box-shadow: 0 0 .325em .13em rgba( 0, 0, 0, .1);
    padding: .975em;
    /* 3/4 of 1.3 */
}

#portfolio figure {
    padding: 0;
    position: relative;
}

#portfolio figure:hover {
    -moz-box-shadow: 0 0 .65em .325em rgba( 0, 0, 0, .1);
    -webkit-box-shadow: 0 0 .65em .325em rgba( 0, 0, 0, .1);
    box-shadow: 0 0 .65em .325em rgba( 0, 0, 0, .1);
}

.box {
    padding: 14px;
    min-height: 250px;
}

.box h4 {
    color: #666666;
    border-bottom: 1px solid #eee;
    margin-bottom: .975em;
    /* 3/4 of 1.3 */
    text-align: center;
}

.box ul {
    list-style: none;
    padding: 0;
}

#resume h4 {
    text-transform: uppercase;
}

section footer {
    clear: both;
}

#container-header {
    display: block;
}

#container-content {
    padding: 24px 0;
}

#container-footer {
    height: 165px;
    background-color: #888888;
}

img {
    max-width: 100%;
}

.icuthyemail {
    text-decoration: none;
    font-weight: 600;
    text-decoration: none;
    color: #F3F2ED;
    margin-bottom: 1.3em;
}

.icuthyemail:hover {
    color: #012330;
}

.copyright {
    color: #111111;
    margin-top: -0.325em;
}

.linkedin,
.github {
    position: relative;
    left: 2px;
    color: #6b6e28;
    margin-left: .39em;
    border-bottom: 1px dotted #b3b3b3;
    text-decoration: none;
}

.linkedin:hover,
.github:hover {
    color: #333333;
    border-bottom: none;
    font-weight: bold;
}

#topnav,
#masthead,
#content,
#contact {
    margin: 0 3.3%;
}

#contact {
    color:#111111;
    padding-top: 2.6em;
}

#weeintrotype {
    text-align: center;
    margin-top: 0;
    margin-bottom: .975em;
    line-height: 1.5;
}

#previous h6 {
    margin-bottom: 0.325em;
}

/*******************************************
Spider Business
*******************************************/

.spiderfigure {
    position: relative;
    height: 100%;
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.spiderfigure::before {
    content: ' ';
    display: block;
    background-image: url(../img/cobweb.png);
    background-position: 0;
    background-repeat: no-repeat;
    -ms-background-size: contain;
    -o-background-size: contain;
    -moz-background-size: contain;
    -webkit-background-size: contain;
    background-size: contain;
    background-size: contain;
    opacity: 65%;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    transition: opacity .2s linear;
    width: 100%;
    z-index: 30;
} 

.spiderfigure:hover::before {
    background-image: url(../img/cobweb.png);
    opacity: 0%;
}

.spider{
	position: absolute;
	background-image: url(../img/spidey.png);
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: contain;
    width: 60px;
    height: 60px;
    /* transition: all .25s ease; */
    bottom: 0;
    right: 0;
    margin-right: -20px;
    user-select: none;
    opacity: 0;
	pointer-events: none;
	z-index: 10000;
    overflow: hidden;
}
.spiderfigure:hover .spider {
	position: absolute;
	background-image: url(../img/spidey.png);
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: contain;
    width: 60px;
    height: 60px;
    transition: all .25s ease;
    bottom: 63%;
    right: 50%;
    margin-right: -20px;
    user-select: none;
    opacity: .9;
	pointer-events: none;
	z-index: 10000;
    overflow: hidden;
}

/* Error Pages */

.error-pg .content h1,
.error-pg .content h2 {
    color: #fff;
    text-shadow: none;
    margin-bottom: 30px;
  
}
.error-pg #container-footer {
    margin-top: 200px;
}

/********************************************
Fluid Media
********************************************/

figure {
    position: relative;
}

figure img,
figure object,
figure embed,
figure video {
    display: block;
    max-width: 100%;
}

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


/*
interpolation-mode
http://css-tricks.com/ie-fix-bicubic-scaling-for-images/
*/


/*******************************************
Typer Animation
*******************************************/

.contain-typer {
    position: relative;
    width: 100px;
    display: block;
    margin: 0 65%;
    margin-top: -93px;
}

.face {
    position: absolute;
    z-index: 3;
    border-radius: 50%;
    width: 90px;
    height: 100px;
    background: #dca66c;
    background-image: -webkit-radial-gradient (#dca66c, #dca66c);
    background-image: radial-gradient(#dca66c, #dca66c);
}

.hair {
    position: absolute;
    z-index: 1;
    background: #c60;
    border-radius: 50%;
    width: 110px;
    height: 100px;
    left: -10px;
    top: -5px;
}

.bangs {
    position: absolute;
    z-index: 4;
    border-top: solid #C60 22px;
    border-radius: 50% 50% 30% 30%;
    width: 88px;
    height: 62px;
    left: 1px;
}

.curl {
    position: absolute;
    z-index: 17;
    top: 10px;
    left: 45px;
    border-radius: 30% 70% 30% 30%;
    border-right: solid #dca66c 4px;
    width: 16px;
    height: 16px;
}

.ear {
    position: absolute;
    z-index: 2;
    border-radius: 50%;
    top: 30px;
    left: -7.5px;
    width: 17.5px;
    height: 25px;
    background-image: -webkit-radial-gradient(#d28e42, #dca66c);
    background-image: radial-gradient(#d28e42, #dca66c);
}

.ear-2 {
    top: 31.5px;
    left: 80px;
}

.wrist {
    position: absolute;
    z-index: 5;
    background: #d28e42;
    border-radius: 50%;
    top: 80px;
    left: -15px;
    width: 25px;
    height: 20px;
    -webkit-transform: rotate(-10deg);
    -ms-transform: rotate(-10deg);
    transform: rotate(-10deg);
    -webkit-animation: type .7s ease infinite;
    animation: type .7s ease infinite;
}

.wrist-2 {
    left: 77.5px;
    -webkit-transform: rotate(10deg);
    -ms-transform: rotate(10deg);
    transform: rotate(10deg);
    -webkit-animation: type .5s 1s ease infinite;
    animation: type .5s 1s ease infinite;
}

.laptop {
    position: absolute;
    z-index: 5;
    background: #ffffff;
    border-radius: 5% 5% 5% 5%;
    top: 62.5px;
    left: -20px;
    width: 130px;
    height: 90px;
    background-image: -webkit-linear-gradient(#eeeeee, #cccccc);
    background-image: linear-gradient(#eeeeee, #cccccc);
    -webkit-transform: perspective(300px) rotateX(-25deg);
    transform: perspective(300px) rotateX(-25deg);
    box-shadow: 0 1.5px 1.5px rgba(0, 0, 0, 0.5);
}

.fruit {
    position: absolute;
    z-index: 6;
    margin: 0 auto;
    top: 40px;
    left: 54px;
    background: white;
    border-radius: 50% 50% 90% 90%;
    width: 20px;
    height: 17.5px;
}

.fruit:after {
    position: absolute;
    margin: 0 auto;
    top: -8.5px;
    left: 2.5px;
    border-right: solid white 5px;
    border-radius: 50%;
    width: 6.5px;
    height: 6.5px;
    content: "";
}

.eye {
    position: absolute;
    top: 35px;
    left: 16.5px;
    z-index: 5;
    background: white;
    border-radius: 50%;
    width: 24px;
    height: 25px;
}

.eye-2 {
    left: 50px;
}

.pupil {
    position: absolute;
    top: 9px;
    left: 3.5px;
    background: #3E250A;
    border-radius: 50%;
    border: 4px solid #24708B;
    width: 7.5px;
    height: 7.5px;
    -webkit-animation: rolleyes 3s linear infinite;
    animation: rolleyes 3s linear infinite;
}

@-webkit-keyframes type {
    from {
        top: 80px;
    }
    to {
        top: 60px;
    }
}

@keyframes type {
    from {
        top: 80px;
    }
    to {
        top: 60px;
    }
}

@-webkit-keyframes rolleyes {
    0% {
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
    }
    25% {
        -webkit-transform: translateX(2px);
        transform: translateX(2px);
    }
    45% {
        -webkit-transform: translateX(-2px) translateY(-1px);
        transform: translateX(-2px) translateY(-1px);
    }
    85% {
        -webkit-transform: translateX(-1px);
        transform: translateX(-1px);
    }
}

@keyframes rolleyes {
    0% {
        -webkit-transform: translateX(0) translateY(0);
        transform: translateX(0) translateY(0);
    }
    25% {
        -webkit-transform: translateX(2px);
        transform: translateX(2px);
    }
    45% {
        -webkit-transform: translateX(-2px) translateY(-1px);
        transform: translateX(-2px) translateY(-1px);
    }
    85% {
        -webkit-transform: translateX(-1px);
        transform: translateX(-1px);
    }
}


/*******************************************
Media Queries for screen less than 26.25em (420px)
*******************************************/

@media screen and (max-width: 26.25em) {
    #contact p {
        width: 150px;
    }
}


/*******************************************
Media Queries for screen less than 45em (720px)
*******************************************/

@media screen and (max-width: 45em) {
    #container-header {
        padding: 10% 0;
    }
    #portfolio figure {
        margin: 0 auto;
        max-width: 25em;
        text-align: center;
    }
    footer.wrapper p.efelle {
        display: none;
    }
    h4 { text-align: center; }
    h4 span {
        display: none;
    }
}


/*******************************************
Media Queries for screen wider than 45em (720px)
*******************************************/

@media screen and (min-width: 45em) {
    body {
        font-size: 107.692307692308%;
        border: 1.3em solid #777777;
    }
    #portfolio article {
        float: left;
        width: 50%;
    }
    #resume article {
        float: left;
        width: 33.33%;
    }
    #masthead {
        max-width: 50em;
    }
    header#masthead.wrapper {
        margin: 0 auto;
    }
    #content,
    #contact {
        margin: 0 5.5%;
    }
    #topnav {
        margin: 0 0 0 3.3%;
        padding: 0;
    }
    #container-header {
        padding: 3% 0 5% 0;
    }
    #topnav label {
        display: none;
    }
    #topnav h3 {
        margin: .65em 1.3em 0 0;
    }
    #topnav label {
        display: none;
    }
    #topnav nav {
        height: auto;
    }
    #topnav nav {
        max-height: 70px;
        overflow: hidden;
        opacity: 1;
    }
    #topnav ul {
        float: right;
        border: 0;
        margin: 0;
    }
    #topnav li {
        display: inline;
        border: 0;
    }
    #topnav a {
        display: inline-block;
    }
    .name,
    .email {
        float: left;
        width: 50%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        padding-left: .65em;
    }
    .name {
        padding-right: .65em;
    }
    .send {
        width: 48.6%;
    }
    .contain-typer {
        position: absolute;
        margin: 0 65%;
        margin-top: -93px;
    }
}


/* ******************************************
Media Queries for screen wider than 60em (960px)
****************************************** */

@media screen and (min-width: 60em) {
    #portfolio article,
    #resume article {
        float: left;
        width: 33.333%;
    }
    .name,
    .email {
        padding-right: 1.3em;
        padding-left: 0;
        clear: both;
    }
    .message textarea {
        width: 50%;
    }
    .send {
        width: 25%;
        margin-left: 50%;
    }

}
/*******************************************
Print Styles
*******************************************/
@media print and (max-width: 8.5in) {
    #masthead {
        color: black;
    }
    #container-header {
        height: auto;
    }
    img {
        width: 2in;
    }
    #portfolio {
        float: left;
        width: 45%;
    }
    #resume {
        float: right;
        width: 45%;
    }
    #container-footer {
        clear: both;
    }
}

/* Float Clearing http://nicolasgallagher.com/micro-clearfix-hack */
.group:after {
    content: " ";
    display: table;
    clear: both;
}
/* Clearfix */
.group {
    *zoom: 1;
}
/* Figures/Images */
.ie #portfolio figure {
    width: 100%;
    box-sizing: border-box;
}
/* "*" hack applies only to IE7 and below */
.ie #portfolio figure {
    *width: auto;
}
/* Navigation */
/* IE8 .checked class for checkbox.js */
#topnav input[type=checkbox].checked~nav {
    height: auto;
    overflow: visible;
}

