/*imports the 'Qicksand' and 'Special Elite' fonts from fonts.google.com*/
@import url('https://fonts.googleapis.com/css2?family=Quicksand&family=Special+Elite&display=swap');


/***VARIABLES***/

:root{
    --header-font: "Special Elite", system-ui;
    --main-font: "Quicksand", sans-serif;
    --background: rgb(255, 250, 240);
    --second-background: rgb(255, 235, 196);
    --main-color: black;
    --secondary-color:darkslategrey;
    --third-color: lightslategrey;
    --fourth-color: white;
}


/***HTML***/

html{
    scroll-behavior: smooth;
    scroll-padding-top: 65px;
    overflow-x: hidden;
}


/***STARTUP ANIMATION***/

/**header animation**/
/*want an animation of the title being 'typed' after you open the page, however i fear i might need to wait unitl javascript to do that*/

/*animation for the rest of the page to appear on screen*/
#rest-of-it{
    animation: float-up 3.5s ease;
}

@keyframes float-up{
    from{
        opacity: 0;
        transform: translateY(500px);
    }
    to{
        opacity: 1;
        transform: translateY(0);
    }
}

/***BODY***/

body{
    background-color: var(--background);
}


/***HEADERS***/

/**page header**/
header{
    display: block;
    margin: 80px auto 30px auto;
}

h1{
    font-family: var(--header-font);
    color: var(--secondary-color);
    font-weight: 500;
    text-align: center;
    display: block;
    margin-bottom: 50px;
    cursor: default;
}

#header-line{
    display: block;
    height: 3px;
    width: 550px;
    margin-right: auto;
    margin-left: auto;
}

/**h2**/
h2{
    font-family: var(--header-font);
    color: var(--secondary-color);
    font-weight: normal;
    text-align: center;
}

/**h3**/
h3{
    text-align: center;
    font-family: var(--header-font);
    font-weight: normal;
}


/***NAVBAR***/

/**general nav**/
nav{
    position: sticky;
    top: 0;
    margin-left: -8px;
    margin-right: -8px;
    background-color: var(--background);
    animation: nav-color linear both;
    animation-timeline: scroll();
    animation-range: 200px 240px;
}

/*animation for changing the navbar background color*/
@keyframes nav-color{
    to{
        background-color: var(--second-background);
    }
}

.navbar{
    display: block;
    margin-right: auto;
    margin-left: auto;
    width: max-content;
    cursor: default;
}

.nav-container{
    display: inline-block;
    text-align: center;
    margin: 15px;
    width: 88px;
}

/**nav text**/
.nav-link{
    font-family: var(--header-font);
    font-size: 18px;
    text-decoration: none;
    color: var(--secondary-color);
    text-align: center;
    transition: 0.2s ease;
}

/**text underline**/
.nav-line{
    display: block;
    height: 2px;
    width: 0px;
    margin-right: auto;
    margin-left: auto;
    transition: 0.75s ease;
}

/*makes line appear when hovering over the textlink*/
.nav-link:hover + .nav-line{
    width: 100%;
    transition: 1s ease;
}


/***PARAGRAPH***/

/**general text**/
p{
    font-family: var(--main-font);
}

.main-text{
    display: block;
    width: 60%;
    margin-left: auto;
    margin-right: auto;
}

/*increases the break height*/
br{
    line-height: 30px;
}


/***IMAGES***/

.picture{
    display: block;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid var(--secondary-color);
    border-radius: 2px;
    width: 40%;
}


/***INFO FORMATTING***/

.row{
    display: table;
    clear: both;
    width: 100%;
}

.column-left, .column-right{
    float: left;
    width: 50%;
}


/***GITHUB***/

/**general layout**/
.github{
    width: 85%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

/**GitHub logo**/

/*container so that the margins of the image aren't clickable as a hyperlink*/
.gh-logo-container{
    width: 35%;
    margin-right: auto;
    margin-left: auto;
}

.gh-logo{
    border: 5px solid var(--secondary-color);
    border-radius: 50px;
    display: block;
    width: 100%;
    transition: 0.5s ease;
}

.gh-logo:hover{
    transform: scale(1.1);
    border-color: var(--third-color);
    transition: 0.5s ease;
}


/***CONTACT***/

/**general layout**/
.contact{
    width: 85%;
    margin-left: auto;
    margin-right: auto;
}

.contact p{
    text-align: center;
}


/**labels**/
label{
    font-family: var(--header-font);
    font-weight: normal;
    text-align: left;
}

/**text boxes**/
textarea, input[type="email"]{
    width: 100%;
    display: block;
    height: auto;
    margin: 10px auto;
    padding: 5px;
    field-sizing: content;
    resize: none;
    font-family: var(--main-font);
    color: var(--third-color);
    border: 2px solid var(--third-color);
    border-radius: 5px;
    transition: 0.5s ease;
}

textarea:hover, input[type="email"]:hover{
    border: 2px solid var(--secondary-color);
    transform: scale(1.01);
    transition: 0.5s ease;
}

textarea:focus, input[type="email"]:focus{
    border: 2px solid var(--secondary-color);
    transform: scale(1.01);
    color: var(--main-color);
    transition: 0.5s ease;
}

/**submit button**/
input[type="submit"]{
    display: block;
    margin: 30px auto 0 auto;
    padding: 15px;
    font-size: 20px;
    width: min-content;
    font-family: var(--main-font);
    font-weight: bold;
    border: 3px solid transparent;
    border-radius: 25px;
    background-color: var(--secondary-color);
    color: var(--fourth-color);
    transition: 0.5s ease;
    cursor: pointer;
}

input[type="submit"]:hover{
    background-color: var(--third-color);
    color: var(--main-color);
    border: 3px solid var(--secondary-color);
    transition: 0.5s ease;
}


/***FOOTER***/

/**general footer**/
footer{
    margin: 30px -8px -15px -8px;
    background-color: var(--second-background);
    width: 101%;
    text-align: center;
    padding-top: 15px;
    padding-bottom: 15px;
}

/**foooter text**/
footer p{
    font-weight: 600;
    color: var(--secondary-color);
}