/*!
    Title: Dev Portfolio Template
    Version: 1.2.2
    Last Change: 03/25/2020
    Author: Ryan Fitzgerald
    Repo: https://github.com/RyanFitzgerald/devportfolio-template
    Issues: https://github.com/RyanFitzgerald/devportfolio-template/issues

    Description: This file contains all the styles associated with the page
    that don't come from third party libraries. This file gets compiled using
    Gulp and send to the /css folder which is then loaded on the page.
*/

* {
    color: #fff;
}

body {
    display: flex;
    flex-direction: column;
    font-family: 'JetBrains Mono', monospace;
    background-color: #131313;
    color: #fff;
    margin: 0;
}
    
body.active {
    overflow:hidden;
    z-index:-1
}

.no-js #experience-timeline>div {
    background:#131313;
    padding:10px;
    margin-bottom:10px;
    border:1px solid #dcd9d9
}

.no-js #experience-timeline>div h3 {
    font-size:1.5em;
    font-weight:300;
    color:#131313;
    display:inline-block;
    margin:0
}

.container {
    background:#131313
}

.no-js #experience-timeline>div h4 {
    font-size:1.2em;
    font-weight:300;
    color:#131313;
    margin:0 0 15px 0
}
.no-js #experience-timeline>div p {
    color:#74808a;font-size:0.9em;margin:0
}
.no-js #experience-timeline:before,.no-js #experience-timeline:after {
    content:none
}

@keyframes dropHeader {
    0%{transform:translateY(-100%)
    }
    100%{transform:translateY(0)}
}

header {
    position:absolute;
    top:0;
    left:0;
    right:0;
    text-align:center;
    z-index:10;
    animation-name:dropHeader;
    animation-iteration-count:1;
    animation-timing-function:ease;
    animation-duration:0.75s
}

header ul {display:inline-block;background:#131313;text-align:center;padding:10px;margin:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}header li{display:inline-block}header a{display:block;color:#ffffff;padding:10px}header a:hover{color:#111111;text-decoration:none;background:#eee;border-radius:4px}header a:focus{color:#ffffff;text-decoration:none}header.active{display:block}header.sticky{position:fixed;z-index:999}#menu.active{display:block}#mobile-menu-open{display:none;cursor:pointer;position:fixed;right:15px;top:10px;color:#131313;font-size:1.5em;z-index:20;padding:0 7px;border-radius:4px;background:#fff}#mobile-menu-close{display:none;text-align:right;width:100%;background:#9e8080;font-size:1.5em;padding-right:15px;padding-top:10px;cursor:pointer;color:#ffffff}#mobile-menu-close span{font-size:0.5em;text-transform:uppercase}#mobile-menu-close i{vertical-align:middle}footer{padding:50px 0}.copyright{padding-top:20px}.copyright p{margin:0;color:#74808a}.top{text-align:center}.top span{cursor:pointer;display:block;margin:15px auto 0 auto;width:35px;height:35px;border-radius:50%;border:3px solid #b9bfc4;text-align:center}.top i{color:#74808a}.social{text-align:right}.social ul{margin:5px 0 0 0;padding:0}.social li{display:inline-block;font-size:1.25em;list-style:none}.social a{display:block;color:#74808a;padding:10px}.social a:hover{color:rgb(127, 127, 127)}.btn-rounded-white{display:inline-block;color:#fff;padding:15px 25px;border:3px solid #fff;border-radius:30px;transition:.5s ease all}.btn-rounded-white:hover{color:#969a9c;background:#fff;text-decoration:none}.shadow{box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24)}.shadow-large{box-shadow:0 3px 6px rgba(0,0,0,0.08),0 3px 6px rgba(0,0,0,0.15)}.heading{position:relative;display:inline-block;font-size:2em;font-weight:300;margin:0 0 30px 0}.heading:after{position:absolute;content:'';top:100%;height:1px;width:50px;left:0;right:0;margin:0 auto;background:#131313}

.background-alt {
    background:#131313
}

#lead{position:relative;height:100vh;min-height:500px;max-height:1080px;background:url(../images/lead-bg.jpg);background-size:cover;padding:15px;overflow:hidden}#lead-content{position:absolute;z-index:10;top:50%;left:50%;transform:translate(-50%, -50%);text-align:center}#lead-content h1,#lead-content h2{margin:0}#lead-content h1{color:#fff;font-weight:900;font-size:5em;text-transform:uppercase;letter-spacing:0.05em;line-height:0.9em}#lead-content h2{color:#fff;font-weight:500;font-size:2.25em;margin-bottom:15px}#lead-overlay{position:absolute;height:100%;width:100%;top:0;right:0;bottom:0;left:0;background:rgba(33,125,187,0.8);z-index:1}#lead-down{position:absolute;left:0;right:0;width:100%;text-align:center;z-index:10;bottom:15px;color:#fff}#lead-down span{cursor:pointer;display:block;margin:0 auto;width:35px;height:35px;border-radius:50%;border:3px solid #fff;text-align:center}#lead-down i{animation:pulsate 1.5s ease;animation-iteration-count:infinite;padding-top:5px}@keyframes pulsate{0%{transform:scale(1, 1)}50%{transform:scale(1.2, 1.2)}100%{transform:scale(1, 1)}}#about{padding:75px 15px;border-bottom:1px solid #fff}#about h2{color:#374054}#about p{color:#74808a;margin:0}#experience{padding:50px 15px;text-align:center;border-bottom:1px solid #dcd9d9}#experience h2{color:#374054}#experience-timeline{margin:30px auto 0 auto;position:relative;max-width:1000px}#experience-timeline:before{position:absolute;content:'';top:0;bottom:0;left:303px;right:auto;height:100%;width:3px;background:#fff;z-index:0}#experience-timeline:after{position:absolute;content:'';width:3px;height:40px;background:#3498db;background:linear-gradient(to bottom, #3498db, rgba(52,152,219,0));top:100%;left:303px}.vtimeline-content{margin-left:350px;background:#fff;border:1px solid #e6e6e6;padding:15px;border-radius:3px;text-align:left}.vtimeline-content h3{font-size:1.5em;font-weight:300;color:#374054;display:inline-block;margin:0}.vtimeline-content h4{font-size:1.2em;font-weight:300;color:#7e8890;margin:0 0 15px 0}.vtimeline-content p{color:#74808a;font-size:0.9em;margin:0}.vtimeline-point{position:relative;display:block;vertical-align:top;margin-bottom:30px}.vtimeline-icon{position:relative;color:#fff;width:50px;height:50px;background:#3498db;border-radius:50%;float:left;z-index:99;margin-left:280px}.vtimeline-icon i{display:block;font-size:2em;margin-top:10px}.vtimeline-date{width:260px;text-align:right;position:absolute;left:0;top:10px;font-weight:300;color:#374054}

#education {
    padding:50px 15px 20px 15px;
    text-align:center
}

#education h2 {
    color:#374054;
    margin-bottom:50px
}

.education-block {
    width:900px;
    margin:0 auto 30px auto;
    padding:15px;
    text-align:left;
    background: #222222;
}
    
.education-block h3 {
    font-weight:500;
    float:left;
    margin:0;
    color:#ffffff;
    max-width: 70%;
}

.education-block span {
    color:#ffffff;
    float:right;
    text-align:right;
}

.education-block h4 {
    color:#74808a;
    clear:both;
    font-weight:500;
    margin:0 0 15px 0
}

.education-block p,.education-block ul {
    margin:0;
    color:#74808a;
    font-size:0.9em
}

.education-block ul {
    padding:0 0 0 15px
}

#projects {
    padding:50px 15px 20px 15px;
    text-align:center
}

#projects h2{color:#374054;margin-bottom:50px}

.project {
    position:relative;
    max-width:900px;
    margin:0 auto 30px auto;
    overflow:hidden;
    background:#222222;
    border-radius:4px
}



.project-image {
    float:left;
    align-items: center;    
    background-color: #1c1c1c;
}

.project-info {
    position:absolute;top:50%;transform:translateY(-50%);margin-left:300px;padding:15px
}

.project-info h3 {
    font-size:1.5em;
    font-weight:300;
    color:#ffffff;
    margin:0 0 15px 0
}

.project-info p {
    color:#74808a;
    margin:0 0 15px 0;
    font-size:0.9em
}

.no-image .project-info {
    position:relative;
    margin:0;
    padding:30px 15px;
    transform:none
}

#more-projects{display:none}

#skills {
    padding:50px 15px;
    text-align:center
}
#skills h2 {
    color:#ffffff;
    margin-bottom:50px
}
#skills ul {
    display:block;
    margin:0 auto;
    padding:0;
    max-width:800px
}
#skills li {
    display:inline-block;
    margin:7px;
    padding:5px 10px;
    color:#ffffff;
    background:#222222;
    list-style:none;    
    cursor:default;
    font-size:1.2em
}

.certifications-block {
    width:900px;
    margin:0 auto 5px auto;
    padding:15px;
    text-align:left;
    background: #222222;
}
    
.certifications-block h3 {
    font-weight:500;
    float:left;
    margin:0;
    color:#ffffff;
    max-width: 70%;
}

.certifications-block span {
    color:#ffffff;
    float:right;
    text-align:right;
}

#contact {
    padding:50px 15px;
    background:#131313;
    text-align:center
}

#contact h2 {
    margin:0 0 15px 0;
    color:#fff;
    font-weight:500
}

#contact-form {
    max-width:500px;
    margin:0 auto
}
    
#contact-form input,#contact-form textarea {
    display:block;
    width:100%;
    padding:10px;
    border-radius:4px;
    border:none;
    margin-bottom:10px;
    background:#222222;
    color:#fff;
    transition:.5s ease all
}

#contact-form input::-webkit-input-placeholder,#contact-form textarea::-webkit-input-placeholder {
    color:#fff
}

#contact-form input:-moz-placeholder,#contact-form textarea:-moz-placeholder {
    color:#fff;opacity:1}#contact-form input::-moz-placeholder,#contact-form textarea::-moz-placeholder{color:#fff;opacity:1}#contact-form input:-ms-input-placeholder,#contact-form textarea:-ms-input-placeholder{color:#fff}#contact-form input:focus,#contact-form textarea:focus{outline:none;background:#1c1c1c}#contact-form textarea{height:150px;resize:none}

#contact-form button {
    display:block;
    width:100%;
    background:#222222;
    border-radius:4px;
    padding:5px 10px;
    border:none;
    color:#fff;
    font-weight:700;
    box-shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);transition:.5s ease all}#contact-form button:hover{box-shadow:0 10px 20px rgba(0,0,0,0.19),0 6px 6px rgba(0,0,0,0.23)}.optional-section{padding:50px 15px;text-align:center;border-top:1px solid #dcd9d9}.optional-section h2{color:#374054}.optional-section-block{max-width:700px;margin:0 auto 30px auto;padding:15px;border:1px solid #dcd9d9;background:#fff;text-align:left}.optional-section-block h3{font-weight:500;margin:0 0 15px 0;color:#374054}.optional-section-block h4{color:#74808a;clear:both;font-weight:500;margin:0 0 15px 0}.optional-section-block p,.optional-section-block ul{margin:0 0 15px 0;color:#74808a;font-size:0.9em}.optional-section-block ul{padding:0 0 0 15px}@media only screen and (max-width: 750px){#experience-timeline:before,#experience-timeline:after{left:23px}.vtimeline-date{width:auto;text-align:left;position:relative;margin-bottom:15px;display:block;margin-left:70px}.vtimeline-icon{margin-left:0}.vtimeline-content{margin-left:70px}}@media only screen and (max-width: 992px){#lead{height:auto;min-height:auto;max-height:auto;padding:100px 15px}#lead-content{position:relative;transform:none;left:auto;top:auto}#lead-content h1{font-size:3em}#lead-content h2{font-size:1.75em}#about{text-align:center}#about p{text-align:left}}@media only screen and (max-width: 768px){header{position:fixed;display:none;z-index:999;animation:none;bottom:0;height:100%}#mobile-menu-open,#mobile-menu-close{display:block}#menu{height:100%;overflow-y:auto;box-shadow:none;border-radius:0;width:100%}#menu li{display:block;margin-bottom:10px}#lead-content h1{font-size:2em}#lead-content h2{font-size:1.3em}#lead-content a{padding:10px 20px}#lead-down{display:none}
    
.education-block h3,.education-block span {
    float:none
}

.project-image{display:none}.project-info{position:relative;margin:0;padding:30px 15px;top:auto;transform:none}footer{text-align:center}.social{text-align:center}}@media only screen and (max-width: 480px){#lead-content h1{font-size:1.5em}#lead-content h2{font-size:1em}#lead-content a{font-size:0.9em;padding:5px 10px}}

.fit-to-screen {
    height: 100%;
    width: 100%;
}

/* Landing Page Layout */
.landing {
    display: flex;
    height: 100vh;
    justify-content: space-between;
    align-items: center;
    padding: 0 17%;
    flex-wrap: nowrap; /* Ensure items don't wrap */
}

.photo img {
    flex-shrink: 0; /* Prevent the image from shrinking */
    width: 330px; /* Set desired width */
    height: 330px; /* Set height to match width for circular shape */
    border-radius: 50%; /* Make it circular */
    object-fit: cover;
}

.bio {
    flex: 1; /* Ensure the bio takes up available space */
    margin-right: 20px; /* Space between text and image */
    text-align: left; /* Align text to the left */
    max-width: 50%; /* Limit the width to 50% */
    white-space: normal; /* Allow text to wrap naturally */
    overflow-wrap: break-word; /* Ensure long words break to next line if necessary */
}

#fade-in-name {
    font-size: 2.25em;
    opacity: 0;
    animation: fadeInLeft 1.5s forwards;
}

/* Photo Animation */
#fade-in-photo {
    opacity: 0;
    animation: fadeInRight 1.5s forwards;
}

#fade-in-up {
    opacity: 0;
    animation: fadeInUp 1.5s forwards;
}

@keyframes fadeInLeft {
    0% {
        opacity: 0;
        transform: translateX(-10%);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInRight {
    0% {
        opacity: 0;
        transform: translateX(20%);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(20px); /* Start slightly lower */
    }
    100% {
        opacity: 1;
        transform: translateY(0); /* End at normal position */
    }
}