/* site-wide */
html {
    scroll-behavior: smooth;
    font-size: 17px;
    overflow-x: hidden;
}
body {
    margin: 0;
    font-family: 'Roboto', sans-serif;
    color: var(--black);
    background: var(--grey);
    overflow-x: hidden;
    -webkit-transition: color 1s, background 1s;
       -moz-transition: color 1s, background 1s;
         -o-transition: color 1s, background 1s;
            transition: color 1s, background 1s;
}
h2, h3 {
    font-family: 'Montserrat', sans-serif;
}
:root {
    /* light mode colors */
    --black: #3b3c3c;
    --aqua: #4ea69d;
    --green: #56a65b;
    --orange: #f29544;
    --white: #ffffff;
    --grey: #f5f5f5;
    /* dark mode colors */
    --darkmodeblack: #ffffff;
    --darkmodeaqua: #41b6e6;
    --darkmodegreen: #db3eb1;
    --darkmodeorange: #ee6d00;
    --darkmodewhite: #333333;
    --darkmodegrey: #242424;
}
::selection {
    background: var(--aqua);
    color: var(--white);
}
::-moz-selection {
    background: var(--aqua);
    color: var(--white);
}
::-webkit-scrollbar {
    width: .5rem;
}
::-webkit-scrollbar-track {
    box-shadow: inset 0 0 2px grey;
    border-radius: 10px;
}
::-webkit-scrollbar-thumb {
    background: #272727;
    border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--orange);
}
p {
    line-height: 1.4rem;
}
a {
    color: var(--aqua);
    text-decoration: none;
    -webkit-transition: color 1s;
       -moz-transition: color 1s;
         -o-transition: color 1s;
            transition: color 1s;
}
img {
    display: block;
}
.material-icons {
    vertical-align: middle;
    padding-bottom: 2px;
    justify-content: center;
    flex-direction: column;
}
.flex {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
}
/* end site-wide */



/* intro section */
#home {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
}
#canvas {
    background: -webkit-linear-gradient(#00111e 75%, #033d5e);
    background:    -moz-linear-gradient(#00111e 75%, #033d5e);
    background:      -o-linear-gradient(#00111e 75%, #033d5e);
    background:         linear-gradient(#00111e 75%, #033d5e);
    position: absolute;
    left: 0;
    top: 0;
}
#canvas.animate {
    opacity: 1;
}
#intro {
    font-family: 'Montserrat', sans-serif;
    position: relative;
    height: 100vh;
    width: 100vw;
    max-width: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}
#hello, #imNameContainer {
    opacity: 0;
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
    margin: 0;
}
#imNameContainer {
    width: 0;
    animation: reveal 7s forwards;
}
#hello {
    animation: showup 7s forwards;
}
#imName {
    animation: slidein 7s forwards;
    margin-left: -355px;
}
#name {
    color: var(--orange);
    -webkit-transition: color .2s;
       -moz-transition: color .2s;
         -o-transition: color .2s;
            transition: color .2s;
}
#name:hover {
    color: var(--aqua);
}
#programmer {
    animation: webFadeIn 7s forwards;
}
@keyframes showup {
    0% { opacity: 0; }
    25% { opacity: 1; }
    100% { opacity: 1; }
}
@keyframes slidein {
    0% { margin-left: -800px; }
    20% { margin-left: -800px; }
    35% { margin-left: 0px; }
    100% { margin-left: 0px; }
}
@keyframes reveal {
    0% { opacity: 0; width: 0; }
    20% { opacity: 1; width: 0; }
    30% { width: 465px; }
    100% { opacity: 1; width: 465px; }
}
@keyframes webFadeIn {
    0% { opacity: 0; }
    45% { opacity: 0; }
    70% { opacity: 1; }
    100% { opacity: 1; }
}
@keyframes buttonFadeIn {
    0% { opacity: 0; }
    65% { opacity: 0; }
    80% { opacity: 1; }
    100% { opacity: 1; }
}
#introText {
    font-size: 3.5rem;
    color: var(--white);
    margin-bottom: 25px;
    margin-top: 0;
}
#nameBox {
    visibility: hidden;
    opacity: 0;
    font-size: .8rem;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgb(255, 250, 255);
    color: var(--black);
    padding: 3px;
    border-radius: 5px;
    -webkit-transition: opacity .35s;
       -moz-transition: opacity .35s;
         -o-transition: opacity .35s;
            transition: opacity .35s;
}
.button {
    color: var(--black);
    border: 2px solid var(--black);
    border-radius: 3px;
    width: 250px;
    height: 60px;
    line-height: 60px;
    font-size: 1.2rem;
    text-align: center;
    text-transform: uppercase;
    -webkit-transition: background .2s, color .2s, border .2s, border-radius .2s, opacity .2s;
       -moz-transition: background .2s, color .2s, border .2s, border-radius .2s, opacity .2s;
         -o-transition: background .2s, color .2s, border .2s, border-radius .2s, opacity .2s;
            transition: background .2s, color .2s, border .2s, border-radius .2s, opacity .2s;
    font-weight: 700;
    cursor: pointer;
}
.button:hover {
    border-color: var(--orange);
    background: var(--orange);
    color: var(--white);
    border-radius: 8px;
}
#introButton {
    color: var(--white);
    border-color: var(--white);
    opacity: 0;
    animation: buttonFadeIn 7s forwards;
}
#introButton:hover {
    border-color: var(--orange);
    background: var(--orange);
    color: var(--white);
    border-radius: 10px;
}
#introArrow {
    padding-bottom: 0;
    padding-left: 3px;
    transform: rotate(-90deg);
    -webkit-transition: transform .2s, padding .2s;
       -moz-transition: transform .2s, padding .2s;
         -o-transition: transform .2s, padding .2s;
            transition: transform .2s, padding .2s;
}
#introButton:hover #introArrow {
    padding-bottom: 3px;
    padding-left: 0;
    transform: rotate(0deg);
}
#controlsButton {
    position: absolute;
    bottom: 10px; left: 10px;
    width: 100px;
    height: 40px;
    line-height: 40px;
    font-size: .8rem;
    color: var(--white);
    border: 2px solid var(--white);
    opacity: .3;
}
#controlsButton:hover {
    opacity: 1;
    border-color: var(--orange);
}
#controls {
    position: absolute;
    visibility: hidden;
    width: 100%;
    height: 100vh;
    background: rgba(0,0,0,0);
    justify-content: center;
    align-items: center;
    -webkit-transition: background .5s;
       -moz-transition: background .5s;
         -o-transition: background .5s;
            transition: background .5s;
}
#controlsContent {
    position: absolute;
    padding: 75px 120px;
    color: var(--white);
    background: var(--black);
    text-align: left;
    border-radius: 10px;
    opacity: 0;
    -webkit-transition: opacity .5s;
       -moz-transition: opacity .5s;
         -o-transition: opacity .5s;
            transition: opacity .5s;
}
#controlsContent img, #sKey {
    height: 35px;
    margin: 0 auto;
    margin-bottom: 20px;
}
#sKey {
    width: 35px;
    background: var(--white);
    color: var(--black);
    border: 2px solid #000;
    border-radius: 4px;
    text-align: center;
    line-height: 31px;
    box-shadow: 0 1px 3px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.24);
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
            box-sizing: border-box;
}
#controlsContent h4 {
    color: var(--aqua);
}
#closeControls {
    position: absolute;
    top: 1rem;
    left: 1rem;
    cursor: pointer;
}
#action h4, #button h4 {
    margin-left: 35px;
}
#action p, #button p {
    height: 35px;
    line-height: 35px;
    margin: 0 0 20px 35px;
}


@media only screen and (max-width: 1025px) {
    #controlsButton {
        display: none;
    }
}
@media only screen and (max-width: 767px) {
    #introText {
        font-size: 2.25rem;
    }
    @keyframes reveal {
        0% { opacity: 0; width: 0; }
        20% { opacity: 1; width: 0; }
        30% { width: 297px; }
        100% { opacity: 1; width: 297px; }
    }
    .button {
        width: 200px;
        height: 50px;
        line-height: 50px;
        font-size: 1rem;
    }
    #introArrow {
        font-size: 1rem;
    }
    #nameBox {
        font-size: .5rem;
    }
}
@media only screen and (max-width: 450px) {
    #introText {
        font-size: 1.75rem;
    }
    @keyframes reveal {
        0% { opacity: 0; width: 0; }
        20% { opacity: 1; width: 0; }
        30% { width: 230px; }
        100% { opacity: 1; width: 230px; }
    }
    .button {
        width: 175px;
        height: 45px;
        line-height: 45px;
        font-size: .75rem;
    }
}
@media only screen and (max-width: 375px) {
    #introText {
        font-size: 1.6rem;
        margin-bottom: 1rem;
    }
    @keyframes reveal {
        0% { opacity: 0; width: 0; }
        20% { opacity: 1; width: 0; }
        30% { width: 212px; }
        100% { opacity: 1; width: 212px; }
    }
    .button {
        width: 150px;
        height: 40px;
        line-height: 40px;
        font-size: .75rem;
    }
}
/* end intro section */



/* nav */
#nav {
    width: 100%;
    background: var(--black);
    color: var(--white);
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    font-size: 1.05rem;
    -webkit-transition: background 1s;
       -moz-transition: background 1s;
         -o-transition: background 1s;
            transition: background 1s;
    align-items: center;
    flex-wrap: wrap;
    z-index: 900;
}
#navBorder {
    flex-basis: 100%;
    height: 4px;
    background: linear-gradient(90deg, rgb(250,215,183) 0%, var(--orange) 24%, rgb(250,215,183) 100%);
    box-shadow: 0 1px 3px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.24);
}
#navItemContainer {
    max-width: 1150px;
    width: 1110px;
    margin: 0 auto;
    align-items: center;
    justify-content: flex-start;
}
.navItem {
    padding: 15px 20px;
    color: var(--white);
    -webkit-transition: color .2s;
       -moz-transition: color .2s;
         -o-transition: color .2s;
            transition: color .2s;
}
.navItem:hover {
    color: var(--orange) !important;
    cursor: pointer;
}
#homeNav {
    padding-left: 0;
}
.sticky {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
}
#darkMode, #lightMode {
    cursor: pointer;
    width: 25px;
    padding-right: 15px;
}
#lightMode {
    display: none;
}
#darkModeIcon, #lightModeIcon {
    color: var(--white);
    -webkit-transition: color .2s;
       -moz-transition: color .2s;
         -o-transition: color .2s;
            transition: color .2s;
}
#darkModeIcon:hover, #lightModeIcon:hover {
    color: var(--orange);
}


@media only screen and (max-width: 1250px) {
    #navItemContainer {
        max-width: 860px;
    }
}
@media only screen and (max-width: 1018px) {
    #nav {
        font-size: .98rem;
    }
    #navItemContainer {
        max-width: 80%;
    }
    #darkModeIcon, #lightModeIcon {
        font-size: 1.25rem;
    }
}
@media only screen and (max-width: 767px) {
    .navItem {
        padding: 15px 15px;
    }
}
@media only screen and (max-width: 450px) {
    #nav {
        font-size: .85rem;
    }
    .navItem {
        padding: 15px 10px;
    }
    #darkModeIcon, #lightModeIcon {
        font-size: .85rem;
        padding-top: 2px;
        padding-right: 10px;
    }
}
@media only screen and (max-width: 375px) {
    #nav {
        font-size: .85rem;
    }
    #navItemContainer {
        max-width: 85%;
    }
    .navItem {
        padding: 15px 7px;
    }
    #darkMode, #lightMode {
        padding-right: 0px;
    }
}
/* end nav */



/* animation effects */
.animate {
    opacity: 0;
    position: relative;
}
.animate.in-view {
    opacity: 1;
}
.animate.slide-left {
    -webkit-transform: translateX(-25%);
       -moz-transform: translateX(-25%);
        -ms-transform: translateX(-25%);
         -o-transform: translateX(-25%);
            transform: translateX(-25%);
    -webkit-transition: transform 1s ease-out, opacity 1s ease-out;
       -moz-transition: transform 1s ease-out, opacity 1s ease-out;
        -ms-transition: transform 1s ease-out, opacity 1s ease-out;
         -o-transition: transform 1s ease-out, opacity 1s ease-out;
            transition: transform 1s ease-out, opacity 1s ease-out;
}
.animate.slide-left.in-view {
    -webkit-transform: translateX(0);
       -moz-transform: translateX(0);
        -ms-transform: translateX(0);
         -o-transform: translateX(0);
            transform: translateX(0);
}
.animate.slide-right {
    -webkit-transform: translateX(25%);
       -moz-transform: translateX(25%);
        -ms-transform: translateX(25%);
         -o-transform: translateX(25%);
            transform: translateX(25%);
    -webkit-transition: transform 1s, opacity 1s ease-out;
       -moz-transition: transform 1s, opacity 1s ease-out;
        -ms-transition: transform 1s, opacity 1s ease-out;
         -o-transition: transform 1s, opacity 1s ease-out;
            transition: transform 1s, opacity 1s ease-out;
}
.animate.slide-right.in-view {
    -webkit-transform: translateX(0);
       -moz-transform: translateX(0);
        -ms-transform: translateX(0);
         -o-transform: translateX(0);
            transform: translateX(0);
}
.animate.slide-top {
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
         -o-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-transition: transform .5s, opacity .5s ease-out;
       -moz-transition: transform .5s, opacity .5s ease-out;
        -ms-transition: transform .5s, opacity .5s ease-out;
         -o-transition: transform .5s, opacity .5s ease-out;
            transition: transform .5s, opacity .5s ease-out;
}
.animate.slide-top.in-view {
    -webkit-transform: translateY(0%);
       -moz-transform: translateY(0%);
        -ms-transform: translateY(0%);
         -o-transform: translateY(0%);
            transform: translateY(0%);
}
.animate.fade-in {
    -webkit-transition: opacity 1.5s ease-out;
       -moz-transition: opacity 1.5s ease-out;
        -ms-transition: opacity 1.5s ease-out;
         -o-transition: opacity 1.5s ease-out;
            transition: opacity 1.5s ease-out;
}
/* end animation effects */



/* about section */
#about {
    background: var(--grey);
    padding-bottom: 3rem;
    -webkit-transition: background 1s;
       -moz-transition: background 1s;
         -o-transition: background 1s;
            transition: background 1s;
}
#about h2 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    font-size: 4rem;
    letter-spacing: .3rem;
    text-transform: uppercase;
    text-align: center;
}
#aboutContentTopContainer {
    justify-content: space-between;
    max-width: 1150px;
    margin: 0 auto;
}
#aboutContentTop1 {
    width: 47%;
    flex-direction: column;
    text-align: center;
}
#aboutContentTop2 {
    width: 50%;
    flex-direction: column;
    text-align: center;
}
#aboutContentTop2 h3 {
    margin-top: 0;
}
#aboutContentTop1 h3, #aboutContentTop2 h3 {
    margin-top: 1.3rem;
    margin-bottom: .3em;
    font-size: 1.5rem;
    text-align: center;
}
#aboutContentTop2 h3 {
    margin-top: 0;
    margin-bottom: .5rem;
}
#me {
    display: block;
    margin: 0 auto;
    width: 52%;
    border-radius: 10%;
    border: 1px solid var(--black);
    opacity: 0;
    box-shadow: 0 5px 3px rgba(0,0,0,.12), 0 3px 15px rgba(0,0,0,.24);
}
#me.animate.in-view {
    animation: bounceIn 1.5s forwards .5s;
}
@keyframes bounceIn {
    from,
    60%,
    75%,
    to {
        -webkit-animation-timing-function: cubic-bezier(.31, .76, .9, 1);
        animation-timing-function: cubic-bezier(.31, .76, .9, 1);
    }
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -300px, 0);
           -moz-transform: translate3d(0, -300px, 0);
            -ms-transform: translate3d(0, -300px, 0);
             -o-transform: translate3d(0, -300px, 0);
                transform: translate3d(0, -300px, 0);
    }
    50% {
        -webkit-transform: translate3d(0, 25px, 0);
           -moz-transform: translate3d(0, 25px, 0);
            -ms-transform: translate3d(0, 25px, 0);
             -o-transform: translate3d(0, 25px, 0);
                transform: translate3d(0, 25px, 0);
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
           -moz-transform: translate3d(0, 0, 0);
            -ms-transform: translate3d(0, 0, 0);
             -o-transform: translate3d(0, 0, 0);
                transform: translate3d(0, 0, 0);
        opacity: 1
    }
}
#whoAreYou {
    margin: 0 auto 1rem;
    text-align: center;
    width: 87%;
}
#socialMedia {
    margin: 10px auto 0;
    justify-content: space-between;
}
.socialLogo {
    display: block;
    height: 35px;
    -webkit-transition: transform .25s;
       -moz-transition: transform .25s;
        -ms-transition: transform .25s;
         -o-transition: transform .25s;
            transition: transform .25s;
}
#linkedin {
    margin-right: 15px;
}
.socialLogo:hover {
    transform: translateY(-8px);
}
#linkedin.animate.slide-left, #instagram.animate.slide-left {
    -webkit-transform: translateX(-80%);
       -moz-transform: translateX(-80%);
        -ms-transform: translateX(-80%);
         -o-transform: translateX(-80%);
            transform: translateX(-80%);
}
#linkedin.animate.slide-left.in-view, #instagram.animate.slide-left.in-view {
    -webkit-transform: translateX(0);
       -moz-transform: translateX(0);
        -ms-transform: translateX(0);
         -o-transform: translateX(0);
            transform: translateX(0);
}
#linkedin.animate.slide-left {
    -webkit-transition: transform 1s ease-out .6s, opacity 1s ease-out .6s;
       -moz-transition: transform 1s ease-out .6s, opacity 1s ease-out .6s;
        -ms-transition: transform 1s ease-out .6s, opacity 1s ease-out .6s;
         -o-transition: transform 1s ease-out .6s, opacity 1s ease-out .6s;
            transition: transform 1s ease-out .6s, opacity 1s ease-out .6s;
}
#instagram.animate.slide-left {
    -webkit-transition: transform 1s ease-out .3s, opacity 1s ease-out .3s;
       -moz-transition: transform 1s ease-out .3s, opacity 1s ease-out .3s;
        -ms-transition: transform 1s ease-out .3s, opacity 1s ease-out .3s;
         -o-transition: transform 1s ease-out .3s, opacity 1s ease-out .3s;
            transition: transform 1s ease-out .3s, opacity 1s ease-out .3s;
}
.skillContainer {
    width: 100%;
    margin: .45rem auto;
}
.skillBarContainer {
    width: 100%;
    height: 30px;
}
.skillBar {
    width: 80%;
    background: #d4d4d4;
    border-bottom-right-radius: 4px;
    border-top-right-radius: 4px;
    -webkit-transition: background 1s;
       -moz-transition: background 1s;
         -o-transition: background 1s;
            transition: background 1s;
}
.skillName {
    justify-content: center;
    flex-direction: column;
    width: 22%;
    text-align: center;
    font-weight: bold;
    background: #88e0d7;
    border-bottom-left-radius: 4px;
    border-top-left-radius: 4px;
    -webkit-transition: background 1s;
       -moz-transition: background 1s;
         -o-transition: background 1s;
            transition: background 1s;
}
.progressBar {
    height: 30px;
    width: 0;
    background: var(--aqua);
    color: var(--white);
    border-bottom-right-radius: 4px;
    border-top-right-radius: 4px;
}
.rank {
    justify-content: center;
    flex-direction: column;
    margin-left: 10px;
    width: 6%;
}
#html.animate.progressBar.in-view {
    width: 90%;
    -webkit-transition: width 1s ease-out, background 1s;
       -moz-transition: width 1s ease-out, background 1s;
        -ms-transition: width 1s ease-out, background 1s;
         -o-transition: width 1s ease-out, background 1s;
            transition: width 1s ease-out, background 1s;
}
#css.animate.progressBar.in-view {
    width: 90%;
    -webkit-transition: width 1s ease-out .1s, background 1s;
       -moz-transition: width 1s ease-out .1s, background 1s;
        -ms-transition: width 1s ease-out .1s, background 1s;
         -o-transition: width 1s ease-out .1s, background 1s;
            transition: width 1s ease-out .1s, background 1s;
}
#js.animate.progressBar.in-view {
    width: 80%;
    -webkit-transition: width 1s ease-out .2s, background 1s;
       -moz-transition: width 1s ease-out .2s, background 1s;
        -ms-transition: width 1s ease-out .2s, background 1s;
         -o-transition: width 1s ease-out .2s, background 1s;
            transition: width 1s ease-out .2s, background 1s;
}
#wordpress.animate.progressBar.in-view {
    width: 90%;
    -webkit-transition: width 1s ease-out .3s, background 1s;
       -moz-transition: width 1s ease-out .3s, background 1s;
        -ms-transition: width 1s ease-out .3s, background 1s;
         -o-transition: width 1s ease-out .3s, background 1s;
            transition: width 1s ease-out .3s, background 1s;
}
#drupal.animate.progressBar.in-view {
    width: 90%;
    -webkit-transition: width 1s ease-out .4s, background 1s;
       -moz-transition: width 1s ease-out .4s, background 1s;
        -ms-transition: width 1s ease-out .4s, background 1s;
         -o-transition: width 1s ease-out .4s, background 1s;
            transition: width 1s ease-out .4s, background 1s;
}
#java.animate.progressBar.in-view {
    width: 75%;
    -webkit-transition: width 1s ease-out .5s, background 1s;
       -moz-transition: width 1s ease-out .5s, background 1s;
        -ms-transition: width 1s ease-out .5s, background 1s;
         -o-transition: width 1s ease-out .5s, background 1s;
            transition: width 1s ease-out .5s, background 1s;
}
#swift.animate.progressBar.in-view {
    width: 75%;
    -webkit-transition: width 1s ease-out .6s, background 1s;
       -moz-transition: width 1s ease-out .6s, background 1s;
        -ms-transition: width 1s ease-out .6s, background 1s;
         -o-transition: width 1s ease-out .6s, background 1s;
            transition: width 1s ease-out .6s, background 1s;
}
#ui.animate.progressBar.in-view {
    width: 80%;
    -webkit-transition: width 1s ease-out .7s, background 1s;
       -moz-transition: width 1s ease-out .7s, background 1s;
        -ms-transition: width 1s ease-out .7s, background 1s;
         -o-transition: width 1s ease-out .7s, background 1s;
            transition: width 1s ease-out .7s, background 1s;
}
#fps.animate.progressBar.in-view {
    width: 100%;
    -webkit-transition: width 1s ease-out .8s, background 1s;
       -moz-transition: width 1s ease-out .8s, background 1s;
        -ms-transition: width 1s ease-out .8s, background 1s;
         -o-transition: width 1s ease-out .8s, background 1s;
            transition: width 1s ease-out .8s, background 1s;
}
#sw.animate.progressBar.in-view {
    width: 100%;
    -webkit-transition: width 1s ease-out .9s, background 1s;
       -moz-transition: width 1s ease-out .9s, background 1s;
        -ms-transition: width 1s ease-out .9s, background 1s;
         -o-transition: width 1s ease-out .9s, background 1s;
            transition: width 1s ease-out .9s, background 1s;
}
#aboutContentBottomContainer {
    flex-direction: column;
    max-width: 1150px;
    margin: 2rem auto 0;
}
#aboutContentBottom1 {
    flex-direction: column;
    margin: 0 auto 20px;
}
.aboutContentBottom2 {
    justify-content: space-between;
    text-align: center;
    margin-bottom: 20px;
}
.aboutContentBottomContainer h3 {
    margin-top: 4rem;
    margin-bottom: 1.5em;
    font-size: 1.5rem;
    text-align: center;
}
.nerdyDetail {
    width: 48%;
}
.nerdyDetail h4 {
    margin-top: 1rem;
    font-size: 1.05rem;
    font-weight: 400;
}
.nerdyDetail img {
    width: 100%;
    margin: 0 auto 21px;
    border: 2px solid var(--black);
    border-radius: 10px;
    box-shadow: 0 5px 3px rgba(0,0,0,.12), 0 3px 15px rgba(0,0,0,.24);
    -webkit-transition: border 1s;
       -moz-transition: border 1s;
        -ms-transition: border 1s;
         -o-transition: border 1s;
            transition: border 1s;
}


@media only screen and (max-width: 1250px) {
    #aboutContentTopContainer, #aboutContentBottomContainer {
        max-width: 900px;
    }
    #whoAreYou {
        width: 80%;
    }
    #socialMedia {
        margin: 10px auto 0;
    }
    .skillName, .rank {
        font-size: .9rem;
    }
    .skillContainer {
        margin: .49rem auto;
    }
    .skillBarContainer {
        height: 25px;
    }
    .progressBar {
        height: 25px;
    }
    .nerdyDetail h4 {
        font-size: 1rem;
    }
}
@media only screen and (max-width: 1018px) {
    #aboutContentTopContainer, #aboutContentBottomContainer {
        max-width: 725px;
    }
    #aboutContentTop1 {
        width: 40%;
    }
    #aboutContentTop1 h3 {
        font-size: 1.3rem;
    }
    #me {
        width: 80%;
    }
    #whoAreYou {
        width: 100%;
    }
    #socialMedia {
        margin: 10px auto 0;
    }
    .skillName, .rank {
        font-size: .85rem;
    }
    #aboutContentTop2 {
        width: 55%;
    }
    .skillContainer {
        margin: .58rem auto;
    }
    .nerdyDetail {
        width: 49%;
    }
}
@media only screen and (max-width: 767px) {
    #about {
        padding-bottom: 0;
    }
    #about h2 {
        padding-top: .5rem;
        padding-bottom: .5rem;
        font-size: 3.5rem;
    }
    #aboutContentTopContainer {
        flex-direction: column;
    }
    #aboutContentTop1, #aboutContentTop2, #aboutContentBottom1, .aboutContentBottom2 {
        width: 90%;
        margin: 0 auto;
    }
    #aboutContentTop2 {
        margin: 3rem auto 0;
    }
    #me {
        width: 50%;
    }
    #whoAreYou {
        width: 70%;
    }
    .skillName, .rank {
        font-size: .85rem;
    }
    .skillBarContainer {
        height: 30px;
    }
    .progressBar {
        height: 30px;
    }
    .aboutContentBottom2 {
        flex-direction: column;
    }
    .nerdyDetail {
        width: 100%;
        margin: 0 auto 1.5rem;
    }
}
@media only screen and (max-width: 450px) {
    #me {
        width: 70%;
    }
    #whoAreYou {
        width: 90%;
    }
    .skillName {
        width: 25%;
        font-size: .78rem;
    }
}
@media only screen and (max-width: 375px) {
    #about h2 {
        font-size: 3rem;
    }
    #whoAreYou {
        width: 100%;
    }
    .skillName {
        width: 24.4%;
        font-size: .65rem;
    }
    .rank {
        margin-left: 5px;
        font-size: .72rem;
    }
}
/* end about section */




/* work section */
#work {
    background: var(--white);
    padding-bottom: 7rem;
    box-shadow: 0 1px 3px rgba(0,0,0,.12), 0 1px 15px rgba(0,0,0,.24), inset 0 -7px 15px -7px rgba(0,0,0,0.7);
    -webkit-transition: background 1s;
       -moz-transition: background 1s;
         -o-transition: background 1s;
            transition: background 1s;
}
#work h2 {
    padding-top: 6rem;
    padding-bottom: 2rem;
    font-size: 4rem;
    letter-spacing: .3rem;
    text-transform: uppercase;
    text-align: center;
}
#workContent {
    max-width: 1150px;
    margin: 0 auto;
}
#atlantaMagazineIntro {
    width: 700px;
    margin: 0 auto 2rem;
}
#atlantaMagazineIntro h3 {
    margin-top: 1.5rem;
    margin-bottom: .8em;
    font-size: 2rem;
    text-align: center;
}
#atlantaMagazineIntro h3.animate.slide-top {
    -webkit-transform: translateY(-150%);
       -moz-transform: translateY(-150%);
        -ms-transform: translateY(-150%);
         -o-transform: translateY(-150%);
            transform: translateY(-150%);
    -webkit-transition: transform 1s, opacity 1s ease-out;
       -moz-transition: transform 1s, opacity 1s ease-out;
        -ms-transition: transform 1s, opacity 1s ease-out;
         -o-transition: transform 1s, opacity 1s ease-out;
            transition: transform 1s, opacity 1s ease-out;
}
#atlantaMagazineIntro h3.animate.slide-top.in-view {
    -webkit-transform: translateY(0%);
       -moz-transform: translateY(0%);
        -ms-transform: translateY(0%);
         -o-transform: translateY(0%);
            transform: translateY(0%);
}
.languages {
    text-transform: uppercase;
    font-size: .78rem;
    font-weight: bold;
    color: var(--orange);
    -webkit-transition: color 1s;
       -moz-transition: color 1s;
         -o-transition: color 1s;
            transition: color 1s;
}
#slider {
    width: 1000px;
    margin: 0 auto;
}
#featuredSlide {
    position: relative;
    text-align: center;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    box-shadow: 0 5px 3px rgba(0,0,0,.12), 0 3px 15px rgba(0,0,0,.24);
}
#videoProgressBar {
    position: absolute;
    margin-left: 1px;
    overflow: hidden;
    width: 0;
    height: 3px;
    background: var(--orange);
    -webkit-transition: width 13.4s linear, background 1s;
       -moz-transition: width 13.4s linear, background 1s;
         -o-transition: width 13.4s linear, background 1s;
            transition: width 13.4s linear, background 1s;
}
#slideInfo {
    position: absolute;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    width: 1000px;
    height: 563px;
    border: 1px solid var(--black);
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    opacity: 0;
    z-index: 2;
    -webkit-transition: opacity .5s, background .5s, border .5s;
       -moz-transition: opacity .5s, background .5s, border .5s;
         -o-transition: opacity .5s, background .5s, border .5s;
            transition: opacity .5s, background .5s, border .5s;
}
#slideInfo:hover {
    opacity: 1;
    background: rgba(255,255,255,.95);
}
#video:hover {
    filter: opacity(5%);
}
#slideName {
    width: 80%;
    margin: 0 auto 1.5rem;
    font-family: 'Montserrat', sans-serif;
    font-size: 2.2rem;
    text-transform: uppercase;
    font-weight: bold;
}
#slideDescription {
    margin: 0 auto 2rem;
    width: 65%;
}
#slideLink {
    display: block;
    margin: 0 auto;
    width: 200px;
    height: 50px;
    line-height: 50px;
}
#video {
    display: block;
    width: 1000px;
    height: 562.5px;
    border: 1px solid var(--black);
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    -webkit-transition: border 1s;
       -moz-transition: border 1s;
         -o-transition: border 1s;
            transition: border 1s;
}
#exampleDock {
    margin-top: 15px;
    justify-content: space-between;
}
.example {
    width: 19%;
    height: 100%;
    cursor: pointer;
    border: 1px solid var(--black);
    border-radius: 7px;
    box-shadow: 0 5px 3px rgba(0,0,0,.12), 0 3px 15px rgba(0,0,0,.24);
    -webkit-transition: border 1s;
       -moz-transition: border 1s;
         -o-transition: border 1s;
            transition: border 1s;
}
#mobileSlideInfo {
    display: none;
    text-align: center;
}
#mobileSlideName {
    margin: 1rem auto;
    font-family: 'Montserrat', sans-serif;
    font-size: 1.1rem;
    text-transform: uppercase;
    font-weight: bold;
}
#mobileSlideDescription {
    margin: 1rem auto;
    font-size: .95rem;
}
#mobileSlideLink {
    display: block;
    margin: 1.2rem auto 0;
    width: 150px;
    height: 45px;
    line-height: 45px;
    font-size: .95rem;
}
#bestRestaurants.animate.slide-right, #atlutd.animate.slide-right, #blutsteins.animate.slide-right, #adventure.animate.slide-right, #topdocs.animate.slide-right {
    -webkit-transform: translateX(80%);
       -moz-transform: translateX(80%);
        -ms-transform: translateX(80%);
         -o-transform: translateX(80%);
            transform: translateX(80%);
}
#bestRestaurants, #atlutd, #blutsteins, #adventure, #topdocs {
    filter: opacity(35%);
}
#bestRestaurants.selectedExample, #atlutd.selectedExample, #blutsteins.selectedExample, #adventure.selectedExample, #topdocs.selectedExample, #bestRestaurants:hover, #atlutd:hover, #blutsteins:hover, #adventure:hover, #topdocs:hover {
    filter: opacity(100%);
}
#bestRestaurants {
    -webkit-transition: transform 1s ease-out, opacity 1s ease-out, filter .5s;
       -moz-transition: transform 1s ease-out, opacity 1s ease-out, filter .5s;
        -ms-transition: transform 1s ease-out, opacity 1s ease-out, filter .5s;
         -o-transition: transform 1s ease-out, opacity 1s ease-out, filter .5s;
            transition: transform 1s ease-out, opacity 1s ease-out, filter .5s;
}
#atlutd {
    -webkit-transition: transform 1s ease-out .3s, opacity 1s ease-out .3s, filter .5s;
       -moz-transition: transform 1s ease-out .3s, opacity 1s ease-out .3s, filter .5s;
        -ms-transition: transform 1s ease-out .3s, opacity 1s ease-out .3s, filter .5s;
         -o-transition: transform 1s ease-out .3s, opacity 1s ease-out .3s, filter .5s;
            transition: transform 1s ease-out .3s, opacity 1s ease-out .3s, filter .5s;
}
#blutsteins {
    -webkit-transition: transform 1s ease-out .6s, opacity 1s ease-out .6s, filter .5s;
       -moz-transition: transform 1s ease-out .6s, opacity 1s ease-out .6s, filter .5s;
        -ms-transition: transform 1s ease-out .6s, opacity 1s ease-out .6s, filter .5s;
         -o-transition: transform 1s ease-out .6s, opacity 1s ease-out .6s, filter .5s;
            transition: transform 1s ease-out .6s, opacity 1s ease-out .6s, filter .5s;
}
#adventure {
    -webkit-transition: transform 1s ease-out .9s, opacity 1s ease-out .9s, filter .5s;
       -moz-transition: transform 1s ease-out .9s, opacity 1s ease-out .9s, filter .5s;
        -ms-transition: transform 1s ease-out .9s, opacity 1s ease-out .9s, filter .5s;
         -o-transition: transform 1s ease-out .9s, opacity 1s ease-out .9s, filter .5s;
            transition: transform 1s ease-out .9s, opacity 1s ease-out .9s, filter .5s;
}
#topdocs {
    -webkit-transition: transform 1s ease-out 1.2s, opacity 1s ease-out 1.2s, filter .5s;
       -moz-transition: transform 1s ease-out 1.2s, opacity 1s ease-out 1.2s, filter .5s;
        -ms-transition: transform 1s ease-out 1.2s, opacity 1s ease-out 1.2s, filter .5s;
         -o-transition: transform 1s ease-out 1.2s, opacity 1s ease-out 1.2s, filter .5s;
            transition: transform 1s ease-out 1.2s, opacity 1s ease-out 1.2s, filter .5s;
}
#bestRestaurants.animate.slide-right.in-view, #atlutd.animate.slide-right.in-view, #blutsteins.animate.slide-right.in-view, #adventure.animate.slide-right.in-view, #topdocs.animate.slide-right.in-view {
    -webkit-transform: translateX(0);
       -moz-transform: translateX(0);
        -ms-transform: translateX(0);
         -o-transform: translateX(0);
            transform: translateX(0);
}
#ebb, #shion, #telecomWires, #atlantaMagazineWriting {
    margin-top: 9rem;
}
.workContentContainer h3 {
    font-size: 1.88rem;
    margin-top: 0;
    margin-bottom: .5rem;
    text-align: center;
}
.workContentContainer {
    flex-direction: row;
    justify-content: space-between;
}
.workContentLeft {
    width: 50%;
    flex-direction: column;
}
#shion .workContentLeft {
    width: 45%;
    order: 1;
}
.workContentLeft p {
    width: 90%;
    margin: 1rem auto .7rem;
}
ul li {
    list-style-image: url(images/check.png);
    margin-bottom: 1rem;
    margin-left: 1.7rem;
    padding-right: 1.7rem;
}
#list1.animate.slide-left, #list2.animate.slide-left, #list3.animate.slide-left, #list4.animate.slide-left, #list5.animate.slide-left {
    -webkit-transform: translateX(-25%);
       -moz-transform: translateX(-25%);
        -ms-transform: translateX(-25%);
         -o-transform: translateX(-25%);
            transform: translateX(-25%);
}
#list1.animate.slide-left.in-view, #list2.animate.slide-left.in-view, #list3.animate.slide-left.in-view, #list4.animate.slide-left.in-view, #list5.animate.slide-left.in-view {
    -webkit-transform: translateX(0);
       -moz-transform: translateX(0);
        -ms-transform: translateX(0);
         -o-transform: translateX(0);
            transform: translateX(0);
}
#list1.animate.slide-left {
    -webkit-transition: transform 1s ease-out .1s, opacity 1s ease-out .1s;
       -moz-transition: transform 1s ease-out .1s, opacity 1s ease-out .1s;
        -ms-transition: transform 1s ease-out .1s, opacity 1s ease-out .1s;
         -o-transition: transform 1s ease-out .1s, opacity 1s ease-out .1s;
            transition: transform 1s ease-out .1s, opacity 1s ease-out .1s;
}
#list2.animate.slide-left {
    -webkit-transition: transform 1s ease-out .2s, opacity 1s ease-out .2s;
       -moz-transition: transform 1s ease-out .2s, opacity 1s ease-out .2s;
        -ms-transition: transform 1s ease-out .2s, opacity 1s ease-out .2s;
         -o-transition: transform 1s ease-out .2s, opacity 1s ease-out .2s;
            transition: transform 1s ease-out .2s, opacity 1s ease-out .2s;
}
#list3.animate.slide-left {
    -webkit-transition: transform 1s ease-out .3s, opacity 1s ease-out .3s;
       -moz-transition: transform 1s ease-out .3s, opacity 1s ease-out .3s;
        -ms-transition: transform 1s ease-out .3s, opacity 1s ease-out .3s;
         -o-transition: transform 1s ease-out .3s, opacity 1s ease-out .3s;
            transition: transform 1s ease-out .3s, opacity 1s ease-out .3s;
}
#list4.animate.slide-left {
    -webkit-transition: transform 1s ease-out .4s, opacity 1s ease-out .4s;
       -moz-transition: transform 1s ease-out .4s, opacity 1s ease-out .4s;
        -ms-transition: transform 1s ease-out .4s, opacity 1s ease-out .4s;
         -o-transition: transform 1s ease-out .4s, opacity 1s ease-out .4s;
            transition: transform 1s ease-out .4s, opacity 1s ease-out .4s;
}
#list5.animate.slide-left {
    -webkit-transition: transform 1s ease-out .5s, opacity 1s ease-out .5s;
       -moz-transition: transform 1s ease-out .5s, opacity 1s ease-out .5s;
        -ms-transition: transform 1s ease-out .5s, opacity 1s ease-out .5s;
         -o-transition: transform 1s ease-out .5s, opacity 1s ease-out .5s;
            transition: transform 1s ease-out .5s, opacity 1s ease-out .5s;
}
.workLinks {
    margin: 1rem auto 0;
    width: 80%;
    justify-content: center;
}
.workLinks.animate.fade-in {
    -webkit-transition: opacity 1.25s ease-out;
       -moz-transition: opacity 1.25s ease-out;
        -ms-transition: opacity 1.25s ease-out;
         -o-transition: opacity 1.25s ease-out;
            transition: opacity 1.25s ease-out;
}
#ebbLink, #shionLink {
    width: 200px;
    height: 50px;
    line-height: 50px;
    font-size: 1.15rem;
}
.appStore {
    display: block;
    height: 54px;
}
.workContentRight {
    width: 43%;
    flex-direction: column;
}
#ebbSlider {
    position: relative;
}
.ebbSlide img, .telecomWiresSlide img, .shionSlide img, .shionSlide video {
    margin: 0 auto;
    max-height: 700px;
    max-width: 400px;
    height: auto;
    width: auto;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
         -o-user-select: none;
            user-select: none;
}
.shionSlide img, .shionSlide video {
    max-width: 525px;
    max-height: 580px;
}
#shionSliderContainer {
    width: 53%;
    justify-content: center;
    align-items: center;
}
.shionSliderCaption {
    position: absolute;
    width: 86%;
    font-size: .8rem;
}
.sliderButton {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: #000000;
    color: var(--white);
    cursor: pointer;
    font-size: 1.4rem;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    border-radius: 50%;
    -webkit-transition: background-color .3s, box-shadow .3s;
       -moz-transition: background-color .3s, box-shadow .3s;
         -o-transition: background-color .3s, box-shadow .3s;
            transition: background-color .3s, box-shadow .3s;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
         -o-user-select: none;
            user-select: none;
}
.sliderButton:hover {
    background: #333;
    box-shadow: 0 5px 10px 0 rgba(0,0,0,.2), 0 5px 5px 0 rgba(0,0,0,.19);
}
.sliderButtonLeft {
    left: 0;
}
.sliderButtonRight {
    right: 0;
}
#telecomWires .workLinks, #shion .workLinks {
    justify-content: center;
}
#writingClipsParagraph, #atlantaMagazineWriting .languages {
    width: 65%;
    margin: 1rem auto .75rem;
    text-align: center;
}
#atlantaMagazineWriting .languages {
    margin: 0 auto 3rem;
}
.atlantaMagazineWritingContent {
    justify-content: space-between;
}
.writingExampleContainer {
    width: 49.5%;
}
.writingExampleContainer img {
    max-width: 100%;
    border-radius: 7px;
    box-shadow: 0 5px 3px rgba(0,0,0,.12), 0 3px 15px rgba(0,0,0,.24);
}
.writingExample {
    position: relative;
}
.writingExample:hover .writingExampleInfoContainer {
    opacity: 1;
    background: rgba(255,255,255,.85);
}
.writingExampleInfoContainer {
    position: absolute;
    top: 0;
    text-align: center;
    width: 100%;
    height: 100%;
    border: 1px solid var(--black);
    border-radius: 7px;
    opacity: 0;
    z-index: 2;
    -webkit-transition: opacity .5s, background .5s, border .5s;
       -moz-transition: opacity .5s, background .5s, border .5s;
         -o-transition: opacity .5s, background .5s, border .5s;
            transition: opacity .5s, background .5s, border .5s;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
            box-sizing: border-box;
}
.writingExampleInfoContainer p {
    width: 80%;
    margin: 0 auto;
}
.writingExampleInfoContainer a {
    display: block;
    margin: 1.5rem auto 0;
    width: 150px;
    height: 45px;
    line-height: 45px;
}
.writingExampleInfo {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}
.writingExampleContainer h4 {
    font-size: .95rem;
    margin-top: 1rem;
    margin-bottom: 2.5rem;
    text-align: center;
}


@media only screen and (max-width: 1250px) {
    #workContent {
        max-width: 900px;
    }
    #slider, #video, #slideInfo {
        width: 900px;
        height: 506.2px;
    }
    .workContentLeft {
        width: 55%;
    }
    .workContentRight {
        width: 40%;
        justify-content: center;
    }
    .ebbSlide img, .telecomWiresSlide img, .shionSlide img, .shionSlide video {
        max-height: 500px;
        max-width: 280px;
    }
    .shionSlide img, .shionSlide video {
        max-width: 395px;
    }
    .shionSliderCaption {
        width: 82.2%;
    }
    #atlantaMagazineWriting .languages {
        margin: 0 auto 2.5rem;
    }
}
@media only screen and (max-width: 1018px) {
    #workContent {
        max-width: 725px;
    }
    #slider, #video, #slideInfo {
        width: 725px;
        height: 408px;
    }
    #slideName {
        width: 90%;
        font-size: 1.8rem;
    }
    #slideDescription {
        width: 90%;
    }
    #slideLink {
        width: 175px;
        height: 45px;
        line-height: 45px;
    }
    .workContentLeft {
        width: 55%;
    }
    .workContentRight {
        width: 43%;
        justify-content: center;
    }
    .workContentContainer h3 {
        font-size: 1.6rem;
        margin-top: 0;
        margin-bottom: .5rem;
        text-align: center;
    }
    ul li {
        margin-bottom: .65rem;
    }
    #ebbLink, #shionLink {
        width: 150px;
        height: 45px;
        line-height: 45px;
        font-size: 1rem;
    }
    .appStore {
        height: 49px;
    }
    .shionSlide img, .shionSlide video {
        max-width: 315px;
    }
    .shionSliderCaption {
        width: 81.5%;
    }
    #writingClipsParagraph {
        width: 90%;
    }
    .writingExampleInfoContainer p {
        width: 95%;
        font-size: .8rem;
    }
    .writingExampleInfoContainer a {
        margin: 1rem auto 0;
        width: 150px;
        height: 40px;
        line-height: 40px;
    }
    #atlantaMagazineWriting .languages {
        margin: 0 auto 2rem;
    }
}
@media only screen and (max-width: 767px) {
    #work {
        padding-bottom: 3rem;
    }
    #work h2 {
        padding-top: 5rem;
        padding-bottom: 2rem;
        font-size: 3.5rem;
    }
    #atlantaMagazineIntro {
        width: 90%;
        margin: 0 auto 2rem;
    }
    #atlantaMagazineIntro h3 {
        font-size: 1.5rem;
        text-align: center;
    }
    #slider, #video {
        width: 90%;
        height: 100%;
    }
    #video {
        width: 100%;
    }
    #videoProgressBar {
        z-index: 2;
    }
    #video:hover {
        filter: opacity(100%);
    }
    #slideInfo {
        display: none;
    }
    #slideName {
        width: 90%;
        font-size: 1rem;
    }
    #slideDescription {
        width: 90%;
        font-size: .85rem;
    }
    #slideLink {
        width: 150px;
        height: 40px;
        line-height: 40px;
        font-size: .85rem;
    }
    #exampleDock {
        flex-flow: wrap;
        justify-content: space-around;
    }
    .example {
        width: 30%;
        margin-bottom: 20px;
    }
    #mobileSlideInfo {
        display: block;
    }
    #ebb, #shion, #atlantaMagazineWriting {
        margin-top: 10rem;
    }
    #telecomWires {
        margin-top: 15rem;
    }
    .workContentContainer h3 {
        width: 90%;
        margin: 0 auto .5rem;
        font-size: 1.8rem;
    }
    .workContentContainer {
        flex-direction: column;
    }
    .workContentLeft {
        width: 100%;
        margin: 0 auto;
    }
    .workContentRight {
        width: 80%;
        margin: 2.75rem auto;
    }
    #ebbLink, #shionLink {
        width: 175px;
        height: 50px;
        line-height: 50px;
        font-size: 1rem;
    }
    .appStore {
        height: 54px;
    }
    .ebbSlide img, .shionSlide img, .shionSlide video {
        max-height: 500px;
        max-width: 300px;
    }
    #shion .workContentLeft {
        width: 100%;
        order: 0;
    }
    #shionSliderContainer {
        width: 90%;
    }
    .shionSlide img, .shionSlide video {
        display: block;
        max-width: 85%;
    }
    .shionSliderCaption {
        width: 85%;
        margin-left: auto;
        margin-right: auto;
        left: 0;
        right: 0;
    }
    .telecomWiresSlide img {
        max-height: 600px;
        max-width: 300px;
    }
    .atlantaMagazineWritingContent {
        flex-direction: column;
        width: 90%;
        margin: 0 auto;
    }
    .writingExampleContainer {
        width: 100%;
    }
    .writingExampleInfoContainer p {
        font-size: .95rem;
    }
    .writingExampleContainer h4 {
        margin-bottom: 1.5rem;
    }
}
@media only screen and (max-width: 450px) {
    #ebbLink {
        width: 135px;
        height: 42px;
        line-height: 42px;
        font-size: .9rem;
    }
    #telecomWires {
        margin-top: 20rem;
    }
    .appStore {
        height: 46px;
    }
    .sliderButton {
        font-size: 1.1rem;
    }
    .writingExampleInfoContainer p {
        font-size: .9rem;
    }
    .writingExampleInfoContainer a {
        margin: .5rem auto 0;
        width: 100px;
        height: 30px;
        line-height: 30px;
    }
}
@media only screen and (max-width: 375px) {
    #work h2 {
        font-size: 3rem;
    }
    #ebbLink {
        width: 130px;
        height: 35px;
        line-height: 35px;
        font-size: .87rem;
    }
    .appStore {
        height: 39px;
    }
    .sliderButton {
        width: 30px;
        height: 30px;
        line-height: 30px;
        font-size: 1rem;
    }
    .ebbSlide img, .shionSlide img, .shionSlide video {
        max-height: 500px;
        max-width: 235px;
    }
    .telecomWiresSlide img {
        max-height: 450px;
        max-width: 235px;
    }
    .shionSliderCaption {
        width: 80%;
    }
    .writingExampleInfoContainer p {
        font-size: .8rem;
        line-height: 1.1rem;
    }
}
/* end work section */



/* contact section */
#contact {
    background: var(--black);
    color: var(--white);
    padding-bottom: 7rem;
    -webkit-transition: background 1s;
       -moz-transition: background 1s;
         -o-transition: background 1s;
            transition: background 1s;
}
#contact h2 {
    margin-top: 0;
    padding-top: 4rem;
    padding-bottom: 1rem;
    font-size: 4rem;
    letter-spacing: .3rem;
    text-transform: uppercase;
    text-align: center;
}
#contactContent {
    max-width: 1150px;
    margin: 0 auto;
}
#contactForm {
    flex-direction: column;
    width: 40%;
    margin: 0 auto;
    justify-content: space-between;
}
#contactName, #contactEmail, #contactMessage {
    font-family: 'Roboto', sans-serif;
    margin-bottom: 1rem;
    padding: .5rem;
    font-size: 1rem;
    border: 2px solid var(--white);
    border-radius: 4px;
    background: var(--white);
    color: var(--black);
    -webkit-transition: border .25s, opacity 1.5s ease-out;
       -moz-transition: border .25s, opacity 1.5s ease-out;
         -o-transition: border .25s, opacity 1.5s ease-out;
            transition: border .25s, opacity 1.5s ease-out;
}
#contactName:focus, #contactEmail:focus, #contactMessage:focus {
    outline: none;
    border: 2px solid var(--orange);
}
#contactEmail {
    -webkit-transition: border .25s, opacity 1.5s ease-out .2s;
       -moz-transition: border .25s, opacity 1.5s ease-out .2s;
         -o-transition: border .25s, opacity 1.5s ease-out .2s;
            transition: border .25s, opacity 1.5s ease-out .2s;
}
#contactSubmit {
    width: 125px;
    height: 40px;
    margin-left: auto;
    background: transparent;
    color: var(--orange);
    font-size: 1rem;
    border: 2px solid var(--orange);
    border-radius: 4px;
    cursor: pointer;
    -webkit-transform: translateX(25%);
       -moz-transform: translateX(25%);
        -ms-transform: translateX(25%);
         -o-transform: translateX(25%);
            transform: translateX(25%);
    -webkit-transition: transform 1s .6s, opacity 1s ease-out .6s, background .25s, color .25s, border .25s;
       -moz-transition: transform 1s .6s, opacity 1s ease-out .6s, background .25s, color .25s, border .25s;
        -ms-transition: transform 1s .6s, opacity 1s ease-out .6s, background .25s, color .25s, border .25s;
         -o-transition: transform 1s .6s, opacity 1s ease-out .6s, background .25s, color .25s, border .25s;
            transition: transform 1s .6s, opacity 1s ease-out .6s, background .25s, color .25s, border .25s;
}
#contactSubmit.in-view {
    -webkit-transform: translateX(0);
       -moz-transform: translateX(0);
        -ms-transform: translateX(0);
         -o-transform: translateX(0);
            transform: translateX(0);
}
#contactSubmit:hover {
    background: var(--orange);
    color: var(--white);
}
#contactMessage {
    height: 7rem;
    -webkit-transition: border .25s, opacity 1.5s ease-out .4s;
       -moz-transition: border .25s, opacity 1.5s ease-out .4s;
         -o-transition: border .25s, opacity 1.5s ease-out .4s;
            transition: border .25s, opacity 1.5s ease-out .4s;
}
@media only screen and (max-width: 767px) {
    #contact {
        padding-bottom: 3rem;
    }
    #contactForm {
        width: 85%;
    }
}
@media only screen and (max-width: 450px) {
    #contact h2 {
        font-size: 3.2rem;
    }
}
@media only screen and (max-width: 375px) {
    #contact h2 {
        font-size: 3rem;
    }
}
/* end contact section */


/* footer section */
footer {
    background: var(--black);
    padding-bottom: 3rem;
    font-size: .8rem;
    text-transform: uppercase;
    text-align: center;
    color: var(--aqua);
    -webkit-transition: background 1s, color 1s;
       -moz-transition: background 1s, color 1s;
         -o-transition: background 1s, color 1s;
            transition: background 1s, color 1s;
}
#footerContent {
    max-width: 200px;
    margin: 0 auto;
    padding-top: 1rem;
    justify-content: space-between;
}
#footerTextWrapper {
    flex-direction: column;
    justify-content: space-between;
}
footer p {
    margin: 0;
}
#underline {
    width: 75%;
    margin: 0 auto;
    border: 0;
    border-top: 1px solid var(--aqua);
    -webkit-transition: width .5s, border 1s;
       -moz-transition: width .5s, border 1s;
         -o-transition: width .5s, border 1s;
            transition: width .5s, border 1s;
}
#footerTextWrapper a:hover + #underline {
    width: 90%;
}
#returnTop {
    background: var(--aqua);
    color: var(--white);
    width: 45px;
    height: 45px;
    line-height: 45px;
    border-radius: 4px;
    margin: 0 auto;
    -webkit-transition: background 1s;
       -moz-transition: background 1s;
         -o-transition: background 1s;
            transition: background 1s;
}
#returnTop i {
    -webkit-transition: transform .2s;
       -moz-transition: transform .2s;
         -o-transition: transform .2s;
            transition: transform .2s;
}
#returnTop:hover i {
    transform: translateY(-5px);
}
/* end footer */