/*-----------------------Google Fonts--------------------- */ 
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,500;1,600;1,700;1,800&display=swap');

/*-------------------------General----------------------- */ 
body {
    color: #383838;
    font-family: 'Montserrat', sans-serif;
}

h1 {
    font-weight: 400;
    font-size: 3rem;
}

h1 .first-name {
    font-weight: 200;
}

h2 {
    font-family: 'EB Garamond', sans-serif;
    font-weight: 600;
    font-style: italic;
    font-size: 2.2rem;
    padding: 2rem 0;
}

.vertical {
    border-left: .09rem solid #D5F3CD;
    height: 10rem;
    position: absolute;
    left: 50%;
    z-index: -1;
}

.scroll-btn {
    display: none;
    position: fixed;
    bottom: 1.5rem;
    right: 1rem;
    z-index: 99;
    border: #fff solid 0.07rem;
    border-radius: 2rem;
    background-color: #383838;
}
.scroll-btn:hover {
    border: #D5F3CD solid 0.07rem;
    box-shadow: .1rem .1rem .5rem #000;
}

.scroll-btn i {
    color: #fff;
}
.scroll-btn i:hover {
    color: #D5F3CD;
    text-shadow: .05rem .05rem .1rem #000;
}

/*-------------------------Header----------------------- */ 
.navbar {
    background-color: #D5F3CD;
    font-weight: 300;
    padding: 1rem 1rem 1rem 2rem;
    border: none;
}

.navbar-light .navbar-nav .nav-link {
    color: #fff;
}
.navbar-light .navbar-nav .nav-link:hover {
    color: #fff;
}
.navbar-light .navbar-nav .nav-link.active {
    color: #D5F3CD;
}

.navbar-toggler {
    border: none;
}

.offcanvas {
    width: 50vw;
    font-family: 'Montserrat', sans-serif;
    background-color: #383838;
    border-color: #383838;
    padding: 3rem 1.5rem;
}

.offcanvas-backdrop {
    background: none;
}

.nav-hr {
    width: 80%;
    margin: 0.2rem 0;
    color: #D5F3CD;
}

/*-------------------------Side Nav----------------------- */ 
.side-nav {
    display: none;
    position: fixed;
    top: 35%;
    right: 0;
    padding: 0 1rem 0 0;
    font-size: .7rem;
    background-color: transparent;
}

.side-nav ul {
    list-style: none;
    text-align: right;
    display: block;
}

.side-nav li {
    padding-bottom: .3rem;
}

.side-nav a {
    text-decoration: none;
    color: #383838;
}

.side-nav a:hover {
    color: #383838;
}

.side-hover {
    padding-right: .3rem;
}

.side-nav-link:hover .fa-circle-notch,
.side-nav-link.active .fa-circle-notch,
.side-nav-link .fa-circle,
.side-nav-link .side-hover {
    display: none;
}

.side-nav-link:hover .fa-circle,
.side-nav-link:hover .side-hover,
.side-nav-link.active .fa-circle,
.side-nav-link.active .side-hover {
    display: inline;
}

/*-----------------------Intro Section--------------------- */ 
.intro-section {
    background-color: #D5F3CD;
    text-align: center;
    padding-bottom: 1rem;
    margin-bottom: 1.5rem;
}

.intro-img {
    width: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    padding-bottom: 1.5rem;
}

.row {
    --bs-gutter-x: 0;
}

.intro-largescreen {
    background-color: #D5F3CD;
    margin-bottom: 1.5rem;
}

.largescreen-img {
    padding-bottom: 4rem;
}

.largescreen-heading {
    text-align: right;
    padding-right: 1.5rem;
}

/*-----------------------About Section--------------------- */ 
.about-section {
    text-align: center;
    padding: 1.5rem;
    width: 90%; 
    height: 90%;
    margin-left: auto;
    margin-right: auto;
}

/*---------------------Education Section------------------- */ 
.education-section {
    text-align: center;
    padding: 1.5rem;
    width: 90%; 
    height: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 8rem;
    border: #D5F3CD .4rem solid;
    background-color: #fff;
}

.year {
    color: #1E824C;
    font-family: 'Montserrat', sans-serif;
}

.title {
    font-family: 'EB Garamond', sans-serif;
    font-style: italic;
    font-weight: 500;
    font-size: 1.2rem;
}

.title2 {
    font-weight: 500;
}

.edu-hr {
    margin: 1.5rem 0;
}

.description a,
.intro-largescreen a,
.intro-section a  {
    text-decoration: none;
    color: #383838;
}

.description a:hover,
.intro-largescreen a:hover,
.intro-section a:hover  {
    color: #1E824C;
}

/*-----------------------Work Section---------------------- */ 
.work-section {
    text-align: center;
    padding: 1.5rem;
    width: 90%; 
    height: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 4rem;
    border: #D5F3CD .4rem solid;
    background-color: #fff;
}

.work-hr {
    margin: 1.5rem 0;
}

/*-----------------------Contact Section--------------------- */ 
.contact-section {
    text-align: center;
    padding: 1.5rem;
    width: 90%; 
    height: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 4rem;
    border: #D5F3CD .4rem solid;
    background-color: #fff;
}

.contact-details {
    padding: 1rem 0;
}

.contact-details a {
    text-decoration: none;
    color: #383838;
}
.contact-details a:hover {
    color: #1E824C;
    font-weight: 500;
}

.contact-details i {
    color: #1E824C;
}

.contact-icons a {
    text-decoration: none;
    color: #1E824C;
}
.contact-icons a:hover {
    text-shadow: .04rem .04rem .08rem #000;
}

.contact-icons i {
    font-size: 2rem;
    padding: 1rem;
}

#contactForm {
    padding: 1rem;
}

#contactForm label,
#contactForm small {
    float: left;
}

#contactForm #submit {
    background-color: #D5F3CD;
    border: none;
    padding: 1rem 4rem;
    font-size: .9rem;
    margin-top: 1rem;
}
#contactForm #submit:hover {
    box-shadow: .1rem .1rem .5rem #000;
}

/*-----------------------Projects Links--------------------- */
.projects-link {
    text-align: center;
    padding: 1.5rem;
    margin-bottom: 4rem;
}

.projects-link a {
    text-decoration: none;
    color: #383838;
    background-color: #D5F3CD;
    border: none;
    padding: 1rem 4rem;
    font-size: .9rem;
}

.projects-link a:hover {
    box-shadow: .1rem .1rem .5rem #000;
}

/*-----------------------Projects Section--------------------- */ 
.projects-section {
    text-align: center;
    padding: 1.5rem;
    width: 90%; 
    height: 90%;
    margin-left: auto;
    margin-right: auto;
}

.project-card-panels {
    text-align: center;
    padding: 1.5rem;
    --bs-gutter-x: 1.5rem;
    margin-left: auto;
    margin-right: auto;
}

.project-card {
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: .12rem .18rem .4rem #D3D3D3;
    height: 100%; 
}

.project-card a {
    text-decoration: none;
    color: #383838;
}
.project-card a:hover {
    color: #1E824C;
}

.project-card h5 {
    font-weight: 300;
}

.card-img-top {
    width: 100%;
    height: 35vw;
    object-fit: cover;
}

.project-card-panels i {
    color: #D5F3CD;
    text-shadow: .03rem .03rem .1rem #000;
    float: right;
    font-size: 1.5rem;
    padding: .5rem;
}
.project-card-panels i:hover {
    text-shadow: .06rem .06rem .1rem #000;
}

.project-tech {
    color: #1E824C;
}

/*-------------------------Footer----------------------- */ 
footer {
    background-color: #383838;
    color: #fff;
    text-align: center;
    padding: 1rem;
}

footer a {
    color: #fff;
    text-decoration: none;
}
footer a:hover {
    color: #D5F3CD;
    text-shadow: .05rem .05rem .1rem #000;
}

.footer-icons i {
    font-size: 1.7rem;
    padding: 1rem;
}

.footer-link {
    padding: 1rem;
}

footer .copyright {
    font-size: .8rem;
    font-weight: 300;
    text-align: right;
    padding-top: 1rem;
}

/*-----------------------Media Queries--------------------- */ 
@media only screen and (min-width: 576px) {
    .about-section,
    .education-section,
    .work-section,
    .contact-section,
    .projects-section,
    .project-card-panels {
        width: 85%; 
        height: 85%;
    }
    .offcanvas {
        width: 40vw;
    }
}

@media only screen and (min-width: 768px) {
    .navbar-light .navbar-nav .nav-link {
        color: #383838;
        font-weight: 400;
    }
    .navbar-light .navbar-nav .nav-link.active {
        font-weight: 500;
        color: #383838;
    }
    .navbar-light .navbar-nav .nav-link:hover {
        font-weight: 500;   
        color: #383838; 
    }
    .navbar-light .navbar-nav .nav-link.active:hover {
        font-weight: 500;
    }

    .offcanvas {
        padding: 0;
    }
    .about-section,
    .education-section,
    .work-section,
    .contact-section,
    .projects-section,
    .project-card-panels {
        width: 70%; 
        height: 70%;
    }
    .intro-section {
        display: none;
    }
    h1 {
        font-size: 2.5rem;
    }
    .navbar-nav {
        padding-top: 1rem;
        padding-left: 2rem;
    }
    .side-nav {
        display: block;
    }
    .card-img-top {
        height: 30vw;
    }
}

@media only screen and (min-width: 992px) {
    .about-section,
    .education-section,
    .work-section,
    .contact-section,
    .projects-section,
    .project-card-panels {
        width: 60%; 
        height: 60%;
    }
    h1 {
        font-size: 3rem;
    }
    .navbar-nav {
        padding-top: 2rem;
        padding-left: 6rem;
    }
    .project-card-panels {
        width: 100%; 
        height: 100%;
    }
    .card-img-top {
        height: 15vw;
    }
}

@media only screen and (min-width: 1200px) {
    .about-section,
    .education-section,
    .work-section,
    .contact-section,
    .projects-section {
        width: 50%; 
        height: 50%;
    }
    h1 {
        font-size: 3.2rem;
    }
    .largescreen-heading {
        padding-right: 3rem;
    }
}

@media only screen and (max-width: 767px) {
    .intro-largescreen {
        display: none;
    }
}