html {
    scroll-behavior: smooth;
}

body {
    background-color: #FFF8EA;
    background-image: url("images/bg_texture.png");
    background-size: 100%; 
    background-repeat: no-repeat;
    margin: 0px;
    background-attachment: fixed;
}

* {
    box-sizing: border-box;
    margin: 0px;
    padding: 0px;
}

/* STUFF BELOW ARE FONTS AND TEXT STYLES */

h1, h2, h3, .bodytext, .handwritten {
    color: #FFF8EA;
}

h1 {
    font-family: "Inria Serif", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 56px;
}

h3 {
    font-family: "Inria Serif", serif;
    font-weight: 300;
    font-style: italic;
    font-size: 20px;
}

.bolded {
    font-weight: 700;
}

.bodytext, .handwritten {
    font-weight: 400;
    font-style: normal;
    font-size: 20px;
}

.bodytext {
    font-family: "Inika", serif;
}

.handwritten {
    font-family: "Gloria Hallelujah", cursive;
    color: #31281E;
}

h2, .logo {
    font-family: "Inria Serif", serif;
    font-weight: 700;
    font-style: normal;
}

h2 {
    font-size: 36px;
}

.logo {
    font-size: 28px;
}

/* NAVIGATION BAR RELATED */

.navbar {
    position: sticky;
    z-index: 1;
    top: 0;
}

.navbar ul {
    display: flex;
    flex-direction: row;
    flex: 1;
    justify-content: center;
    align-items: center;
    gap: 33px;
    padding: 15px;
    list-style-type: none;
    background-color: #FFF8EA;
}

.navbar li {
    color: #31281E;
}

.navbar a {
    text-decoration: none;
    color: #31281E;
    transition: all 0.2s ease 0s;
}

.navbar a:hover {
    color: #a46c2d;
}

/* Hero Elements */

.hero {
    position: relative;
    top: 80px;
}

.bg-rects {
    z-index: -1;
}

.rect-hero {
    height: 368px;
    width: 100%;
    background-color: #887E3B;
    margin: 18px 0px;
}
.rect-line {
    height: 29px;
    width: 100%;
    background-color: #F6E0B0;
}

.rect-footer {
    height: 300px;
    width: 100%;
    background-color: #31281E;
    margin: 18px 0px 0px 0px;
}

.portfolio .rect-hero {
    width: 100%;
    height: 3318px;
}

.hero .me {
    position: absolute;
    z-index: 0;
    top: 230px;
    left: 140px;
}

/* Random animation thing */

@keyframes shake {
    0%   { transform: translate(0, 0) rotate(0deg); }
    25%  { transform: translate(5px, 5px) rotate(5deg); }
    50%  { transform: translate(0, 0) rotate(0deg); }
    75%  { transform: translate(-5px, 5px) rotate(-5deg); }
    100% { transform: translate(0, 0) rotate(0deg); }
}

.hero .me:hover, .skills img:hover { 
    animation: shake 0.4s infinite;
}

.underlined {
    transition: width 0.25s ease-out;
}

.hero .content {
    position: absolute;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    top: -32px;
    padding-left: 230px;
    padding-right: 150px;
}

.hero .content .herotext {
    text-align: center;
    display: flex;
    flex-direction: column;
    padding: 120px;
    justify-content: center;
    align-items: center;
    gap: 35px;
}

/* Button stuff */

.img-button {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: all 0.2s ease 0s;
}

.img-button:hover {
    transform: scale(1.1);
}

/* Skills section */

.skills {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 175px;
    margin: 250px 0px 150px 0px;
}

/* Portfolio section */
.portfolio {
    position: relative;
}

.projects {
    margin-top: 147px;
    display: flex;
    flex-direction: column;
    gap: 100px;
    position: absolute;
    top: 0;
    width: 100%;
}

.projects .item {
    height: 460px;
    width: 100%;
    background-color: #686131;
}

.projects h1.professional {
    margin-left: 188px;
}

.projects h1.personal {
    text-align: right;
    margin-right: 188px;
}

.projects .item {
    display: flex;
    padding: 0 188px;
    justify-content: center;
    align-items: center;
    gap: 70px;
}

.projects .professional.item {
    flex-direction: row
}

.projects .personal.item {
    flex-direction: row-reverse;
}

.projects .item .visuals, .projects .item .text {
    display: flex;
    flex-direction: column;
}

.projects .item .visuals {
    align-items: center;
    gap: 24px;
}

.projects .item .text {
    text-align: right;
    gap: 35px;
}

.projects .personal.item .text {
    text-align: left;
    gap: 35px;
}

/* About section */

.about-me {
    position: relative;
    margin: 100px 250px;
}

.about-me * {
    color: #31281E;
    text-align: center;
}

.about-me .content, .about-me .content .text .about-buttons {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 70px;
}

.about-me .text {
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin: 80px 0px;
    justify-content: center;
    align-items: center;
}

/* Footer section */

footer {
    width: 100%;
    position: relative;
}

footer .contact {
    position: absolute;
    text-align: center;
    width: 100%;
    top: 105px;
}

footer .contact .buttons {
    display: flex;
    flex-direction: row;
    gap: 74px;
    justify-content: center;
    align-items: center;
    flex: 1;
    margin-top: 50px;
}