/* #region Overallstyle */

@import "https://fonts.googleapis.com/css?family=Raleway:100,400,700";

@font-face {
    font-family: 'LMRomanSlant10';
    src: url("../lib/fonts/lmromanslant10-regular-webfont.eot");
    src: url("../lib/fonts/lmromanslant10-regular-webfont.eot?#iefix") format("embedded-opentype"), url("../lib/fonts/lmromanslant10-regular-webfont.woff") format("woff"), url("../lib/fonts/lmromanslant10-regular-webfont.ttf") format("truetype"), url("../lib/fonts/lmromanslant10-regular-webfont.svg#latin_modern_roman_slante10Rg") format("svg");
    font-weight: normal;
    font-style: normal
}



/* Reset some default styles */
body, html {
    margin: 0;
    padding: 0;
    width: 100%;
    overflow-x: hidden; /* Prevents horizontal scrolling */
}

/* Set display property for semantic HTML5 elements */
article,
aside,
details,
figcaption,
figure,
footer, b-jrjsiumu31
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: block;
}





/* Adjust display property for certain media elements */
audio,
canvas,
progress,
video {
    display: inline-block;
    vertical-align: baseline;
}

    /* Hide audio without controls */
    audio:not([controls]) {
        display: none;
        height: 0;
    }

/* Hide certain elements */
[hidden],
template {
    display: none;
}

/* Style hyperlinks */
a {
    background-color: transparent;
}

    a:active,
    a:hover {
        outline: 0;
    }

/* Style abbreviation with a dotted underline */
abbr[title] {
    border-bottom: 1px dotted;
}

/* Style bold and strong text */
b,
strong {
    font-weight: bold;
}

/* Style definition text as italic */
dfn {
    font-style: italic;
}

/* Style heading level 1 */
h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

/* Highlighted text */
mark {
    background: #ff0;
    color: #000;
}

/* Style small text */
small {
    font-size: 80%;
}

/* Style subscript and superscript text */
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

/* Remove border from images */
img {
    border: 0;
}

/* Hide overflow for non-root SVG elements */
svg:not(:root) {
    overflow: hidden;
}

/* Style figure element with margin */
figure {
    margin: 1em 40px;
}

/* Style horizontal rule (line) */
hr {
    box-sizing: content-box;
    height: 0;
}

/* Style preformatted text with overflow */
pre {
    overflow: auto;
}

/* Style code, keyboard input, preformatted text, and sample output */
code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

/* Style form elements */
button,
input,
optgroup,
select,
textarea {
    color: inherit;
    font: inherit;
    margin: 0;
}

/* Style specific elements */
button {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

    /* Style disabled buttons and inputs */
    button[disabled],
    html input[disabled] {
        cursor: default;
    }

    /* Remove focus inner border for Mozilla Firefox */
    button::-moz-focus-inner,
    input::-moz-focus-inner {
        border: 0;
        padding: 0;
    }

/* Style input elements */
input {
    line-height: normal;
}

    /* Style checkboxes and radio buttons */
    input[type="checkbox"],
    input[type="radio"] {
        box-sizing: border-box;
        padding: 0;
    }

    /* Adjust appearance for number input spin buttons in WebKit browsers */
    input[type="number"]::-webkit-inner-spin-button,
    input[type="number"]::-webkit-outer-spin-button {
        height: auto;
    }

    /* Adjust appearance for search input in WebKit browsers */
    input[type="search"] {
        appearance: textfield;
        box-sizing: content-box;
    }

        /* Remove default styles for search input cancel button and decoration in WebKit browsers */
        input[type="search"]::-webkit-search-cancel-button,
        input[type="search"]::-webkit-search-decoration {
            -webkit-appearance: none;
        }

/* Style fieldset element */
fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

/* Style legend element */
legend {
    border: 0;
    padding: 0;
}

/* Style textarea with overflow */
textarea {
    overflow: auto;
}

/* Style bold font for optgroup element */
optgroup {
    font-weight: bold;
}

/* Style table with collapsed borders and no spacing */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* Define a custom font-face for 'icomoon' */
@font-face {
    font-family: 'icomoon';
    src: url("../lib/fonts/icomoon.eot?3hi6ws");
    src: url("../lib/fonts/icomoon.eot?3hi6ws#iefix") format("embedded-opentype"), url("../lib/fonts/icomoon.ttf?3hi6ws") format("truetype"), url("../lib/fonts/icomoon.woff?3hi6ws") format("woff"), url("../lib/fonts/icomoon.svg?3hi6ws#icomoon") format("svg");
    font-weight: normal;
    font-style: normal;
}

/* Define styles for elements with 'icon-' class prefix */
[class^="icon-"],
[class*=" icon-"] {
    font-family: 'icomoon' !important;
    speak-as: normal;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Define specific icons using the 'icon-' class */
.icon-chevron-thin-left:before {
    content: "\e904";
}

.icon-chevron-thin-right:before {
    content: "\e905";
}

.icon-instagram:before {
    content: "\ea92";
}

.icon-kaggle:before {
    content: "\e900";
}

.icon-arrow-up:before {
    content: "\ea32";
}

.icon-tableau:before {
    content: "\e901";
}

.icon-twitter:before {
    content: "\ea96";
}

.icon-chevron-thin-right:before {
    content: "\e902";
}

.icon-linkedin:before {
    content: "\eaca";
}

.icon-facebook:before {
    content: "\ea90";
}

.icon-github:before {
    content: "\eab0";
}

.icon-chevron-thin-left:before {
    content: "\e903";
}

.icon-profile:before {
    content: "\e923";
}

/* Main styles for the body */
body {
    position: relative; /* Ensure the pseudo-element is positioned relative to the body */
    background-color: #fff;
    font-size: 16px;
    line-height: 1.6;
    font-family: "LMRomanSlant10", serif;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden; /* Prevents horizontal scrolling */
}

/* Main styles for the body */
body {
    position: relative; /* Ensure the pseudo-element is positioned relative to the body */
    background-color: #fff;
    font-size: 16px;
    line-height: 1.6;
    font-family: "LMRomanSlant10", serif;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden; /* Prevents horizontal scrolling */
}

/* Reset some default styles */
body, html {
    margin: 0;
    padding: 0;
    width: 100%;
}

    /* Use the ::before pseudo-element for the background image with transparency and blur */
    body::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url('../img/pic4.jpg');
        background-size: cover; /* Ensure the image covers the entire area */
        background-position: center; /* Center the background image */
        opacity: 0.5; /* 50% transparency */
        filter: blur(8px); /* 20px blur effect */
        z-index: -1; /* Place the image behind all other content */
    }



/* Responsive font sizes for various headings and text */
.gigantic,
.huge,
.large,
.bigger,
.big,
h1,
h2,
h3,
h4,
h5,
h6 {
    color: #222;
    font-weight: bold;
}

.gigantic {
    font-size: 110px;
    line-height: 1.09;
    letter-spacing: -2px;
}

.huge,
h1 {
    font-size: 68px;
    line-height: 1.05;
    letter-spacing: -1px;
}

.large,
h2 {
    font-size: 42px;
    line-height: 1.14;
}

.bigger,
h3 {
    font-size: 26px;
    line-height: 1.38;
}

.big,
h4 {
    font-size: 22px;
    line-height: 1.38;
}

.small,
small {
    font-size: 10px;
    line-height: 1.2;
}

/* Margin for paragraphs */
p {
    margin: 0 0 20px 0;
}

/* Italics for emphasis */
em {
    font-style: italic;
}

/* Bold text */
strong {
    font-weight: bold;
}

/* Horizontal rule styles */
hr {
    border: solid #ddd;
    border-width: 1px 0 0;
    margin: 10px 0 30px;
    height: 1px; /* Set a height to make sure the line is visible */
    background-color: #ddd; /* Add a background color to ensure visibility */
}

/* Styles for absolute-positioned SVG elements */
svg {
    position: absolute;
    height: 100%;
}

/* Styles for a navigation menu */
.nav {
    visibility: hidden;
    position: absolute;
    top: 75px;
    right: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    list-style: none;
    background-color: #e3e3e3;
    border: 1px solid #111;
    border: 1px solid #11111126;
    opacity: 0;
    z-index: 10;
    -webkit-transition: opacity .3s ease-in-out, visibility 0s .3s;
    transition: opacity .3s ease-in-out, visibility 0s .3s;
}

    .nav.open {
        visibility: visible;
        opacity: 1;
        -webkit-transition: opacity .3s ease-in-out;
        transition: opacity .3s ease-in-out;
    }

    .nav:before {
        content: "";
        position: absolute;
        top: -12px;
        left: 50%;
        -webkit-transform: translateX(-50%) rotate(45deg);
        transform: translateX(-50%) rotate(45deg);
        width: 25px;
        height: 25px;
        border: 1px solid #111;
        border: 1px solid rgba(17, 17, 17, 0.15);
        background-color: #e3e3e3;
    }

    .nav li {
        position: relative;
        width: 100%;
        text-align: center;
        border-bottom: 1px solid #111;
        border-bottom: 1px solid rgba(17, 17, 17, 0.15);
        background-color: #e3e3e3;
        overflow: hidden;
        z-index: 10;
    }

        .nav li:last-child {
            border-bottom: none;
        }

        .nav li a {
            display: block;
            width: 100%;
            height: 100%;
            padding: 5px 0;
            color: #111;
            font-size: 12px;
            font-family: "Raleway", Helvetica, sans-serif;
            text-transform: uppercase;
            text-decoration: none;
            -webkit-transition: background-color .2s ease-in-out;
            transition: background-color .2s ease-in-out;
        }

            .nav li a:hover {
                background-color: #dbdbdb;
            }

/* #endregion */

/* #region AboutMe */
/* Main Container AboutMe */
#aboutme {
    position: relative;
    width: 1440px;
    /* Set a fixed width */
    max-width: 100%;
    /* Ensure the width doesn't exceed 95% of the viewport */
    height: 600px;
    margin: 30px auto;
    /* Center the element horizontally with a top margin of 30px */
    background-color: #efefef;
    overflow: hidden;
    background-image: url(../img/pic4.jpg);
    /* Set background image */
    background-size: cover;
    /* Cover the entire container with the background image */
    background-position: center;
    /* Center the background image */
    color: #000000;
    /* Set text color to black */
    border-radius: 5px; /* Rounded corners like .project-item */
    box-shadow: 5px 5px 10px #553b22; /* Same shadow as .project-item */

}


/* Responsive Margin Adjustment */
@media (max-width: 768px) {
    #aboutme {
        margin: 15px auto;
    }
}

/* Header Styles */
#aboutme header {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    width: 95%;
    height: 80px;
    align-items: center;
    justify-content: flex-end;
    z-index: 10;
}

/* Main Wrapper */
#aboutme .wrapper {
    position: relative;
    display: flex;
    width: 1180px;
    max-width: 95%;
    height: 100%;
    margin: 0 auto;
    align-items: center;

}

    /* Image Styling within Wrapper */
    #aboutme .wrapper .me {
        width: 40%;
        align-self: flex-end;
        filter: drop-shadow(10px 10px 20px #000000);
    }

        /* Image Styling within Wrapper */
        #aboutme .wrapper .me img {
            width: 100%;
            position: relative;
        }

/* Navigation Toggle Styles */
#aboutme header .nav-toggle {
    position: relative;
    display: flex;
    width: 80px;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}

    /* Navigation Toggle Styles */
    #aboutme header .nav-toggle p {
        margin-bottom: 0;
        font-size: 14px;
        font-family: "Raleway", Helvetica, sans-serif;
        text-transform: uppercase;
    }

    /* Navigation Toggle Styles */
    #aboutme header .nav-toggle span,
    #aboutme header .nav-toggle span:before,
    #aboutme header .nav-toggle span:after {
        content: "";
        position: relative;
        display: block;
        width: 23px;
        height: 2px;
        background-color: #111;
    }

        /* Navigation Toggle Styles */
        #aboutme header .nav-toggle span:before {
            bottom: 7px;
        }

        /* Navigation Toggle Styles */
        #aboutme header .nav-toggle span:after {
            top: 5px;
        }

/* Welcome Section Styles */
#aboutme .wrapper .welcome {
    width: 45%;
}

    /* Welcome Section Styles */
    #aboutme .wrapper .welcome h1 {
        margin-top: 0;
        margin-bottom: 30px;
        font-size: 42px;
        font-family: "Raleway", Helvetica, sans-serif;
        font-weight: 100;
    }

/* Responsive Adjustments */
@media (max-width: 640px) {

    /* Welcome Section Styles */
    #aboutme .wrapper .welcome h1 {
        margin-bottom: 20px;
        font-size: 30px;
    }
}

/* Welcome Section Styles */
#aboutme .wrapper .welcome p {
    max-width: 450px;
    margin-bottom: 30px;
}

/* Responsive Adjustments */
@media (max-width: 1180px) {
    #aboutme .wrapper .welcome:after {
        display: none;
    }

    #aboutme .wrapper .welcome p {
        margin-bottom: 0;
    }
}

/* About Me Section Styles */
#aboutme .wrapper .aboutme {
    width: 55%;
    align-self: flex-end;
    line-height: 0;
}

    /* About Me Section Styles */
    #aboutme .wrapper .aboutme img {
        width: 75%;
        align-self: flex-end;
        filter: drop-shadow(5px 5px 10px #371e0c) contrast(0.85);
        /* Combine filters */
        position: relative;
        left: 250px;
        /* Adjust the value as needed */
        animation: fadeIn 2s ease-in-out; /* Apply the fadeIn animation over 2 seconds */
    }




/* Responsive Adjustments */
@media (max-width: 1023px) {

    /* Welcome Section Styles */
    #aboutme .wrapper .welcome {
        display: flex;
        width: 100%;
        flex-direction: column;
        align-items: flex-end;
        text-align: right;
    }

    /* About Me Section Styles */
    #aboutme .wrapper .aboutme {
        display: none;
    }
}

/* Additional Responsive Adjustment */
@media (max-width: 640px) {

    /* Welcome Section Styles */
    #aboutme .wrapper .welcome {
        align-items: center;
        text-align: center;
    }
}

/* Add this style for the button */
#aboutme .wrapper .welcome #navigateButton {
    display: inline-block;
    padding: 10px 20px;
    font-size: 16px;
    background-color: #d1c7b000; /* Transparent background */
    color: #000000;
    text-decoration: none;
    text-align: center;
    border-radius: 5px;
    margin-top: 10px;
    font-family: "Raleway", Helvetica, sans-serif;
    font-weight: 400;
    border: 0.1px solid #000000;
    filter: drop-shadow(5px 5px 10px #553b22);
    text-shadow: 1px 1px 2px #00000000; /* Transparent text shadow for consistency */
    transition: background-color 0.3s, color 0.2s, transform 0.3s ease, filter 0.3s ease; /* Added transitions for transform and filter */
    opacity: 0; /* Start with button invisible */
    animation: fadeIn 2s 0s ease-in-out forwards; /* Animation starts after 2 seconds, lasts 3 seconds */
    animation-delay: 0s
}


    /* Submit Button Hover Styles */
    #aboutme .wrapper .welcome #navigateButton:hover {
        background: #69573e;
        color: #ffffff;
        outline: 0 !important;
        font-weight: 500;
        filter: drop-shadow(10px 10px 20px #553b22);
        transform: scale(1.05); /* Slight scale effect on hover */
    }

/* Responsive Adjustments for the button */
@media (max-width: 640px) {
    #aboutme .wrapper .welcome #navigateButton {
        margin-top: 10px;
    }
}


@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* #endregion */

/* #region About */
/* Styles for the #about section */
#about {
    position: relative;
    width: 1440px;
    /* Set a fixed width */
    max-width: 100%;
    /* Ensure the width doesn't exceed 95% of the viewport */
    height: 600px;
    margin: 30px auto;
    /* Center the element horizontally with a top margin of 30px */
    background-color: #efefef;
    overflow: hidden;
    background-image: url(../img/pic2.jpg);
    /* Set background image */
    background-size: cover;
    /* Cover the entire container with the background image */
    background-position: center;
    /* Center the background image */
    color: #000000;
    /* Set text color to black */
    border-radius: 5px; /* Rounded corners */
    box-shadow: 5px 5px 10px #553b22; /* Same shadow as .project-item */
}


/* Responsive styles for smaller screens (max-width: 768px) */
@media (max-width: 768px) {
    #about {
        margin: 15px auto;
        /* Adjust margin for smaller screens */
    }
}


/* Styles for the #about .wrapper section */
#about .wrapper {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 1180px;
    /* Set a fixed width for the wrapper */
    max-width: 95%;
    /* Ensure the width doesn't exceed 95% of the viewport */
    height: 100%;
    margin: 0 auto;
    /* Center the wrapper horizontally */
    align-items: center;
    /* Center items vertically within the wrapper */
}

/* Responsive styles for smaller screens (max-width: 768px) */
@media (max-width: 768px) {
    #about .wrapper {
        margin: 15px auto;
        /* Adjust margin for smaller screens */
    }
}

/* Styles for the #about .wrapper .blurb section */
#about .wrapper .blurb {
    width: 55%;
    /* Set a width for the blurb section */
    margin: 0 auto;
    /* Center the blurb section horizontally */
}

/* Responsive styles for smaller screens (max-width: 640px) */
@media (max-width: 640px) {
    #about .wrapper .blurb {
        margin: 15px auto;
        /* Adjust margin for smaller screens */
    }
}

#about .wrapper .blurb {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

    /* Styles for the #about .wrapper .blurb h2 section */
    #about .wrapper .blurb h2 {
        margin-top: 0;
        margin-bottom: 30px;
        font-size: 42px;
        font-family: "Raleway", Helvetica, sans-serif;
        font-weight: 100;
    }

/* Responsive styles for even smaller screens (max-width: 640px) */
@media (max-width: 640px) {
    #about .wrapper .blurb h2 {
        margin-bottom: 20px;
        font-size: 30px;
    }
}

/* Styles for the #about .wrapper .blurb p section */
#about .wrapper .blurb p {
    max-width: 600px;
    margin-bottom: 45px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* Styles for the #about .wrapper .blurb .social section */
#about .wrapper .blurb .social {
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
}

    /* Styles for the #about .wrapper .blurb .social a section */
    #about .wrapper .blurb .social a {
        color: #000000;
        text-decoration: none;
        font-size: 24px;
        position: relative;
        padding: 8px;
        transition: background-color 0.5s, color 0.2s;
        border-radius: 8px;
    }

        /* Hover styles for the #about .wrapper .blurb .social a section */
        #about .wrapper .blurb .social a:hover {
            color: #ffffff;
            /* Change text color on hover */
            background-color: rgb(105, 87, 62);
            /* Change background color on hover */
        }

/* Responsive styles for smaller screens (max-width: 1023px) */
@media (max-width: 1023px) {
    #about .wrapper .blurb {
        display: flex;
        width: 100%;
        flex-direction: column;
        align-items: flex-end;
        text-align: right;
    }

        #about .wrapper .blurb h2:before {
            display: none;
            /* Hide the horizontal line before h2 on smaller screens */
        }
}

/* Responsive styles for even smaller screens (max-width: 640px) */
@media (max-width: 640px) {
    #about .wrapper .blurb {
        align-items: center;
        /* Center items vertically within the blurb section */
        text-align: center;
        /* Center text horizontally within the blurb section */
    }
}

/* #endregion */

/* #region ContactMe */
/* Contact Section Styles */
#contact {
    position: relative;
    width: 1440px;
    max-width: 100%;
    height: 600px;
    margin: 30px auto;
    background-color: #efefef;
    overflow: hidden;
    background-image: url(../img/pic3.jpg);
    background-size: cover;
    background-position: center;
    color: #000000;
    text-align: center;
    /* Center the text within #contact */
    border-radius: 5px; /* Rounded corners like .project-item */
    box-shadow: 5px 5px 10px #553b22; /* Same shadow as .project-item */
}


    /* Heading Styles */
    #contact h1 {
        margin-top: 80px;
        margin-bottom: 30px;
        font-size: 42px;
        font-family: "Raleway", Helvetica, sans-serif;
        font-weight: 100;
        display: inline-block;
        width: 100%;
        /* Make the heading take the full width */
    }

/* Left Column Styles */
#left {
    display: inline-block;
    width: 50%;
    vertical-align: top;
    /* Align to the top of the container */
}

/* Right Column Styles */
#right {
    float: right;
    width: 50%;
    height: 700px;
}

/* Clear Both Styles */
#cleared {
    clear: both;
}

/* List Styles */
ul {
    list-style-type: none;
}

/* Map Styles */
#map {
    height: 100%;
    width: 100%;
}

/* Clear Both Styles (Repeated) */
#cleared {
    clear: both;
}

/* Form Styles */
form {
    max-width: 420px;
    margin: 20px auto;
}

.formbox {
    background: transparent;
    padding: 10px;
    max-width: 400px;
    margin: 10px auto;
    border-radius: 1px;
    box-shadow: 0 4px 10px 4px transparent;
}

/* Input Styles */
input.short {
    width: 48%;
    color: #000000;
    font-family: "Raleway", Helvetica, sans-serif;
    font-weight: 300;
    /* Adjust the value to make the text thinner by default */
    font-size: 18px;
    border-radius: 5px;
    line-height: 22px;
    background-color: transparent;
    border: 1px solid #000000;
    transition: all 0.3s;
    padding: 13px;
    margin-right: 6px;
    margin-bottom: 15px;
    box-sizing: border-box;
    outline: 0;
}

    /* Input Styles - Not Focused */
    input.short:not(:focus) {
        font-weight: 300;
        /* Set the font weight to bold when not focused */
    }

    /* Input Styles - Focused */
    input.short:focus {
        font-weight: bold;
        /* Set the font weight to thinner when focused */
        border: 2px solid #000000;
    }

/* Map Overlap Styles */
#map-overlap {
    top: 10px;
    left: 10px;
    margin-top: -650px;
    border-radius: 5px;
    margin-left: 50px;
    text-align: left;
    font-size: 17px;
    padding-top: 15px;
    padding-left: 15px;
    width: 240px;
    height: 120px;
    z-index: 10;
    font-family: "Raleway", Helvetica, sans-serif;
    font-weight: 200;
    position: relative;
    background: #d0c7b0;
    color: #000000;
    border: 1px solid #000000;
}

/* Additional Text Styles */
#at {
    color: #000000;
}

/* Span Styles */
span {
    text-align: right;
    font-family: "Raleway", Helvetica, sans-serif;
    font-weight: 100;
}

/* Placeholder Styles */
::-webkit-input-placeholder {
    color: #000000;
}

/* Feedback Input Styles */
.feedback-input {
    color: rgb(0, 0, 0);
    font-family: "Raleway", Helvetica, sans-serif;
    font-weight: 300;
    font-size: 18px;
    border-radius: 5px;
    line-height: 22px;
    background-color: transparent;
    border: 1px solid #000000;
    transition: all 0.3s;
    padding: 13px;
    margin-bottom: 15px;
    width: 99%;
    box-sizing: border-box;
    outline: 0;
}

    /* Feedback Input Styles - Not Focused */
    .feedback-input:not(:focus) {
        font-weight: 300;
        /* Set the font weight to bold when not focused */
    }

    /* Feedback Input Styles - Focused */
    .feedback-input:focus {
        font-weight: bold;
        /* Set the font weight to thinner when focused */
        border: 2px solid #000000;
    }

/* Textarea Styles */
textarea {
    height: 150px;
    line-height: 150%;
    resize: vertical;
}

/* Submit Button Styles */
[type="submit"] {
    font-family: "Raleway", Helvetica, sans-serif;
    width: 20%;
    background: rgba(0, 0, 0, 0);
    border-radius: 5px;
    cursor: pointer;
    color: #000000;
    font-size: 16px;
    margin-left: 80%;
    padding-top: 10px;
    padding-bottom: 10px;
    transition: all 0.3s;
    margin-top: -4px;
    border: 1px solid #000000;
    font-weight: 500;
    filter: drop-shadow(10px 10px 20px #000000);
}

    /* Submit Button Hover Styles */
    [type="submit"]:hover {
        background: #69573e;
        color: #ffffff;
        outline: 0 !important;
        font-weight: 500;
        filter: drop-shadow(10px 10px 20px #553b22);
    }

/* Responsive Adjustments for Left and Right Columns */
@media all and (max-width:800px) {

    #left,
    #right {
        display: block;
        float: none;
        width: 100%;
    }
}

/* Responsive Adjustments for Short Inputs */
@media all and (max-width:800px) {
    .short {
        min-width: 99%;
    }
}

/* Responsive Adjustments for Map Overlap */
@media all and (max-width:800px) {
    #map-overlap {
        text-align: center;
        margin-left: -10px;
        display: block;
        width: 99%;
    }
}

/* Map Control Styles */
.map-control {
    background-color: #fff;
    border: 1px solid #ccc;
    box-shadow: 0 2px 2px rgba(33, 33, 33, 0.4);
    font-family: "Roboto", "sans-serif";
    margin: 10px;
    display: none;
}

/* Display Map Control Block */
#map .map-control {
    display: block;
}

/* Selector Control Styles */
.selector-control {
    font-size: 14px;
    line-height: 30px;
    padding-left: 5px;
    padding-right: 5px;
}

/* #endregion */

/* #region TreeSlidesSmall page */
#three-slide {
    position: relative;
    width: 1440px;
    max-width: 100%;
    height: 600px;
    margin: 30px auto;
    background-color: #efefef;
    overflow: hidden;
    background-image: url(../img/pic5.jpg);
    background-size: cover;
    background-position: center;
    color: #000000;
    border-radius: 5px; /* Rounded corners like .project-item */
    box-shadow: 5px 5px 10px #553b22; /* Same shadow as .project-item */
}

/* Responsive adjustments for Three Slide section */
@media (max-width: 768px) {
    #three-slide {
        margin: 15px auto;
    }
}

#three-slide .wrapper {
    position: relative;
    display: flex;
    width: 1180px;
    max-width: 95%;
    height: 100%;
    margin: 0 auto;
    align-items: center;
}

    #three-slide .wrapper .slider {
        position: relative;
        width: calc(100% - 60px);
        height: 100%;
        margin: 0 auto;
        padding: 0;
        list-style: none;
        opacity: 1;
        transition: opacity .3s ease-in-out;
    }

        #three-slide .wrapper .slider.swap {
            opacity: 0;
            transition: opacity .3s ease-in-out;
        }

        #three-slide .wrapper .slider li {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 40%;
            opacity: 0;
            cursor: pointer; /* Hand cursor on hover */
        }

            #three-slide .wrapper .slider li.full-screen {
                position: fixed; /* Positioned relative to the viewport */
                top: 0;
                left: 0;
                width: 100vw; /* Full viewport width */
                height: 100vh; /* Full viewport height */
                z-index: 1000; /* Make sure it's on top of other elements */
                display: flex; /* Flexbox for centering */
                justify-content: center; /* Center horizontally */
                align-items: center; /* Center vertically */
                background-color: rgba(0, 0, 0, 0.8); /* Semi-transparent black background */
                margin: 0; /* Ensure no margin is affecting positioning */
                padding: 0; /* Ensure no padding is affecting positioning */
                overflow: auto; /* Allow scrolling */
            }

                #three-slide .wrapper .slider li.full-screen img {
                    max-height: none; /* Allow image to maintain original size */
                    max-width: none; /* Allow image to maintain original size */
                    width: auto; /* Ensure no auto resizing */
                    height: auto; /* Ensure no auto resizing */
                    object-fit: contain; /* Ensures the whole image is visible */
                    margin: 0; /* Ensure no margin is affecting positioning */
                    padding: 0; /* Ensure no padding is affecting positioning */
                }

/* Responsive adjustments for slide items in Three Slide section */
@media (max-width: 900px) {
    #three-slide .wrapper .slider li {
        width: 50%;
    }
}

#three-slide .wrapper .slider li img {
    width: 100%;
}

#three-slide .wrapper .slider .back {
    left: 0;
    opacity: 1;
}

#three-slide .wrapper .slider .current {
    left: 50%;
    transform: translate(-50%, -50%) scale(1.3);
    opacity: 1;
    z-index: 10;
}

#three-slide .wrapper .slider .front {
    right: 0;
    opacity: 1;
}

/* Responsive adjustments for slider layout in Three Slide section */
@media (max-width: 767px) {
    #three-slide .wrapper .slider {
        width: calc(100% - 30px);
    }

        #three-slide .wrapper .slider li {
            width: 75%;
        }

        #three-slide .wrapper .slider .back,
        #three-slide .wrapper .slider .front {
            display: none;
        }
}

#three-slide i {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 60px;
    height: 60px;
    font-size: 28px;
    text-align: center;
    line-height: 60px;
    background-color: #d0c7b0;
    cursor: pointer;
    z-index: 10;
    transition: all .2s ease-in-out;
    border: 1px solid rgb(42, 40, 40);
    box-shadow: 0 0 10px #00000080;
}

    #three-slide i:hover {
        background: #69573e;
        color: #ffffff;
        outline: 0 !important;
        font-weight: 500;
        filter: drop-shadow(10px 10px 20px #553b22);
        transform: translateY(-50%) scale(1.1);
    }

#three-slide .prev {
    left: 30px;
}

#three-slide .next {
    right: 30px;
}

/* Responsive adjustments for navigation arrows in Three Slide section */
@media (max-width: 767px) {
    #three-slide i {
        transform: translateY(-50%) scale(.7);
    }

        #three-slide i:hover {
            transform: translateY(-50%) scale(.8);
        }

    #three-slide .prev {
        left: 0;
    }

    #three-slide .next {
        right: 0;
    }
}

/* Full Slide Section */
#full-slide {
    position: relative;
    width: 1440px;
    max-width: 100%;
    height: 600px;
    margin: 30px auto;
    background-color: #efefef;
    overflow: hidden;
    color: #000000;
    border-radius: 5px; /* Rounded corners like .project-item */
    box-shadow: 5px 5px 10px #553b22; /* Same shadow as .project-item */
}

/* Responsive adjustments for Full Slide section */
@media (max-width: 768px) {
    #full-slide {
        margin: 15px auto;
    }
}

#full-slide .banner {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

    #full-slide .banner li {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        opacity: 0;
        transition: opacity .6s ease-in-out;
    }

        #full-slide .banner li.active {
            opacity: 1;
            transition: opacity .6s ease-in-out;
        }

/* Navigation arrows for Full Slide section */
#full-slide i {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 60px;
    height: 60px;
    font-size: 28px;
    text-align: center;
    line-height: 60px;
    background-color: #d0c7b0;
    cursor: pointer;
    z-index: 10;
    transition: all .2s ease-in-out;
    border: 1px solid rgb(42, 40, 40);
    box-shadow: 0 0 10px #00000080; /* Same shadow as #three-slide */
}

    #full-slide i:hover {
        background: #69573e;
        color: #ffffff;
        outline: 0 !important;
        font-weight: 500;
        filter: drop-shadow(10px 10px 20px #553b22); /* Same shadow as #three-slide */
        transform: translateY(-50%) scale(1.1); /* Same scale effect as #three-slide */
    }

/* Responsive adjustments for navigation arrows in Full Slide section */
#full-slide .prev {
    left: 30px;
}

#full-slide .next {
    right: 30px;
}

@media (max-width: 767px) {
    #full-slide i {
        transform: translateY(-50%) scale(.7);
    }

        #full-slide i:hover {
            transform: translateY(-50%) scale(.8);
        }

    #full-slide .prev {
        left: 0;
    }

    #full-slide .next {
        right: 0;
    }
}

/* Button Styles */
.button {
    color: #000000;
    background: transparent; /* Clearer indication of no background color */
    text-decoration: none;
    font-size: 24px;
    position: relative;
    padding: 8px;
    transition: background-color 0.5s, color 0.2s, transform 0.3s ease; /* Added transform to the transitions */
    border-radius: 8px;
    border: 1px solid #000000;
    cursor: pointer;
    filter: drop-shadow(10px 10px 20px #000000); /* Strong shadow effect */
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
}

    .button:hover {
        color: #ffffff;
        background-color: rgb(105, 87, 62); /* Dark gold background on hover */
        transform: scale(1.1); /* Slightly increase size on hover */
    }

    .button:active {
        transform: scale(1.05); /* Slightly decrease size on click */
    }

/* Adjustments for smaller screens */
@media (max-width: 768px) {
    .button {
        font-size: 20px; /* Smaller font size */
        padding: 6px; /* Smaller padding */
    }
}

#three-slide {
    position: relative;
    width: 1440px;
    max-width: 100%;
    height: 600px;
    margin: 30px auto;
    background-color: #efefef;
    overflow: hidden;
    background-image: url(../img/pic5.jpg);
    background-size: cover;
    background-position: center;
    color: #000000;
    border-radius: 5px; /* Rounded corners like .project-item */
    box-shadow: 5px 5px 10px #553b22; /* Same shadow as .project-item */
}

/* Responsive adjustments for Three Slide section */
@media (max-width: 768px) {
    #three-slide {
        margin: 15px auto;
    }
}

#three-slide .wrapper {
    position: relative;
    display: flex;
    width: 1180px;
    max-width: 95%;
    height: 100%;
    margin: 0 auto;
    align-items: center;
}

    #three-slide .wrapper .slider {
        position: relative;
        width: calc(100% - 60px);
        height: 100%;
        margin: 0 auto;
        padding: 0;
        list-style: none;
        opacity: 1;
        transition: opacity .3s ease-in-out;
    }

        #three-slide .wrapper .slider.swap {
            opacity: 0;
            transition: opacity .3s ease-in-out;
        }

        #three-slide .wrapper .slider li {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 40%;
            opacity: 0;
            cursor: pointer; /* Hand cursor on hover */
        }

            #three-slide .wrapper .slider li.full-screen {
                position: fixed; /* Positioned relative to the viewport */
                top: 0;
                left: 0;
                width: 100vw; /* Full viewport width */
                height: 100vh; /* Full viewport height */
                z-index: 1000; /* Make sure it's on top of other elements */
                display: flex; /* Flexbox for centering */
                justify-content: center; /* Center horizontally */
                align-items: center; /* Center vertically */
                background-color: rgba(0, 0, 0, 0.8); /* Semi-transparent black background */
                margin: 0; /* Ensure no margin is affecting positioning */
                padding: 0; /* Ensure no padding is affecting positioning */
                overflow: auto; /* Allow scrolling */
            }

                #three-slide .wrapper .slider li.full-screen img {
                    max-height: none; /* Allow image to maintain original size */
                    max-width: none; /* Allow image to maintain original size */
                    width: auto; /* Ensure no auto resizing */
                    height: auto; /* Ensure no auto resizing */
                    object-fit: contain; /* Ensures the whole image is visible */
                    margin: 0; /* Ensure no margin is affecting positioning */
                    padding: 0; /* Ensure no padding is affecting positioning */
                }


/* Responsive adjustments for slide items in Three Slide section */
@media (max-width: 900px) {
    #three-slide .wrapper .slider li {
        width: 50%;
    }
}

#three-slide .wrapper .slider li img {
    width: 100%;
}

#three-slide .wrapper .slider .back {
    left: 0;
    opacity: 1;
}

#three-slide .wrapper .slider .current {
    left: 50%;
    transform: translate(-50%, -50%) scale(1.3);
    opacity: 1;
    z-index: 10;
}

#three-slide .wrapper .slider .front {
    right: 0;
    opacity: 1;
}

/* Responsive adjustments for slider layout in Three Slide section */
@media (max-width: 767px) {
    #three-slide .wrapper .slider {
        width: calc(100% - 30px);
    }

        #three-slide .wrapper .slider li {
            width: 75%;
        }

        #three-slide .wrapper .slider .back,
        #three-slide .wrapper .slider .front {
            display: none;
        }
}

#three-slide i {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 60px;
    height: 60px;
    font-size: 28px;
    text-align: center;
    line-height: 60px;
    background-color: #d0c7b0;
    cursor: pointer;
    z-index: 10;
    transition: all .2s ease-in-out;
    border: 1px solid rgb(42, 40, 40);
    box-shadow: 0 0 10px #00000080;
}

    #three-slide i:hover {
        background: #69573e;
        color: #ffffff;
        outline: 0 !important;
        font-weight: 500;
        filter: drop-shadow(10px 10px 20px #553b22);
    }

    #three-slide i:hover {
        transform: translateY(-50%) scale(1.1);
    }

#three-slide .prev {
    left: 30px;
}

#three-slide .next {
    right: 30px;
}

/* Responsive adjustments for navigation arrows in Three Slide section */
@media (max-width: 767px) {
    #three-slide i {
        transform: translateY(-50%) scale(.7);
    }

        #three-slide i:hover {
            transform: translateY(-50%) scale(.8);
        }

    #three-slide .prev {
        left: 0;
    }

    #three-slide .next {
        right: 0;
    }
}

/* Button Styles */
.button {
    color: #000000;
    background: transparent; /* Clearer indication of no background color */
    text-decoration: none;
    font-size: 24px;
    position: relative;
    padding: 8px;
    transition: background-color 0.5s, color 0.2s, transform 0.3s ease; /* Added transform to the transitions */
    border-radius: 8px;
    border: 1px solid #000000;
    cursor: pointer;
    filter: drop-shadow(10px 10px 20px #000000); /* Strong shadow effect */
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
}

    .button:hover {
        color: #ffffff;
        background-color: rgb(105, 87, 62); /* Dark gold background on hover */
        transform: scale(1.05); /* Slight enlargement on hover */
    }

.button-container {
    text-align: center; /* Ensures buttons are centered in their container */
}


/* Lightbox CSS */
.lightbox {
    display: none; /* Hidden by default */
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.9); /* Black background with transparency */

    justify-content: center; /* Center horizontally */
    align-items: center; /* Center vertically */
}

.lightbox-content {
    margin: auto;
    display: block;
    max-width: 90%;
    max-height: 90%;
}

.close {
    position: absolute;
    top: 15px;
    right: 35px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    transition: 0.3s;
}

    .close:hover,
    .close:focus {
        color: #bbb;
        text-decoration: none;
        cursor: pointer;
    }

@media screen and (max-width: 700px) {
    .lightbox-content {
        width: 100%;
    }

    .close {
        top: 5px;
        right: 15px;
        font-size: 30px;
    }
}
/* #endregion TreeSlidesSmall page */

/* #region Project page */

/* Project Grid Styles */
#project-wrapper {
    display: flex;
    justify-content: center; /* This centers the children horizontally within the wrapper */
    align-items: center; /* This centers the children vertically within the wrapper */
    flex-wrap: wrap; /* This allows items to wrap in case of smaller screens */
    overflow: auto; /* Allows scrolling if content overflows */
    height: auto; /* Adjusted to auto to accommodate variable content height */
    padding: 20px 20px 20px 20px; /* Adds padding around the content, adjust values as needed */
    width: calc(100% - 40px); /* Adjust width to account for padding */
    box-sizing: border-box; /* Includes padding and border in the element's total width and height */
}

.project-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    align-items: stretch; /* Align items to stretch to fill the cell */
    justify-content: center;
    width: 100%; /* Ensures grid scales with the wrapper */
    margin-bottom: 20px;
}

.project-item {
    background-color: rgba(209, 199, 176, 0); /* Transparent background */
    border-radius: 5px;
    padding: 8px;
    box-shadow: 5px 5px 10px #553b22;
    transition: transform 0.3s ease-in-out, background-color 0.3s, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    text-decoration: none;
    opacity: 0;
    animation: fadeIn 2s ease-in-out forwards;
}

    .project-item:nth-child(1) {
        animation-delay: 0.3s;
    }

    .project-item:nth-child(2) {
        animation-delay: 0.6s;
    }

    .project-item:nth-child(3) {
        animation-delay: 0.9s;
    }

    .project-item:nth-child(4) {
        animation-delay: 1.2s;
    }

    .project-item:nth-child(5) {
        animation-delay: 1.5s;
    }

    .project-item:nth-child(6) {
        animation-delay: 1.8s;
    }

    .project-item:nth-child(7) {
        animation-delay: 2.1s;
    }

    .project-item:nth-child(8) {
        animation-delay: 2.4s;
    }
    .project-item:nth-child(9) {
        animation-delay: 0.3s;
    }


.project-content {
    display: flex;
    flex-direction: column;
    align-items: center; /* Aligns flex items (children) along the cross axis (horizontally in this case) */
    justify-content: center; /* Centers the flex items along the main axis (vertically in this case) */
    width: 100%;
    height: 100%;
    text-align: center; /* Centers text within each child element if they're not flex containers themselves */
    text-decoration: none;
}



.project-image {
    width: 100%; /* Full width to maintain responsiveness */
    height: 200px; /* Auto height to maintain aspect ratio */
    object-fit: cover; /* Ensures the image covers the area without distortion */
    max-height: 200px; /* Optional: Set a max height to ensure uniformity */
    border-radius: 5px;
}

.project-title {
    margin-top: 10px;
    font-weight: 600;
    width: 100%; /* Ensures the title extends full width of its container, allowing text-align to center it effectively */
    text-decoration: none;
    word-wrap: break-word; /* Ensures text breaks to avoid overflow */
    padding: 0 10px; /* Adds padding to maintain layout integrity */
    text-align: center;
}

.project-description {
    font-size: 0.9rem;
    color: #555;
    flex-grow: 1; /* Allows the description to fill available space pushing the title up */
    width: 100%;
    word-wrap: break-word; /* Ensures text breaks to avoid overflow */
    padding: 0 10px; /* Adds padding to maintain layout integrity */
    text-align: center;
}

.project-item:hover {
    transform: translateY(-5px);
    background-color: rgba(105, 87, 62, 0.7); /* Slightly transparent background on hover */
    border-color: #000; /* White border on hover */
    box-shadow: 10px 10px 20px #553b22;
    color: #ffffff; /* Changes text color to white on hover */
}

    /* Change color of all child elements to white on hover */
    .project-item:hover * {
        color: #ffffff !important; /* Ensures all text becomes white */
    }

/* To change the color of all text inside the project item, including headings, paragraphs, and links */


/* Remove text decoration from links */
.project-item a,
.project-item a:hover,
.project-item a:visited {
    text-decoration: none !important; /* Ensures no underline */
    color: inherit; /* Inherits the color from the parent, which will be white on hover */
}


@media (max-width: 992px) {
    .project-grid {
        grid-template-columns: repeat(2, 1fr); /* Adjusts to 2 columns on medium screens */
    }

    .project-image {
        height: 150px; /* Slightly smaller height on medium screens */
    }
}

@media (max-width: 768px) {
    .project-grid {
        grid-template-columns: 1fr;
    }

    .project-image {
        height: 150px; /* Smaller height on small screens */
    }
}



#project-wrapper {
    display: flex;
    justify-content: center; /* This centers the children horizontally within the wrapper */
    align-items: center; /* This centers the children vertically within the wrapper */
    flex-wrap: wrap; /* This allows items to wrap in case of smaller screens */
    overflow: auto; /* Allows scrolling if content overflows */
    height: auto; /* Adjusted to auto to accommodate variable content height */
    padding: 20px 20px 20px 20px; /* Adds padding around the content, adjust values as needed */
    width: calc(100% - 40px); /* Adjust width to account for padding */
    box-sizing: border-box; /* Includes padding and border in the element's total width and height */
}


/* #endregion*/

/* #region AboutProject */
/* Styles for the #about section */
#AboutProject {
    position: relative;
    width: 1440px;
    /* Set a fixed width */
    max-width: 100%;
    /* Ensure the width doesn't exceed 95% of the viewport */
    height: 1280px;
    margin: 30px auto;
    /* Center the element horizontally with a top margin of 30px */
    background-color: #efefef;
    overflow: hidden;
    background-image: url(../img/pic2.jpg);
    /* Set background image */
    background-size: cover;
    /* Cover the entire container with the background image */
    background-position: center;
    /* Center the background image */
    color: #000000;
    /* Set text color to black */
    border-radius: 5px; /* Rounded corners like .project-item */
    box-shadow: 5px 5px 10px #553b22; /* Same shadow as .project-item */
}



/* Responsive styles for smaller screens (max-width: 768px) */
@media (max-width: 768px) {
    #AboutProject {
        margin: 15px auto;
        /* Adjust margin for smaller screens */
    }
}


/* Styles for the #about .wrapper section */
#AboutProject .wrapper {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 1180px;
    /* Set a fixed width for the wrapper */
    max-width: 95%;
    /* Ensure the width doesn't exceed 95% of the viewport */
    height: 100%;
    margin: 0 auto;
    /* Center the wrapper horizontally */
    align-items: center;
    /* Center items vertically within the wrapper */
}

/* Responsive styles for smaller screens (max-width: 768px) */
@media (max-width: 768px) {
    #AboutProject .wrapper {
        margin: 15px auto;
        /* Adjust margin for smaller screens */
    }
}

/* Styles for the #about .wrapper .blurb section */
#AboutProject .wrapper .blurb {
    width: 55%;
    /* Set a width for the blurb section */
    margin: 0 auto;
    /* Center the blurb section horizontally */
}

/* Responsive styles for smaller screens (max-width: 640px) */
@media (max-width: 640px) {
    #AboutProject .wrapper .blurb {
        margin: 15px auto;
        /* Adjust margin for smaller screens */
    }
}

#AboutProject .wrapper .blurb {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

    /* Styles for the #about .wrapper .blurb h2 section */
    #AboutProject .wrapper .blurb h2 {
        margin-top: 0;
        margin-bottom: 30px;
        font-size: 42px;
        font-family: "Raleway", Helvetica, sans-serif;
        font-weight: 100;
    }

/* Responsive styles for even smaller screens (max-width: 640px) */
@media (max-width: 640px) {
    #AboutProject .wrapper .blurb h2 {
        margin-bottom: 20px;
        font-size: 30px;
    }
}

/* Styles for the #about .wrapper .blurb p section */
#AboutProject .wrapper .blurb p {
    max-width: 600px;
    margin-bottom: 45px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* Styles for the #about .wrapper .blurb .social section */
#AboutProject .wrapper .blurb .social {
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
}

    /* Styles for the #about .wrapper .blurb .social a section */
    #AboutProject .wrapper .blurb .social a {
        color: #000000;
        text-decoration: none;
        font-size: 24px;
        position: relative;
        padding: 8px;
        transition: background-color 0.5s, color 0.2s;
        border-radius: 8px;
    }

        /* Hover styles for the #about .wrapper .blurb .social a section */
        #AboutProject .wrapper .blurb .social a:hover {
            color: #ffffff;
            /* Change text color on hover */
            background-color: rgb(105, 87, 62);
            /* Change background color on hover */
        }

/* Responsive styles for smaller screens (max-width: 1023px) */
@media (max-width: 1023px) {
    #AboutProject .wrapper .blurb {
        display: flex;
        width: 100%;
        flex-direction: column;
        align-items: flex-end;
        text-align: right;
    }

        #AboutProject .wrapper .blurb h2:before {
            display: none;
            /* Hide the horizontal line before h2 on smaller screens */
        }
}

/* Responsive styles for even smaller screens (max-width: 640px) */
@media (max-width: 640px) {
    #AboutProject .wrapper .blurb {
        align-items: center;
        /* Center items vertically within the blurb section */
        text-align: center;
        /* Center text horizontally within the blurb section */
    }
}

/* #endregion */

/* #region Header */
/* Header container styles */
header {
    position: relative;
    width: 100%; /* Full width of the viewport */
    height: 80px; /* Adjust height as needed */
    margin: 0 auto; /* Center the header */
    border-radius: 5px; /* Rounded corners */
    box-shadow: 5px 5px 10px #553b22; /* Slightly transparent shadow */
    display: flex; /* Flexbox layout */
    align-items: center; /* Vertically center content */
    justify-content: space-between; /* Space out child elements */
    padding: 0 20px; /* Padding on both sides */
    box-sizing: border-box; /* Include padding and border in width and height */
    overflow: hidden;
    color: #000000;
    z-index: 1; /* Ensure the content appears above the background */
}

    header::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url('../img/pic3.jpg'); /* Background image */
        background-size: cover; /* Cover the entire header area */
        background-position: center bottom; /* Align the background */
        opacity: 1; /* 20% transparency */
        filter: blur(3px); /* Slight blur effect */
        z-index: -1; /* Place the image behind all other content */
        border-radius: 5px; /* Match the border radius of the header */
    }

    header > * {
        position: relative;
        z-index: 2; /* Ensure content appears above the pseudo-element */
    }

}

/* Navigation container inside the header */
header nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

    /* Navigation links inside the header */
    header nav a {
        color: #000000; /* Text color */
        background-color: rgba(255, 255, 255, 0.0); /* Transparent background */
        text-decoration: none; /* No underline */
        font-size: 16px; /* Font size */
        font-family: "Raleway", Helvetica, sans-serif; /* Font family */
        padding: 10px 20px; /* Padding around links */
        margin: 0 10px; /* Spacing between buttons */
        border-radius: 5px; /* Rounded corners */
        border: 1px solid rgba(0, 0, 0, 0.3); /* Border with slight transparency */
        box-shadow: 5px 5px 10px rgba(85, 59, 34, 0.5); /* Slightly transparent shadow */
        transition: background-color 0.5s, color 0.2s, transform 0.3s ease; /* Smooth transition */
    }

        /* Hover effect for navigation links */
        header nav a:hover {
            background-color: rgba(105, 87, 62, 0.7); /* Slightly transparent dark gold background */
            color: #ffffff; /* White text color on hover */
            transform: scale(1.05); /* Slight enlargement on hover */
        }

/* Logo styles */
header .logo {
    font-size: 24px; /* Adjust font size as needed */
    font-weight: bold; /* Bold font for logo text */
    color: #000000; /* Text color */
    text-decoration: none; /* No underline for logo */
}

/* Responsive adjustments */
@media (max-width: 768px) {
    header {
        flex-direction: column; /* Stack elements vertically on smaller screens */
        height: auto; /* Adjust height to fit content */
    }

        header nav {
            justify-content: center; /* Center the navigation items */
            margin-top: 10px; /* Add some spacing */
        }

        header .logo {
            margin-bottom: 10px; /* Space out logo from navigation on smaller screens */
        }
}


/* #endregion Header */

/* #region Footer Styles */
footer {
    position: relative;
    width: 100%; /* Set to full width of the viewport */
    height: 80px; /* Adjust the height as needed */
    border-radius: 5px; /* Rounded corners */
    box-shadow: 5px 5px 10px #553b22; /* Same shadow effect */
    display: flex; /* Utilizes flexbox for layout */
    flex-direction: column; /* Stack elements vertically */
    align-items: center; /* Center items horizontally */
    justify-content: center; /* Center items vertically */
    padding: 0 20px; /* Padding on both sides */
    box-sizing: border-box; /* Include padding and border in width and height */
    margin-top: 30px; /* Space from the content above, adjust as necessary */
    text-align: center; /* Center text horizontally */
    z-index: 1; /* Ensure the content appears above the background */
}

    footer::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url('../img/pic4.jpg'); /* Set background image */
        background-size: cover; /* Cover the entire footer area */
        background-position: center; /* Center the background */
        opacity: 1; /* 20% transparency */
        filter: blur(3px); /* Apply a slight blur effect */
        z-index: -1; /* Place the image behind all other content */
        border-radius: 5px; /* Match the border radius of the footer */
    }

    footer > * {
        position: relative;
        z-index: 2; /* Ensure content appears above the pseudo-element */
    }


    footer .footer-content {
        display: flex;
        flex-direction: column; /* Stack content vertically */
        align-items: center; /* Center items horizontally */
        width: 100%; /* Use full width for alignment */
    }

    footer a {
        display: inline-block;
        padding: 10px 20px;
        font-size: 16px;
        background-color: rgba(255, 255, 255, 0) !important; /* Fully transparent background */
        color: #000000 !important;
        text-decoration: none;
        text-align: center;
        border-radius: 5px;
        font-family: "Raleway", Helvetica, sans-serif;
        font-weight: 400;
        border: 0.1px solid #000000;
        text-shadow: none !important; /* Remove any text shadow */
        box-shadow: none !important; /* Ensure no box shadow */
        transition: background-color 0.3s, color 0.2s, transform 0.3s ease, filter 0.3s ease; /* Added transitions for transform and filter */
    }

    /* Privacy Button Styles */
    footer .privacy-button {
        display: inline-block;
        padding: 10px 20px;
        font-size: 16px;
        background-color: rgba(255, 255, 255, 0) !important; /* Fully transparent background */
        color: #000000 !important; /* Ensure text color is black */
        text-decoration: none;
        text-align: center;
        border-radius: 5px;
        font-family: "Raleway", Helvetica, sans-serif;
        font-weight: 400;
        border: 0.1px solid #000000;
        text-shadow: none !important; /* Remove text shadow */
        box-shadow: none !important; /* Ensure no box shadow */
        transition: background-color 0.3s, color 0.2s, transform 0.3s ease, filter 0.3s ease; /* Added transitions for transform and filter */
        opacity: 0; /* Start with button invisible */
        animation: fadeIn 2s 0s ease-in-out forwards; /* Animation starts after 2 seconds, lasts 2 seconds */
        margin-top: 10px; /* Space between the text and button */
        max-width: 100%; /* Ensure button does not exceed container width */
    }

        /* Hover Styles */
        footer .privacy-button:hover {
            background: #69573e !important; /* Ensure background color changes on hover */
            color: #ffffff !important; /* Ensure text color changes to white on hover */
            outline: 0 !important;
            font-weight: 500;
            filter: drop-shadow(10px 10px 20px #553b22);
            transform: scale(1.05); /* Slight scale effect on hover */
        }

        /* Active Styles for Mobile Devices */
        footer .privacy-button:active {
            background: #69573e !important; /* Ensure background color changes on touch */
            color: #ffffff !important; /* Ensure text color changes to white on touch */
        }

/* Responsive Adjustments for the footer and button */
@media (max-width: 768px) {
    footer {
        flex-direction: column; /* Stack elements vertically on smaller screens */
        padding: 20px; /* Increase padding for better spacing */
        height: auto; /* Adjust height to content */
    }

        footer .footer-content {
            flex-direction: column; /* Align content vertically */
            align-items: center; /* Center items horizontally */
        }

        footer .privacy-button {
            margin-top: 10px;
            display: block; /* Ensure button is displayed as a block element */
            padding: 8px 15px; /* Adjust padding for mobile to reduce button size */
            font-size: 14px; /* Adjust font size for mobile */
            border: 0.1px solid #000000; /* Ensure border is consistent with the design */
        }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* #endregion Footer Styles */

/* #region Nav Styles */

/* Style the navbar container */
.navbar {
    background-color: rgba(255, 255, 255, 0) !important; /* Fully transparent background */
    border: none !important; /* Remove all borders */
    border-radius: 5px; /* Rounded corners */
    padding: 0.4rem 1rem; /* Adjust padding to reduce container height */
    margin: 0; /* Reset margin */
    position: relative; /* Ensure that absolute children are positioned relative to this container */
    display: flex;
    flex-direction: column; /* Arrange icon and buttons in a column */
    align-items: center; /* Center content horizontally */
    box-shadow: none !important; /* Remove any shadow */
    height: auto; /* Adjust height as needed */
}

/* Ensure the navbar-toggler button is above the buttons and centered */
.navbar-toggler {
    background-color: transparent !important; /* Fully transparent background */
    border: none; /* Remove border */
    margin-bottom: 10px; /* Space between the icon and buttons */
    align-self: center; /* Center the toggler horizontally */
}

/* Ensure the navbar-toggler icon remains visible */
.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    /* Icon is set to a dark color for visibility */
}

/* Ensure the navbar-collapse remains visible after collapse */
.navbar-collapse {
    background-color: rgba(255, 255, 255, 0) !important; /* Fully transparent background */
    color: #000000 !important; /* Set text color to ensure readability */
    padding: 0; /* Remove padding for a tighter layout */
    display: flex;
    justify-content: center; /* Center the buttons within this container */
    width: auto; /* Allow the container to fit its contents */
}

/* Style for the nav items */
.navbar-nav {
    display: flex;
    flex-direction: row; /* Align buttons in a row */
    justify-content: center; /* Center buttons within the navbar */
    width: 100%; /* Ensure the nav takes full width */
}

    /* Style for the Home and Projects buttons in the navbar */
    .navbar-nav .nav-link {
        display: inline-block;
        padding: 10px 20px;
        font-size: 16px;
        background-color: rgba(255, 255, 255, 0) !important; /* Fully transparent background */
        color: #000000 !important;
        text-decoration: none;
        text-align: center;
        border-radius: 5px;
        margin-top: 10px;
        font-family: "Raleway", Helvetica, sans-serif;
        font-weight: 400;
        border: 0.1px solid #000000;
        text-shadow: none !important; /* Remove any text shadow */
        box-shadow: none !important; /* Ensure no box shadow */
        transition: background-color 0.3s, color 0.2s, transform 0.3s ease, filter 0.3s ease; /* Added transitions for transform and filter */
    }

        /* Hover effect for the navbar buttons */
        .navbar-nav .nav-link:hover {
            background: #69573e !important;
            color: #ffffff !important;
            outline: 0 !important;
            font-weight: 500;
            filter: drop-shadow(10px 10px 20px #553b22) !important;
            transform: scale(1.05) !important; /* Slight scale effect on hover */
        }

/* Responsive adjustments for the buttons */
@media (max-width: 640px) {
    .navbar-nav .nav-link {
        margin-top: 10px;
    }

    /* Ensure no shadow on the specific navbar container */
    .navbar {
        box-shadow: none !important; /* Remove any shadow */
    }

        .navbar .container {
            box-shadow: none !important; /* Remove any shadow */
        }

    .navbar-nav .nav-link {
        box-shadow: none !important; /* Remove any shadow */
    }

    .nav {
        box-shadow: none !important; /* Remove any shadow */
    }

        /* Ensure no shadow for each list item */
        .nav li {
            box-shadow: none !important; /* Remove any shadow */
        }

            .nav li a {
                box-shadow: none !important; /* Remove any shadow */
            }
}

/* #endregion Nav Styles */

/* #region animation Styles */
/* Define the fadeIn keyframes */
@keyframes fadeIn {
    from {
        opacity: 0; /* Start invisible */
        transform: translateY(10px); /* Optional: Adds a slight upward movement */
    }

    to {
        opacity: 1; /* End fully visible */
        transform: translateY(0);
    }
}


/* Define the fadeIn keyframes */
@keyframes fadeIn {
    from {
        opacity: 0; /* Start invisible */
        transform: translateY(10px); /* Optional: Adds a slight upward movement */
    }

    to {
        opacity: 1; /* End fully visible */
        transform: translateY(0);
    }
}

.about,
.full-slide,
.three-slide,
.contact {
    opacity: 0; /* Hidden by default */
    animation: fadeIn 2.4s ease-in-out forwards;
}

.AboutProject {
    opacity: 0; /* Hidden by default */
    animation: fadeIn 2.4s ease-in-out forwards;
}
/* Animation delays */
.aboutme {
    opacity: 0; /* Hidden by default */
    animation: fadeIn 2.4s ease-in-out forwards;
    animation-delay: 0.5s; /* Adjust delay as needed */
}

.about {
    animation-delay: 1s;
}

.full-slide {
    animation-delay: 1.5s;
}

.three-slide {
    animation-delay: 2s;
}

.contact {
    animation-delay: 2.5s;
}

.AboutProject {
    animation-delay: 1s;
}
/* #endregion animation Styles */

/* #region Icons Styles */
.icon-chevron-thin-left.prev {
    font-size: 16px;
    background: #69573e !important; /* Background color as if hovered */
    color: #ffffff !important; /* Text color as if hovered */
    text-decoration: none;
    text-align: center;
    border-radius: 5px;
    font-family: "Raleway", Helvetica, sans-serif;
    font-weight: 500; /* Font weight as if hovered */
    border: 0.1px solid #000000;
    filter: drop-shadow(10px 10px 20px #553b22); /* Drop shadow as if hovered */
    transform: scale(1.05); /* Slight scale effect as if hovered */
    transition: background-color 0.3s, color 0.2s, transform 0.3s ease, filter 0.3s ease;
}

    .icon-chevron-thin-left.prev:hover {
        /* Hover styles are not needed here as we want to make it look like it is in the hovered state by default */
    }

    .icon-chevron-thin-left.prev:active {
        background: #69573e !important; /* Ensure background color remains on touch */
        color: #ffffff !important; /* Ensure text color remains on touch */
    }

.icon-chevron-thin-right.next {
    font-size: 16px;
    background: #69573e !important; /* Background color as if hovered */
    color: #ffffff !important; /* Text color as if hovered */
    text-decoration: none;
    text-align: center;
    border-radius: 5px;
    font-family: "Raleway", Helvetica, sans-serif;
    font-weight: 500; /* Font weight as if hovered */
    border: 0.1px solid #000000;
    filter: drop-shadow(10px 10px 20px #553b22); /* Drop shadow as if hovered */
    transform: scale(1.05); /* Slight scale effect as if hovered */
    transition: background-color 0.3s, color 0.2s, transform 0.3s ease, filter 0.3s ease;
}

    .icon-chevron-thin-right.next:hover {
        /* Hover styles are not needed here as we want to make it look like it is in the hovered state by default */
    }

    .icon-chevron-thin-right.next:active {
        background: #69573e !important; /* Ensure background color remains on touch */
        color: #ffffff !important; /* Ensure text color remains on touch */
    }

/* #endregion Icons Styles */


/* #region Password Popup Styles */

/* Backdrop Layer */
.backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent black layer */
    backdrop-filter: blur(5px); /* Applies a blur effect to the background */
    z-index: 999; /* Ensures it appears below the popup but above other content */
    display: none; /* Hidden by default */
}

/* Password Popup */
#code-prompt {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 600px;
    max-width: 95%;
    background-color: rgba(209, 199, 176, 0.9); /* Matching card background */
    border-radius: 10px;
    box-shadow: 5px 5px 15px #553b22;
    padding: 30px;
    z-index: 1000;
    text-align: center;
    display: none;
    backdrop-filter: blur(5px);
    font-family: "Georgia", serif;
    color: #3e2f20;
}

    /* Title Styling */
    #code-prompt h2 {
        font-size: 32px;
        font-weight: bold;
        margin-bottom: 15px;
        color: #3e2f20;
        font-family: "Georgia", serif;
        text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
    }

    /* Description Styling */
    #code-prompt p {
        font-size: 18px;
        font-style: italic;
        color: #5b4732;
        font-family: "Georgia", serif;
        line-height: 1.6;
        margin-bottom: 20px;
    }

    /* Input Field Styling */
    #code-prompt .input-container input {
        width: 80%;
        padding: 10px;
        font-size: 16px;
        border: 2px solid #ccc;
        border-radius: 5px;
        text-align: center;
        margin-bottom: 20px;
        font-family: "Georgia", serif;
        color: #3e2f20;
        box-shadow: inset 1px 1px 3px rgba(0, 0, 0, 0.1);
    }

        #code-prompt .input-container input:focus {
            outline: none;
            border: 1px solid #3e2f20;
        }

    /* Button Styling */
    #code-prompt .password-button {
        display: inline-block;
        padding: 10px 20px;
        font-size: 16px;
        background-color: #d1c7b000;
        color: #3e2f20;
        text-decoration: none;
        text-align: center;
        border-radius: 5px;
        font-family: "Georgia", serif;
        font-weight: bold;
        border: 1px solid #3e2f20;
        transition: background-color 0.3s, color 0.2s, transform 0.3s ease;
        opacity: 1;
        box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
    }

        #code-prompt .password-button:hover {
            background: #69573e;
            color: #ffffff;
            transform: scale(1.05);
        }

    /* Error Message Styling */
    #code-prompt #error-message {
        color: #b22222;
        font-style: italic;
        margin-top: 10px;
        font-size: 16px;
        font-family: "Georgia", serif;
    }

/* Responsive Adjustments for Smaller Screens */
@media (max-width: 768px) {
    #code-prompt {
        width: 90%; /* Adjust width for smaller devices */
        padding: 15px;
    }

    .password-button {
        font-size: 14px;
        padding: 8px 15px;
    }
}

/* Email styling: matching the card style */
a.email-link {
    color: #3e2f20;
    text-decoration: none;
    font-family: "Georgia", serif;
}

    a.email-link:hover {
        color: #69573e;
        text-decoration: underline;
    }


/* #endregion Password Popup Styles */

/* #region logo Styles */
/* Style for the Logo */
.logo-img {
    width: 50px;
    height: 50px;
    border-radius: 5px;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
}
/* #endregion logo Styles */

/* #region mobile-popup Styles */
/* Extend Existing Project Styles to Mobile Popup */
#mobile-popup {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 600px;
    max-width: 95%;
    background-color: rgba(209, 199, 176, 0.9); /* Matching card background */
    border-radius: 10px;
    box-shadow: 5px 5px 15px #553b22;
    padding: 30px;
    z-index: 1000;
    text-align: center;
    display: none;
    backdrop-filter: blur(5px);
}

    /* Use the same title style as in the cards */
    #mobile-popup h3.project-title {
        margin-top: 10px;
        font-weight: 600;
        width: 100%;
        text-decoration: none;
        word-wrap: break-word;
        padding: 0 10px;
        text-align: center;
        font-size: 32px;
        font-family: "Georgia", serif;
        color: #3e2f20; /* Matching card title color */
        text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
    }

    /* Use the same description style as in the cards */
    #mobile-popup p.project-description {
        font-size: 0.9rem;
        color: #5b4732;
        flex-grow: 1;
        width: 100%;
        word-wrap: break-word;
        padding: 0 10px;
        text-align: center;
        font-family: "Georgia", serif;
        line-height: 1.6;
        margin-bottom: 20px;
        font-style: italic;
    }

    /* Button Styling */
    #mobile-popup .password-button {
        display: inline-block;
        padding: 10px 20px;
        font-size: 16px;
        background-color: #d1c7b000;
        color: #3e2f20;
        text-decoration: none;
        text-align: center;
        border-radius: 5px;
        font-family: "Georgia", serif;
        font-weight: bold;
        border: 1px solid #3e2f20;
        transition: background-color 0.3s, color 0.2s, transform 0.3s ease;
        opacity: 1;
        box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
    }

        #mobile-popup .password-button:hover {
            background: #69573e;
            color: #ffffff;
            transform: scale(1.05);
        }

/* #endregion mobile-popup Styles */







