/*
=====================================================================

   TOC:
   a. General Styles
   b. Header Styles
   c. About Section
   d. Experience Section
   e. Skills Section
   f. Education Section
   g. Contact Section
   h. Footer

===================================================================== */

/* ------------------------------------------------------------------ */
/* a. General Styles
/* ------------------------------------------------------------------ */

body {
    background: #0f0f0f;
}

/* ------------------------------------------------------------------ */
/* b. Header Styles
/* ------------------------------------------------------------------ */

header {
    position: relative;
    height: 800px;
    min-height: 500px;
    width: 100%;
    background: #161415 url(../images/header-background.jpg) no-repeat top center;
    background-size: cover !important;
    -webkit-background-size: cover !important;
    text-align: center;
    overflow: hidden;
}

/* vertically center banner section */
header:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    height: 100%;
}

header .banner {
    display: inline-block;
    vertical-align: middle;
    margin: 0 auto;
    width: 85%;
    padding-bottom: 30px;
    text-align: center;
}

header .banner-text {
    width: 100%;
}

header .banner-text h1 {
    font: 90px/1.1em 'opensans-bold', sans-serif;
    color: #fff;
    letter-spacing: -2px;
    margin: 0 auto 18px auto;
}

header .banner-text h3 {
    font: 18px/1.9em 'librebaskerville-regular', serif;
    color: #fff;
    margin: 0 auto;
    width: 70%;
}

header .banner-text hr {
    width: 60%;
    margin: 18px auto 24px auto;
    border-color: #2F2D2E;
    border-color: rgba(150, 150, 150, .1);
}

/* header social links */
header .social {
    margin: 24px 0;
    padding: 0;
    font-size: 30px;
}

header .social li {
    display: inline-block;
    margin: 0 15px;
    padding: 0;
}

header .social li a {
    color: #fff;
}

header .social li a:hover {
    color: #007bff;
}

/* scrolldown link */
header .scrolldown a {
    position: absolute;
    bottom: 30px;
    left: 50%;
    margin-left: -29px;
    color: #fff;
    display: block;
    height: 42px;
    width: 42px;
    font-size: 42px;
    line-height: 42px;
    color: #fff;
    border-radius: 100%;

    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

header .scrolldown a:hover {
    color: #007bff;
}

/* primary navigation
--------------------------------------------------------------------- */
#nav-wrap ul, #nav-wrap li, #nav-wrap a {
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
}

/* nav-wrap */
#nav-wrap {
    font: 12px 'opensans-bold', sans-serif;
    width: 100%;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    margin: 0 auto;
    z-index: 100;
    position: fixed;
    left: 0;
    top: 0;
}

.opaque {
    background-color: #333;
}

/* hide toggle button */
#nav-wrap > a.mobile-btn {
    display: none;
}

ul#nav {
    min-height: 48px;
    width: auto;

    /* center align the menu */
    text-align: center;
}

ul#nav li {
    position: relative;
    list-style: none;
    height: 48px;
    display: inline-block;
}

/* Links */
ul#nav li a {

    /* 8px padding top + 8px padding bottom + 32px line-height = 48px */

    display: inline-block;
    padding: 8px 13px;
    line-height: 32px;
    text-decoration: none;
    text-align: left;
    color: #fff;

    -webkit-transition: color .2s ease-in-out;
    -moz-transition: color .2s ease-in-out;
    -o-transition: color .2s ease-in-out;
    -ms-transition: color .2s ease-in-out;
    transition: color .2s ease-in-out;
}

ul#nav li a:active {
    background-color: transparent !important;
}

ul#nav li.current a {
    color: #007bff;
}

/* ------------------------------------------------------------------ */
/* c. About Section
/* ------------------------------------------------------------------ */

#about {
    background: #2B2B2B;
    padding-top: 96px;
    /*padding-bottom: 66px;*/ /* commented out for resume button */
    overflow: hidden;
}

#about h2 {
    font: 22px/30px 'opensans-bold', sans-serif;
    color: #fff;
    margin-bottom: 12px;
}

#about p {
    line-height: 30px;
}

#about .profile-pic {
    position: relative;
    width: 180px;
    height: 180px;
    border-radius: 100%;
}

#about .main-col {
    padding-right: 5%;
}

#about .resume-button {
    padding-top: 66px;
    min-height: 150px;
}

#about .resume-button a {
    min-height: 150px;
    padding: 60px;
    font-size: 30px;
}

/* ------------------------------------------------------------------ */
/* d. Experience Section
/* ------------------------------------------------------------------ */

#experience {
    background: #fff;
    padding-top: 90px;
    padding-bottom: 72px;
    overflow: hidden;
    border-bottom: 1px solid #007bff;
}

#experience a, #experience a:visited {
    color: #007bff;
}

#experience a:hover, #experience a:focus {
    color: #313131;
}

#experience h1 {
    font: 18px/24px 'opensans-bold', sans-serif;
    text-transform: uppercase;
    letter-spacing: 1px;
}

#experience h1 span {
    border-bottom: 3px solid #007bff;
    padding-bottom: 6px;
}

#experience h3 {
    font: 25px/30px 'opensans-bold', sans-serif;
}

#experience .header-col {
    padding-top: 9px;
}

#experience .main-col {
    padding-right: 10%;
}

#experience .info {
    color: #6E7881;
    margin-bottom: 18px;
    margin-top: 9px;
}

#experience .info em {
    color: #007bff;
    margin-bottom: 18px;
    margin-top: 9px;
}

#experience .info span {
    margin-right: 5px;
    margin-left: 5px;
}

#experience .date {
    font: 15px/24px 'opensans-regular', sans-serif;
    margin-top: 6px;
}

/* ------------------------------------------------------------------ */
/* e. Skills Section
/* ------------------------------------------------------------------ */

#skills {
    background: #fff;
    padding-top: 90px;
    padding-bottom: 72px;
    overflow: hidden;
    border-bottom: 1px solid #007bff;
}

#skills a, #skills a:visited {
    color: #007bff;
}

#skills a:hover, #skills a:focus {
    color: #313131;
}

#skills h1 {
    font: 18px/24px 'opensans-bold', sans-serif;
    text-transform: uppercase;
    letter-spacing: 1px;
}

#skills h1 span {
    border-bottom: 3px solid #007bff;
    padding-bottom: 6px;
}

#skills h3 {
    font: 25px/30px 'opensans-bold', sans-serif;
}

#skills .header-col {
    padding-top: 9px;
}

#skills .main-col {
    padding-right: 10%;
}

#skills .info {
    font: 16px/24px 'librebaskerville-italic', serif;
    color: #6E7881;
    margin-bottom: 18px;
    margin-top: 9px;
}

#skills .info span {
    margin-right: 5px;
    margin-left: 5px;
}

/*----------------------------------------------*/
/*	Skill Bars
/*----------------------------------------------*/

.bars {
    width: 100%;
    float: left;
    padding: 0;
    text-align: left;
}

.bars .skills-bars {
    margin-top: 36px;
    list-style: none;
}

.bars li {
    float: left;
    width: 27.33333%;
    margin-left: 3%;
    margin-right: 3%;
    position: relative;
    margin-bottom: 60px;
    background: #ccc;
    height: 10px;
    border-radius: 3px;
}

.bars li em {
    font: 15px 'opensans-bold', sans-serif;
    color: #313131;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: normal;
    position: relative;
    top: -36px;
}

.bar-expand {
    position: absolute;
    left: 0;
    top: 0;

    margin: 0;
    padding-right: 24px;
    background: #313131;
    display: inline-block;
    height: 10px;
    line-height: 10px;
    border-radius: 3px 0 0 3px;
}

.fifty {
    width: 50%;
    -moz-animation: fifty 2s ease;
    -webkit-animation: fifty 2s ease;
}

.fifty-five {
    width: 55%;
    -moz-animation: fifty-five 2s ease;
    -webkit-animation: fifty-five 2s ease;
}

.sixty {
    width: 60%;
    -moz-animation: sixty 2s ease;
    -webkit-animation: sixty 2s ease;
}

.sixty-five {
    width: 65%;
    -moz-animation: sixty-five 2s ease;
    -webkit-animation: sixty-five 2s ease;
}

.seventy {
    width: 70%;
    -moz-animation: seventy 2s ease;
    -webkit-animation: seventy 2s ease;
}

.seventy-five {
    width: 75%;
    -moz-animation: seventy-five 2s ease;
    -webkit-animation: seventy-five 2s ease;
}

.eighty {
    width: 80%;
    -moz-animation: eighty 2s ease;
    -webkit-animation: eighty 2s ease;
}

.eighty-five {
    width: 85%;
    -moz-animation: eighty-five 2s ease;
    -webkit-animation: eighty-five 2s ease;
}

.ninety {
    width: 90%;
    -moz-animation: ninety 2s ease;
    -webkit-animation: ninety 2s ease;
}

.ninenty-five {
    width: 95%;
    -moz-animation: ninety-five 2s ease;
    -webkit-animation: ninety-five 2s ease;
}

@-moz-keyframes fifty {
    0% {
        width: 0;
    }
    100% {
        width: 50%;
    }
}

@-moz-keyframes fifty-five {
    0% {
        width: 0;
    }
    100% {
        width: 55%;
    }
}

@-moz-keyframes sixty {
    0% {
        width: 0;
    }
    100% {
        width: 60%;
    }
}

@-moz-keyframes sixty-five {
    0% {
        width: 0;
    }
    100% {
        width: 65%;
    }
}

@-moz-keyframes seventy {
    0% {
        width: 0;
    }
    100% {
        width: 70%;
    }
}

@-moz-keyframes seventy-five {
    0% {
        width: 0;
    }
    100% {
        width: 75%;
    }
}

@-moz-keyframes eighty {
    0% {
        width: 0;
    }
    100% {
        width: 80%;
    }
}

@-moz-keyframes eighty-five {
    0% {
        width: 0;
    }
    100% {
        width: 85%;
    }
}

@-moz-keyframes ninety {
    0% {
        width: 0;
    }
    100% {
        width: 90%;
    }
}

@-moz-keyframes ninety-five {
    0% {
        width: 0;
    }
    100% {
        width: 95%;
    }
}

@-webkit-keyframes fifty {
    0% {
        width: 0;
    }
    100% {
        width: 50%;
    }
}

@-webkit-keyframes fifty-five {
    0% {
        width: 0;
    }
    100% {
        width: 55%;
    }
}

@-webkit-keyframes sixty {
    0% {
        width: 0;
    }
    100% {
        width: 60%;
    }
}

@-webkit-keyframes sixty-five {
    0% {
        width: 0;
    }
    100% {
        width: 65%;
    }
}

@-webkit-keyframes seventy {
    0% {
        width: 0;
    }
    100% {
        width: 70%;
    }
}

@-webkit-keyframes seventy-five {
    0% {
        width: 0;
    }
    100% {
        width: 75%;
    }
}

@-webkit-keyframes eighty {
    0% {
        width: 0;
    }
    100% {
        width: 80%;
    }
}

@-webkit-keyframes eighty-five {
    0% {
        width: 0;
    }
    100% {
        width: 85%;
    }
}

@-webkit-keyframes ninety {
    0% {
        width: 0;
    }
    100% {
        width: 90%;
    }
}

@-webkit-keyframes ninety-five {
    0% {
        width: 0;
    }
    100% {
        width: 95%;
    }
}


/* Flex Slider
/* ------------------------------------------------------------------ */

/* Reset */
.flexslider a:active,
.flexslider a:focus {
    outline: none;
}

.slides,
.flex-control-nav,
.flex-direction-nav {
    margin: 0;
    padding: 0;
    list-style: none;
}

.slides li {
    margin: 0;
    padding: 0;
}

/* Necessary Styles */
.flexslider {
    position: relative;
    zoom: 1;
    margin: 0;
    padding: 0;
}

.flexslider .slides {
    zoom: 1;
}

.flexslider .slides > li {
    position: relative;
}

/* Hide the slides before the JS is loaded. Avoids image jumping */
.flexslider .slides > li {
    display: none;
    -webkit-backface-visibility: hidden;
}

/* Suggested container for slide animation setups. Can replace this with your own */
.flex-container {
    zoom: 1;
    position: relative;
}

/* Clearfix for .slides */
.slides:before,
.slides:after {
    content: " ";
    display: table;
}

.slides:after {
    clear: both;
}

/* No JavaScript Fallback */
/* If you are not using another script, such as Modernizr, make sure you
 * include js that eliminates this class on page load */
.no-js .slides > li:first-child {
    display: block;
}

/* Slider Styles */
.slides {
    zoom: 1;
}

.slides > li {
    margin-right: 5px;
    overflow: hidden;
}

/* Control Nav */
.flex-control-nav {
    width: 100%;
    position: absolute;
    bottom: -20px;
    text-align: left;
}

.flex-control-nav li {
    margin: 0 6px;
    display: inline-block;
    zoom: 1;
    *display: inline;
}

.flex-control-paging li a {
    width: 12px;
    height: 12px;
    display: block;
    background: #ddd;
    background: rgba(255, 255, 255, .3);
    cursor: pointer;
    text-indent: -9999px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
    box-shadow: inset 0 0 3px rgba(255, 255, 255, .3);
}

.flex-control-paging li a:hover {
    background: #CCC;
    background: rgba(255, 255, 255, .7);
}

.flex-control-paging li a.flex-active {
    background: #fff;
    background: rgba(255, 255, 255, .9);
    cursor: default;
}

/* ------------------------------------------------------------------ */
/* f. Education Section
/* ------------------------------------------------------------------ */

#education {
    background: #fff;
    padding-top: 90px;
    padding-bottom: 72px;
    overflow: hidden;
}

#education a, #education a:visited {
    color: #007bff;
}

#education a:hover, #education a:focus {
    color: #313131;
}

#education h1 {
    font: 18px/24px 'opensans-bold', sans-serif;
    text-transform: uppercase;
    letter-spacing: 1px;
}

#education h1 span {
    border-bottom: 3px solid #007bff;
    padding-bottom: 6px;
}

#education h3 {
    font: 25px/30px 'opensans-bold', sans-serif;
}

#education .header-col {
    padding-top: 9px;
}

#education .main-col {
    padding-right: 10%;
}

#education .info {
    color: #6E7881;
    margin-bottom: 18px;
    margin-top: 9px;
}

#education .info em {
    color: #007bff;
    margin-bottom: 18px;
    margin-top: 9px;
}

#education .info span {
    margin-right: 5px;
    margin-left: 5px;
}

#education .date {
    font: 15px/24px 'opensans-regular', sans-serif;
    margin-top: 6px;
}

/* ------------------------------------------------------------------ */
/* g. Contact Section
/* ------------------------------------------------------------------ */

#contact {
    background: #191919;
    padding-top: 96px;
    /*padding-bottom: 102px;*/ /* commented out for map */
    color: #636363;
}

#contact .contact-information {
    padding-top: 40px;
    padding-bottom: 40px;
}

#contact a, #contact a:visited {
    color: #EBEEEE;
}

#contact a:hover, #contact a:focus {
    color: #007bff;
}

#contact h1 {
    font: 22px/30px 'opensans-bold', sans-serif;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: #EBEEEE;
    margin-bottom: 6px;
}

#contact h3 {
    font: 18px/24px 'opensans-bold', sans-serif;
    color: #EBEEEE;
    margin-bottom: 6px;
}

#contact .header-col {
    padding-top: 6px;
}

#contact i {
    font-size: 30px;
}

#contact .contact-information i.fa {
    padding-right: 45px; /* todo - there might be a better way to do this */
}

#map {
    width: 100%;
    height: 300px;
}


/* ------------------------------------------------------------------ */
/* h. Footer
/* ------------------------------------------------------------------ */

footer {
    padding-top: 48px;
    margin-bottom: 48px;
    color: #303030;
    font-size: 14px;
    text-align: center;
    position: relative;
}

footer a, footer a:visited {
    color: #525252;
}

footer a:hover, footer a:focus {
    color: #fff;
}

/* copyright */
footer .copyright {
    margin: 0;
    padding: 0;
}

footer .copyright li {
    display: inline-block;
    margin: 0;
    padding: 0;
    line-height: 24px;
}

.ie footer .copyright li {
    display: inline;
}

footer .copyright li:before {
    content: "\2022";
    padding-left: 10px;
    padding-right: 10px;
    color: #007bff;
}

footer .copyright li:first-child:before {
    display: none;
}

/* social links */
footer .social-links {
    margin: 18px 0 30px 0;
    padding: 0;
    font-size: 30px;
}

footer .social-links li {
    display: inline-block;
    margin: 0;
    padding: 0;
    margin-left: 42px;
    color: #007bff;
}

footer .social-links li:first-child {
    margin-left: 0;
}

/* Go To Top Button */
#go-top {
    position: absolute;
    top: -24px;
    left: 50%;
    margin-left: -30px;
}

#go-top a {
    text-decoration: none;
    border: 0 none;
    display: block;
    width: 60px;
    height: 60px;
    background-color: #525252;

    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;

    color: #fff;
    font-size: 21px;
    line-height: 60px;
    border-radius: 100%;
}

#go-top a:hover {
    background-color: #007bff;
}

