/* General styling - font and background colours */

body {
    font-family: Poppins;
    background-color: #111717;
    margin: 0px;
    font-size: 1em;
}

h1 {
    color: #E7E8E5;
    font-size: 1.8em;
}

h2 {
    color: #CA9256;
    font-size: 1.4em;
}

h3 {
    color: #A5C9C5;
    font-size: 1.1em;
}

p {
    color: #E7E8E5;
}

.accent {
    color: #A5C9C5;
}

a.textLink {
    color: #A5C9C5;
    text-decoration: none;
}

a.textLink:hover {
    text-decoration: underline;
}

/* Navbar styling */

nav {
    background-color: rgb(17, 23, 23);
    display:grid;
    grid-template-columns: 1fr 15% 15% 15% 15% ;
    grid-template-rows: 6vh;
    grid-gap: 0.5%;
    width: 100vw;
    position: fixed;
    z-index: 1;
    height: 4vh;
}

#navTitle {
    color: #CA9256;
    font-weight: 900;
    padding-left: 5%;
    display: grid;
    align-items: center;
    justify-items: left;
    height: 4vh;
}

a.navButton {
    color: #E7E8E5;
    text-decoration: none;
    display: grid;
    align-items: center;
    justify-items: center;
    height: 4vh;
}

a.navButton:hover {
    background-color: rgb(59, 82, 83, 0.5);
  }

/* Hero section styling */

header {
    background-color: rgb(17, 23, 23, 0.5);
    width: fit-content;
    padding: 10%;
    display: flex;
    align-items: center;
    flex-direction: column;
    text-align: center;
}

#headerBackground {
    background-image: url(https://images.unsplash.com/photo-1533998839656-76f5e4b2bccb?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=627&q=80);
    background-repeat:no-repeat ;
    background-size:100% ;
    background-attachment:fixed;
    background-position: center;
}

#profilePicture {
    border-radius: 100%;
    height: 20vw;
    width: auto;
    filter: drop-shadow(0.5rem 0.5rem 0.75rem rgb(17, 23, 23, 0.8));
    border-style: inset;
    border-color: #CA9256;
    border-width: 0.5vw;
}

#heroContent {
    flex-wrap: wrap;
    margin: 5%;
    display: flex;
    justify-content: center;
    text-align: center;
}

#careerTitle {
    color: #A5C9C5;
}

a.heroButton {
    text-decoration: none;
    color: #FFFFFF;
}

button {
    background-color: #CA9256; 
    border-style: none;
    border-radius: 5px;
    font-family: Poppins;
    padding: 1%;
    padding-left: 4%;
    padding-right: 4%;
    margin-top: 2%;
    font-size: 1em;
}

/* Main content section styling */

main {
    background-color: rgb(17, 23, 23);
    display: flex;
}

#mainColumn1, #mainColumn2 {
    flex: 1;
}

.mainSection {
    background-color: rgb(255, 255, 255, 0.1);
    border-radius: 1vw;
    margin: 6%;
    padding: 4%;
    padding-left: 6%;
    padding-right: 6%;
}

.sectionItem {
    padding-top: 4%;
}

#experienceItem1, #educationItem1 {
    padding-top: 1%;
}

#education {
    margin-left: 0%;
}

/* Contact section/footer styling */

#footerBackground {
    background-image: url(https://images.unsplash.com/photo-1533998839656-76f5e4b2bccb?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=627&q=80);
    background-repeat:no-repeat ;
    background-size:100% ;
    background-attachment:fixed;
    background-position: center;
    background-position-y: 40%;
}

footer {
    background-color: rgb(17, 23, 23, 0.5);
    width: 100%;
}

footer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

#contactHeading {
    width: 80%;
    margin-top: 3%;
    color: #E7E8E5;
}

.icons {
    text-decoration: none;
    color: #CA9256;
    font-size: 2em;
    padding-left:1%;
    padding-right:1%;
    filter: drop-shadow(0.5rem 0.5rem 0.75rem rgb(17, 23, 23, 0.8));
}

#iconsBox{
    text-align: center;
    margin: 2%;
    width:100%;
}

#contactText {
    width: 60%;
    margin: 2%;
}

/* Form styling */

form {
    background-color: #111717;
    border-radius: 1vw;
    filter: drop-shadow(0rem 0rem 0.2rem #111717);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: fit-content;
    padding: 2%;
    margin-bottom: 3%;
}

input, textarea, select {
    background-color: #111717;
    color: #E7E8E5;
    border-style: none;
    border-bottom: rgba(86, 86, 86,1) solid;
    border-width: 2px;
    font-family: Poppins;
    width: 80%;
    margin: 1%;
    font-size: 0.9em;
}

#formSubmit {
    background-color:#CA9256; 
    color: #ffffff;
    border-radius: 5px;
    border-color:#CA9256; 
    border-style: outset;
    border-width: 2px;
    width: 20%;
    font-size: 0.8em;
}

/* Icons animation */
@keyframes bounce {
    0% {transform: translateY(0px);}
    100% {transform: translateY(-8px);
    filter:opacity(70%);}
    }

.icons :hover {
    animation-name: bounce;
    animation-duration: 0.25s;
    animation-timing-function: ease-out;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}

/* Profile pic animation */
@keyframes pop {
    0% {transform: scale(1);}
    50% {transform: scale(1.05);}
    100% {transform: scale(1);}
    }

#profilePictureOuter :hover {
    animation-name: pop;
    animation-duration: 0.5s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 1;
}

/* Modifications to styling to improve responsiveness */
/* ===================== Mobile ===================== */

@media screen and (max-width: 500px) {
    main{
        flex-direction: column;
    }
    #education {
        margin: 6%;
        margin-top: 0%
    }
    body{
        font-size: 0.7em;
    }
    nav {
        font-size: 2.5vw;
    }
    .icons {
        font-size: 9vw;
    }
    header {
        padding-top: 15%;
    }
    #profilePicture {
        height: 25vw;
        width: auto;
    }
    #headerBackground {
        background-position: top;
    }
    #footerBackground {
        background-position: bottom;
    }
    button {
        font-size: 2.5vw;
    }
}

/* ===================== Tablet ===================== */

@media screen and (min-width: 501px) {
    body{
        font-size: 0.7em;
    }
    nav {
        font-size: 2vw;
    }
    .icons {
        font-size: 4em;
    }
    button {
        font-size: 2vw;
    }
}

@media screen and (min-width: 768px) {
    body{
        font-size: 0.8em;
    }
    nav {
        font-size: 1.2em;
    }
    .icons {
        font-size: 3.5em;
    }
    button {
        font-size: 1.1em;
    }
    #profilePicture {
        height: 12em;
        width: auto;
    }
    #heroContent{
        width: 60%;
    }

}

/* ===================== Laptop ===================== */

@media screen and (min-width: 1024px) {
    body{
        font-size: 1em;
    }
    nav {
        font-size: 1em;
    }
    button {
        font-size: 0.9em;
    }

    nav, a.navButton, #navTitle {
        font-size: 1em;
        height: 5vh;
    }
    #heroContent{
        width: 50%;
    }
}

/* ===================== Large laptop ===================== */

@media screen and (min-width: 1440px) {
    body{
        font-size: 1.1em;
    }
    nav {
        font-size: 1.1em;
    }
    button {
        font-size: 1em;
    }
    #heroContent{
        width: 40%;
    }
}