/*!
    Title: Dev Portfolio Template
    Version: 1.2.1
    Last Change: 08/28/2017
    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.
*/body{font-family:"Lato",sans-serif;font-size:16px}body.active{overflow:hidden;z-index:-1}.no-js #experience-timeline>div{background:#fff;padding:10px;margin-bottom:10px;border:1px solid #dcd9d9}.no-js #experience-timeline>div h3{font-size:1.5em;font-weight:300;color:#374054;display:inline-block;margin:0}.no-js #experience-timeline>div h4{font-size:1.2em;font-weight:300;color:#7e8890;margin:0 0 15px 0}.no-js #experience-timeline>div p{color:#74808a;font-size:.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:.75s}header ul{display:inline-block;background:#fff;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:#3498db;padding:10px}header a:hover{color:rgb(33.1380753138,125.1882845188,186.8619246862);text-decoration:none;background:#eee;border-radius:4px}header a:focus{color:#3498db;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:#3498db;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:#fff;font-size:1.5em;padding-right:15px;padding-top:10px;cursor:pointer;color:#3498db}#mobile-menu-close span{font-size:.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 hsl(207.2727272727,8.6614173228%,74.8039215686%);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:#3498db}.btn-rounded-white{display:inline-block;color:#fff;padding:15px 25px;border:3px solid #fff;border-radius:30px;transition:0.5s ease all}.btn-rounded-white:hover{color:#3498db;background:#fff;text-decoration:none}.shadow{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.shadow-large{box-shadow:0 3px 6px rgba(0,0,0,.08),0 3px 6px rgba(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:#3498db}.background-alt{background:#f2f2f5}#lead{position:relative;height:60vh;min-height:400px;max-height:600px;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:.05em;line-height:.9em}#lead-content h2{color:hsl(204.0718562874,69.8744769874%,78.137254902%);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.1380753138,125.1882845188,186.8619246862,.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 hsl(204.0718562874,69.8744769874%,78.137254902%);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 #dcd9d9}#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:#3498db;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:.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;border-bottom:1px solid #dcd9d9;text-align:center}#education h2{color:#374054;margin-bottom:50px}.education-block{max-width:700px;margin:0 auto 30px auto;padding:15px;border:1px solid #dcd9d9;text-align:left}.education-block h3{font-weight:500;float:left;margin:0;color:#374054}.education-block span{color:#74808a;float: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:.9em}.education-block ul{padding:0 0 0 15px}#projects{padding:50px 15px;border-bottom:1px solid #dcd9d9;text-align:center}#projects h2{color:#374054;margin-bottom:50px}.project{position:relative;max-width:900px;margin:0 auto 30px auto;overflow:hidden;background:#fff;border-radius:4px;min-height:300px;display:flex;align-items:stretch}.project-image{width:300px;height:300px;overflow:hidden;flex-shrink:0}.project_imgs{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:4px}.project-info{flex:1;padding:30px;display:flex;flex-direction:column;justify-content:center}.project-info h3{font-size:1.5em;font-weight:300;color:#374054;margin:0 0 15px 0}.project-info p{color:#74808a;margin:0 0 20px 0;font-size:.9em;line-height:1.5}.project-info a{color:#3498db;text-decoration:none;font-weight:500;padding:8px 16px;border:2px solid #3498db;border-radius:4px;transition:all .3s ease;display:inline-block}.project-info a:hover{background:#3498db;color:#fff;text-decoration:none}.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:#374054;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:#374054;background:hsl(240,13.0434782609%,90.4901960784%);list-style:none;cursor:default;font-size:1.2em}#contact{padding:50px 15px;background:#3498db;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:rgb(29.2970711297,110.6778242678,165.2029288703);color:#fff;transition:0.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:rgb(21.6150627615,81.6569037657,121.8849372385)}#contact-form textarea{height:150px;resize:none}#contact-form button{display:block;width:100%;background:#fff;border-radius:4px;padding:5px 10px;border:none;color:#3498db;font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);transition:0.5s ease all}#contact-form button:hover{box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(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:.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:60px 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{flex-direction:column;min-height:auto}.project-image{width:100%;height:200px}.project-info{padding:20px 15px}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:.9em;padding:5px 10px}}

/* Profile Section Styles */
.profile-section {
    display: flex;
    align-items: flex-start;
    gap: 40px;
    margin-bottom: 50px;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.profile-picture {
    flex-shrink: 0;
}

.profile-img {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #3498db;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.profile-img:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.profile-content {
    flex: 1;
    padding-top: 20px;
}

.profile-content p {
    font-size: 1.1em;
    line-height: 1.6;
    margin-bottom: 20px;
    color: #74808a;
}

.profile-content p strong {
    color: #374054;
    font-size: 1.2em;
}

/* Compact Timeline Styles */
.compact-timeline {
    position: relative;
    max-width: 800px;
    margin: 0 auto;
    padding: 20px 0;
}

.timeline-line {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 3px;
    background: linear-gradient(to bottom, #3498db, #2980b9);
    transform: translateX(-50%);
    z-index: 1;
}

.timeline-milestone {
    position: relative;
    display: flex;
    align-items: center;
    margin-bottom: 30px;
    z-index: 2;
}

.timeline-milestone:nth-child(even) {
    flex-direction: row-reverse;
    text-align: right;
}

.timeline-milestone:nth-child(odd) {
    flex-direction: row;
    text-align: left;
}

.milestone-dot {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: white;
    border: 4px solid #3498db;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2em;
    position: relative;
    z-index: 3;
    margin: 0 20px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
}

.timeline-milestone.education .milestone-dot {
    border-color: #e74c3c;
    background: #fff;
}

.timeline-milestone.work .milestone-dot {
    border-color: #2ecc71;
    background: #fff;
}

.timeline-milestone.current .milestone-dot {
    border-color: #f39c12;
    background: linear-gradient(135deg, #f39c12, #e67e22);
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

.milestone-content {
    background: white;
    padding: 15px 20px;
    border-radius: 12px;
    box-shadow: 0 3px 15px rgba(0,0,0,0.1);
    min-width: 250px;
    max-width: 300px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.milestone-content:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 20px rgba(0,0,0,0.15);
}

.milestone-year {
    display: block;
    font-size: 0.9em;
    color: #3498db;
    font-weight: 600;
    margin-bottom: 5px;
}

.milestone-title {
    display: block;
    font-size: 1em;
    color: #374054;
    font-weight: 600;
    line-height: 1.3;
}

/* Custom styles for new About section */

.skills-diagram {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    max-width: 1000px;
    margin: 0 auto;
}

.skill-category {
    flex: 1;
    background: #fff;
    border-radius: 15px;
    padding: 30px 20px;
    text-align: center;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.skill-category:hover {
    transform: translateY(-10px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

.skill-icon {
    font-size: 3em;
    margin-bottom: 15px;
    background: linear-gradient(135deg, #3498db, #2980b9);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.skill-category h4 {
    color: #374054;
    margin-bottom: 20px;
    font-size: 1.2em;
    font-weight: 600;
}

.skill-category ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.skill-category li {
    color: #74808a;
    padding: 8px 0;
    border-bottom: 1px solid #f1f1f1;
    font-size: 0.95em;
}

.skill-category li:last-child {
    border-bottom: none;
}

.stats-container {
    display: flex;
    justify-content: space-around;
    background: linear-gradient(135deg, #3498db, #2980b9);
    border-radius: 20px;
    padding: 40px 20px;
    color: white;
    margin: 0 auto;
    max-width: 800px;
}

.stat-item {
    text-align: center;
    flex: 1;
}

.stat-number {
    font-size: 3em;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 10px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.stat-label {
    font-size: 1em;
    opacity: 0.9;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Responsive styles for profile section */
@media only screen and (max-width: 768px) {
    .profile-section {
        flex-direction: column;
        gap: 30px;
        text-align: center;
    }
    
    .profile-img {
        width: 150px;
        height: 150px;
        margin: 0 auto;
    }
    
    .profile-content {
        padding-top: 0;
    }
}

@media only screen and (max-width: 480px) {
    .profile-section {
        gap: 20px;
    }
    
    .profile-img {
        width: 120px;
        height: 120px;
    }
    
    .profile-content p {
        font-size: 1em;
    }
}

/* Responsive styles for new components */
@media only screen and (max-width: 992px) {
    .skills-diagram {
        flex-direction: column;
        gap: 20px;
    }
    
    .stats-container {
        flex-wrap: wrap;
        gap: 20px;
    }
    
    .stat-item {
        flex: 1 1 50%;
    }
}

@media only screen and (max-width: 768px) {
    .timeline-line {
        left: 30px;
    }
    
    .timeline-milestone {
        flex-direction: row !important;
        text-align: left !important;
        margin-left: 0;
    }
    
    .timeline-milestone:nth-child(even) {
        flex-direction: row !important;
        text-align: left !important;
    }
    
    .milestone-dot {
        margin: 0 20px 0 5px;
        width: 40px;
        height: 40px;
        font-size: 1em;
    }
    
    .milestone-content {
        min-width: auto;
        max-width: none;
        flex: 1;
        margin-right: 20px;
    }
    
    .milestone-year {
        font-size: 0.8em;
    }
    
    .milestone-title {
        font-size: 0.9em;
    }
}
    
    .skill-category {
        padding: 20px 15px;
    }
    
    .stat-item {
        flex: 1 1 100%;
    }
    
    .stat-number {
        font-size: 2.5em;
    }
    
    .compact-timeline {
        padding: 10px 0;
    }
}