/*
Styling for Kian Thompson's portfolio
www.kianthompson.com
*/

html, body {
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 10px;
}

p, h1, h2 {
    margin: 0;
}


/* Navbar Styling */
#collapse-navbar {
    display: none;
    width: 100%;
    height: 4.6rem;
    background-color: black;
    color: white;
}

.navbar-fixed {
    top: 0;
    z-index: 100;
    position: fixed;
    width: 100%;
}


#nav-bar {
    border: 0;
    background-color: #202020;
    border-radius: 0px;
    margin-bottom: 0;
    text-align: center;
    width: 100%;
    height: 4.6rem;
}

#nav-links {
    margin: 0;
}

#nav-links li {
    display: inline-block;
    padding: 1.2rem 1.5rem 1.2rem 1.5rem;
}

.nav-item {
    color: #c9c9c9;
    text-decoration: none;
    font-size: 1.8rem;
    font-family: 'Montserrat', sans-serif;
}

.nav-item:hover {
    color: white;
}

.active {
    color: #d9485e;
}

.active:hover {
    color: #d9485e;
}

#hamburger-icon, #close-icon {
    display: none;
    color: white;
    font-size: 2.5rem;
    padding: 1rem 0 1rem 0;
}

#hamburger-icon:hover, #close-icon:hover {
    color: #d9485e;
    cursor: pointer;
}


/* Image Banner Styling */
#banner-wrapper {
    width: 100%;
    height: calc(100% - 4.6rem);
    margin: 0 auto;
    overflow: hidden;
	background-color: #bf4356;
}

#banner-text-container {
    width: 100%;
    position: absolute;
    text-align: center;
    top: 35%;
    color: white;
    font-family: 'Montserrat', sans-serif;
}

#banner-text-container p {
    font-size: 7rem;
    font-weight: 500;
    max-width: 100%;
    padding: 0 40px 0 40px;
    word-wrap: break-word;
}

#banner-icons i {
    font-size: 4rem;
    margin-top: 2rem;
    color: white;
    transition: color 0.5s;
}

#banner-icons i:hover {
    color: #202020;
    cursor: pointer;
    transition: color 0.5s;
}

#banner-icons i:last-child {
    margin-left: 2rem;
}


/* General Styling */
#body-div {
    font-family: 'Roboto', sans-serif;
}

section {
    font-size: 0;
    padding-top: 10rem;
    padding-bottom: 12rem;
    position: relative;
}

.white-background {
    background-color: white;
    z-index: 1;
}

.gray-background {
    background-color: #f2f7f6;
    z-index: 2;
}

.section-divider {
    width: 100%;
    height: 2px;
    background-color: #5c5c5c;
}

.text-center {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

h1.section-header {
    font-size: 4rem;
    letter-spacing: 0.4rem;
    font-weight: 300;
}

h2.small-header {
    font-size: 2.5rem;
    letter-spacing: 0.4rem;
    font-weight: 400;
    padding-bottom: 1rem;
}

.header-underline {
    width: 10rem;
    height: 2px;
    margin: 2rem 0 2rem 0;
    background-color: #ab3a4b;
}

p.section-text {
    font-size: 2.1rem;
    font-weight: 300;
}


/* About Section Styling */
#about-photo {
    display: block;
    width: 80%;
    max-width: 300px;
    min-width: 200px;
    margin: 0 auto;
    border: 5px solid #ab3a4b;
    border-radius: 40px;
    box-shadow: 0px 3px 8px #000000;
}

#resume-button-container a {
    position: relative;
    top: 0;
    display: inline-block;
    box-sizing: border-box;
    background-color: #ffffff;
    border: 2px solid #ab3a4b;
    border-radius: 10px;
    padding: 1rem 3rem;
    margin-top: 2rem;
    text-decoration: none;
    font-size: 2rem;
    color: #ab3a4b;
    -webkit-transition: top 0.13s linear;
       -moz-transition: top 0.13s linear;
            transition: top 0.13s linear;
}

#resume-button-container a:hover {
    color: #ab3a4b;
    top: -5px;
    -webkit-transition: top 0.13s linear;
       -moz-transition: top 0.13s linear;
            transition: top 0.13s linear;
}


/* Skills Section Styling */
#skills .content-column {
    padding: 0;
}

#skills .section-text {
    padding-left: 10%;
    padding-right: 10%;
    padding-top: 2rem;
    padding-bottom: 4rem;
}

#skills .section-card {
    width: 50%;
    min-width: 160px;
    padding: 4rem;
    background-color: white;
    border: 3px solid #ab3a4b;
    border-radius: 40px;
    box-shadow: 0px 3px 8px #000000;
    margin: 2rem auto 0 auto;
}

ul.skills-list {
    display: inline-block;
    text-align: left;
    padding-inline-start: 0;
    margin: 0 auto;
}

li.skills-item {
    font-size: 1.8rem;
    letter-spacing: 0.2rem;
    font-weight: 300;
}


/* Projects Section Styling */
#projects .section-card {
    width: 100%;
    min-width: 300px;
    max-width: 500px;
    box-shadow: 0px 3px 8px #000000;
    border-radius: 40px;
    box-sizing: border-box;
    margin: 3rem auto 6rem auto;
}

#projects .section-card:last-child {
    margin-bottom: 3rem;
}

#projects .section-card img {
    width: 100%;
    border: 3px solid #202020;
    border-radius: 40px 40px 0 0;
    box-sizing: border-box;
}

#projects .section-card .header-underline {
    margin-top: 0;
    margin-bottom: 1rem;
}

#projects .section-card .bottom {
    background-color: #f2f7f6;
    border: 3px solid #202020;
    border-top: none;
    border-radius: 0 0 40px 40px;
    padding: 2rem 2rem 3rem 2rem;
}

.tech-used td {
    font-size: 1.5rem;
    padding: 1rem;
    text-align: right;
    vertical-align: middle;
}

.tech-used tr td:last-child {
    text-align: left;
    width: 70%;
}

.project-buttons {
    width: 100%;
}

.project-buttons a {
    width: 40%;
    position: relative;
    top: 0;
    display: inline-block;
    box-sizing: border-box;
    background-color: #ab3a4b;
    border: 2px solid #591d26;
    border-radius: 10px;
    padding: 1rem;
    margin: 3rem 1rem 0 1rem;
    text-decoration: none;
    font-size: 2rem;
    color: #ffffff;
    -webkit-transition: top 0.13s linear;
       -moz-transition: top 0.13s linear;
            transition: top 0.13s linear;
}

.project-buttons a:hover {
    color: #ffffff;
    top: -5px;
    -webkit-transition: top 0.13s linear;
       -moz-transition: top 0.13s linear;
            transition: top 0.13s linear;
}

.project-buttons p {
    display: block;
    font-weight: 300;
    padding-top: 1rem;
}

/* Experience Section styling */
#experience .experience-section {
	width: 100%;
	margin: 3rem auto 6rem auto;
}

#experience .experience-section:last-child {
    margin-bottom: 3rem;
}

#experience h2.small-header {
    letter-spacing: 0.1rem;
}

/* Contact Section Styling */
#contact div:first-child {
    text-align: right;
    padding-right: 4rem;
}

#contact div .header-underline {
    float: right;
}

#contact p a {
    text-decoration: none;
    color: #000000;
    transition: color 0.5s;
}

#contact p a:hover {
    color: #ab3a4b;
}

#contact-icons {
    padding-top: 2rem;
    font-size: 4rem;
}

#contact-icons i {
    padding-right: 1rem;
    color: #202020;
    transition: color 0.5s;
}

#contact-icons i:hover {
    color: #ab3a4b;
    cursor: pointer;
    transition: color 0.5s;
}


/* Responsive Styling */
.content-column {
    box-sizing: border-box;
    display: inline-block;
    vertical-align: top;
    padding-left: 5rem;
    padding-right: 5rem;
}

.col-1-1 {
    display: block !important;
    width: 100%;
}

.col-1-2 {
    width: 50%;
}

.col-1-3 {
    width: 33%;
}

.col-2-3 {
    width: 67%;
}

.col-1-4 {
    width: 25%;
}

.col-3-4 {
    width: 75%;
}


@media(max-width: 768px) {

    .content-column {
        width: 100%;
    }

    #projects .col-1-2 {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    #projects .section-card {
        min-width: 0;
    }

    #contact div:first-child {
        text-align: left;
        padding-right: 5rem;
    }

    #contact div .header-underline {
        float: none;
    }

    .mobile-hide {
        display: none;
    }

    .mobile-center {
        text-align: center;
        margin-left: auto;
        margin-right: auto;
    }

    #banner-text-container p {
        font-size: 5rem;
    }
}

@media(max-width: 550px) {

    #nav-links {
        background-color: #202020;
        max-height: 0px;
        box-sizing: border-box;
        overflow: hidden;
        -webkit-transition: max-height 0.5s ease-in-out;
           -moz-transition: max-height 0.5s ease-in-out;
                transition: max-height 0.5s ease-in-out;
        padding-left: 0;
    }

    #nav-links li {
        display: block;
    }

    #hamburger-icon {
        display: block;
    }

    #banner-wrapper {
        max-height: 100%;
    }

    #banner-text-container p {
        font-size: 4rem;
    }
}
