:root {
    --footer-bg: #04370c;
    --footer-text-color: #ffe7c3;
    --footer-heading-color: #ffffff;
    --footer-link-color: #ffe7c3;
    --footer-link-hover-color: #cfbca0;
    --footer-border-color: rgba(255, 231, 195, 0.3);
}

body {

    margin: 0;

    font-family: 'Arial', sans-serif;
    display: flex;
    flex-direction: column;
    background-color: #cfbca0;
    min-height: 100vh;
    width: auto;
}

header {
    position: fixed;
    background-color: #ffe7c3;
    color: #ffe7c3;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.5% 0;
    z-index: 1000;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

header img {
    width: 5vmax;
    height: 5vmax;
    display: block;
}

/* Burger Menu Styles */
#sidebar {
    position: absolute;
    top: 0;
    left: 0;
    width: 250px;
    height: 80%;
    margin: 3vmin 0 0 4vmin;
}

.menu {
    position: relative;
    margin: 0 20px 0 0;
    padding-left: 1.25em;
    cursor: pointer;
    width: 15%;
    height: 15%;
    border-bottom: 20px solid transparent;
    text-align: right;
}

.click-blocker {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

.menu-close {
    font-size: 0em;
    opacity: 0;
    font-weight: bold;
    position: absolute;
    left: 20px;
    top: 0;
    color: #04370c;
    -webkit-transition: all 0.2s 0s;
    transition: all 0.2s 0s;
}

.menu-close-visible {
    font-size: 2em;
    opacity: 1;
    -webkit-transition: all 0.2s 0.4s;
    transition: all 0.2s 0.4s;
}

.menu-global {
    position: absolute;
    left: 0;
    height: 10px;
    width: 100%;
    background-color: #04370c;
    -webkit-transition: all 0.2s 0s;
    transition: all 0.2s 0s;
}

.menu-top {
    top: 0;
    pointer-events: none;
}

.menu-middle {
    top: 18px;
    pointer-events: none;
}

.menu-bottom {
    top: 36px;
    pointer-events: none;
}

.menu-hidden {
    top: 36px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;


}

.menu-text {
    color: #000;
    opacity: 0;
    font-size: 0em;
    padding: 10px 0;
    -webkit-transition: all 0.1s 0s;
    transition: all 0.1s 0s;
}

.expand {
    box-shadow: rgba(0, 0, 0, 0.1) -2.5px 5px 7.5px, rgba(0, 0, 0, 0.1) 2.5px 5px 7.5px;
    width: 200px;
    height: 50px;
    background: #E0F7FA;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: all 0.5s 0s, left 0.1s 0s;
    transition: all 0.5s 0s, left 0.1s 0s;
}

.expand:hover {
    left: 10px;
    -webkit-transition: all 0.2s 0s;
    transition: all 0.2s 0s;
}

@media (hover: none),
(pointer: coarse) {
    .expand:hover {
        left: 0;
    }
}

/*https://codepen.io/woodwoerk/pen/xwoLoE*/
.menu-top-expand {
    top: 50px;
    pointer-events: auto;
    background: #ffe7c3;
    -webkit-transition: all 0.5s 0.4s, left 0.1s 0s;
    transition: all 0.5s 0.4s, left 0.1s 0s;
}

.menu-middle-expand {
    top: 100px;
    pointer-events: auto;
    background: #cfbca0;
    -webkit-transition: all 0.5s 0.3s, left 0.1s 0s;
    transition: all 0.5s 0.3s, left 0.1s 0s;
}

.menu-bottom-expand {
    top: 150px;
    pointer-events: auto;
    background: #9c8d78;
    -webkit-transition: all 0.5s 0.2s, left 0.1s 0s;
    transition: all 0.5s 0.2s, left 0.1s 0s;
}

.menu-hidden-expand {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;

    background: #695e50;
    top: 200px;
    -webkit-transition: all 0.5s 0.15s, left 0.1s 0s;
    transition: all 0.5s 0.15s, left 0.1s 0s;


}

.menu-hidden-expand:nth-child(5) {
    background: #50473c;
    top: 250px;
    -webkit-transition: all 0.5s 0.1s, left 0.1s 0s;
    transition: all 0.5s 0.1s, left 0.1s 0s;
}

.menu-hidden-expand:nth-child(6) {
    background: #413a31;
    top: 300px;
    -webkit-transition: all 0.5s 0.1s, left 0.1s 0s;
    transition: all 0.5s 0.1s, left 0.1s 0s;
}

.menu-hidden-expand:nth-child(7) {
    background: #36322b;
    top: 350px;
    -webkit-transition: all 0.5s 0.1s, left 0.1s 0s;
    transition: all 0.5s 0.1s, left 0.1s 0s;
}

.menu-hidden-expand:nth-last-of-type(1) {
    height: 100px;
}

.menu-text-expand {
    opacity: 0.6;
    padding: 10px;
    font-size: 1.3em;
    -webkit-transition: all 0.2s 0.7s, font-size 0.1s 0s;
    transition: all 0.2s 0.7s, font-size 0.1s 0s;
}

.about-section-wrapper {
    position: relative;
    margin-top: 10px;
    padding: 20px 0;
    background-image: url(../images/Alex_Grace_Tailoring_image1.webp);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

.about-section-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(207, 188, 160, 0.85);
}

.about-me-title {
    position: relative;
    margin: 0;
    padding-top: 5%;
    padding-left: 5%;
    font-family: 'Arial', sans-serif;
    font-size: 1.5vmax;
    color: #04370c;
}

.about-me {
    position: relative;
    margin: 0;
    padding-left: 5%;
    padding-right: 30%;
    font-family: 'Arial', sans-serif;
    font-size: 1.5vmax;
    color: #04370c;
}

.content {
    position: relative;
    color: #000000;
    width: 100%;

    margin-top: 10px;
    padding: 5%;
    z-index: 1;
    box-sizing: border-box;
    background-color: #cfbca0;
}

.slider-container {
    border-radius: 25px;
    max-width: 100%;
    height: 100%;
    margin: auto;
    overflow: hidden;
    position: relative;
    margin-top: 10px;
}

.slider {
    display: flex;
    transition: transform 1s ease-in-out;
    will-change: transform;
    transform: translateZ(0);
}

.slide {

    min-width: 100%;
    box-sizing: border-box;
    display: flex;
}

/*https://www.w3schools.com/css/css3_object-fit.asp*/
.slide img {
    float: left;
    width: 33.333%;
    object-fit: cover;
}

.slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 20px;
    color: #04370c;
    background-color: #ffe7c3;
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    outline: none;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

.slider-btn:hover {
    background-color: #04370c;
    color: #ffe7c3;
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.prev {
    left: 1%;
}

.next {
    right: 1%;
}

.portfolio-title {
    margin: 0;
    padding-left: 1%;

    font-family: 'Arial', sans-serif;
    font-size: 3vmax;
    color: #04370c;
}

.portfolio-title-portfolio-page {
    margin: 0;
    padding-left: 1%;
    padding-top: 8vmax;
    font-family: 'Arial', sans-serif;
    font-size: 1.5vmax;
    color: #04370c;
    text-align: center;
}

.contact-section-wrapper {
    position: relative;
    padding: 60px 0;
    background-image: url(../images/Alex_Grace_Tailoring_image1.webp);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

.contact-section-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(230, 209, 177, 0.85);
}

.contact-me-title {
    position: relative;
    margin: 0;
    padding-left: 5%;
    font-family: 'Arial', sans-serif;
    font-size: 3vmax;
    color: #04370c;
}

.contact-me {
    position: relative;
    margin: 0;
    padding: 2% 5%;
    font-size: 1vmax;
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

.contact-details {
    flex: 1;
    min-width: 280px;
}

.contact-details p {
    margin-bottom: 15px;
}

.map-container {
    margin-top: -7%;
    position: relative;
    flex: 1;
    min-width: 280px;
}

.map-container img,
.map-container iframe {
    width: 100%;
    height: 400px;
    border-radius: 15px;
    display: block;
    object-fit: cover;
}

.map-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    padding: 12px 18px;
    font-size: 16px;
    background: #000;
    color: #fff;
    border: none;
    cursor: pointer;
    border-radius: 6px;
    opacity: 0.9;
    z-index: 2;
}

.map-button:hover {
    opacity: 1;
}

.map-container iframe {
    width: 100%;
    height: 400px;
    border-radius: 15px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

/*https://www.quackit.com/html/html_editors/scratchpad/?example=/html/templates/footers/classic_three_column_footer*/
.footer-classic {
    background-color: var(--footer-bg);
    color: var(--footer-text-color);
    padding: 3rem 1.5rem;
    margin-top: auto;
    box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.3);
}

.footer-classic__container {
    max-width: 1140px;
    margin: 0 auto;
}

.footer-classic a {
    color: var(--footer-link-color);
    text-decoration: none;
    transition: color 0.2s ease-in-out;
}

.footer-classic a:hover {
    color: var(--footer-link-hover-color);
    text-decoration: underline;
}

.footer-classic__brand .logo:hover {
    text-decoration: none;
}

.footer-classic__main {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--footer-border-color);
}

.footer-classic__brand .logo {
    display: block;
    max-width: 100%;
    height: auto;
    object-fit: cover;
    margin-bottom: 1rem;

}

.footer-classic__brand .logo path {
    fill: var(--footer-heading-color);
    transition: fill 0.2s ease-in-out;
}

.footer-classic__brand .logo:hover path {
    fill: var(--footer-link-hover-color);
}

.footer-classic__brand p {
    font-size: 0.875rem;
    line-height: 1.5;
    margin: 0;
}

.footer-classic__heading {
    font-size: 1rem;
    font-weight: 600;
    color: var(--footer-heading-color);
    margin-top: 0;
    margin-bottom: 1rem;
}

.footer-classic__links ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-classic__links li {
    margin-bottom: 0.75rem;
}

.footer-classic__bottom {
    padding-top: 2rem;
    font-size: 0.875rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    text-align: center;
}

.footer-classic__copyright {
    margin: 0;
}

.footer-classic__social ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    gap: 1.5rem;
}

.footer-classic__social a:hover {
    text-decoration: none;
}

.footer-classic__social svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

.row {
    display: flex;
    flex-wrap: wrap;
    padding: 0 4px;
}

/* Create two equal columns that sits next to each other */
.column {
    flex: 25%;
    max-width: 25%;
    padding: 0 4px;
    box-sizing: border-box;
}

.column img {
    width: 100%;
    height: auto;
    display: block;
    margin-top: 8px;
}


@media (min-width: 768px) {
    .footer-classic__main {
        grid-template-columns: 2fr 1fr 1fr;
        gap: 3rem;
    }

    .footer-classic__bottom {
        flex-direction: row;
        justify-content: space-between;
        text-align: left;
    }


}

@media (max-width: 768px) {
    .column {
        flex: 50%;
        max-width: 50%;

    }

    .slide img {
        width: 100%;
        height: auto;
    }

    .slider-btn {
        font-size: 10px;
        width: 25px;
        height: 25px;
    }

    .slider-btn:hover {
        background-color: #04370c;
        color: #ffe7c3;
        transform: translateY(-50%) scale(1.1);
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
    }

    #sidebar {
        width: 150px;
        height: 60%;
        margin: 0 0 0 2vmin;
        z-index: 1000;
    }

    .menu {
        position: relative;
        margin: 0 15px 0 0;
        padding-left: 0.75em;
        cursor: pointer;
        width: 20%;
        height: 20%;
        border-bottom: 30px solid transparent;
        text-align: right;
    }

    .click-blocker {
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
    }

    .menu-close {
        font-size: 1.5em;
        opacity: 0;
        font-weight: bold;
        position: absolute;
        left: 20px;
        top: 10px;
        color: #04370c;
        -webkit-transition: all 0.2s 0s;
        transition: all 0.2s 0s;
    }

    .menu-close-visible {
        font-size: 1.5em;
        opacity: 1;
        -webkit-transition: all 0.2s 0.4s;
        transition: all 0.2s 0.4s;
    }

    .menu-global {
        position: absolute;
        left: 0;
        height: 6px;

        width: 100%;
        background-color: #04370c;
        -webkit-transition: all 0.2s 0s;
        transition: all 0.2s 0s;
        margin: 5px 0;

    }

    .menu-top {
        top: 0px;
        pointer-events: none;
    }

    .menu-middle {
        top: 13px;
        pointer-events: none;
    }

    .menu-bottom {
        top: 26px;
        pointer-events: none;
    }

    .menu-hidden {
        top: 39px;
        pointer-events: none;

    }

    .menu-text {
        color: #000;
        opacity: 0;
        font-size: 0.8em;
        padding: 6px 0;
        -webkit-transition: all 0.1s 0s;
        transition: all 0.1s 0s;
    }

    .expand {
        box-shadow: rgba(0, 0, 0, 0.1) -2.5px 5px 7.5px, rgba(0, 0, 0, 0.1) 2.5px 5px 7.5px;
        width: 160px;
        height: 35px;
        background: #E0F7FA;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        -webkit-transition: all 0.5s 0s, left 0.1s 0s;
        transition: all 0.5s 0s, left 0.1s 0s;
    }

    .expand:hover {
        left: 10px;
        -webkit-transition: all 0.2s 0s;
        transition: all 0.2s 0s;
    }

    @media (hover: none),
    (pointer: coarse) {
        .expand:hover {
            left: 0;
        }
    }

    /* Mobile expand transitions */
    .menu-top-expand {
        top: 35px;
        pointer-events: auto;
        background: #ffe7c3;
        -webkit-transition: all 0.5s 0.4s, left 0.1s 0s;
        transition: all 0.5s 0.4s, left 0.1s 0s;
    }

    .menu-middle-expand {
        top: 65px;
        background: #cfbca0;
        -webkit-transition: all 0.5s 0.3s, left 0.1s 0s;
        transition: all 0.5s 0.3s, left 0.1s 0s;
        pointer-events: auto;
    }

    .menu-bottom-expand {
        top: 95px;
        background: #9c8d78;
        -webkit-transition: all 0.5s 0.2s, left 0.1s 0s;
        transition: all 0.5s 0.2s, left 0.1s 0s;
        pointer-events: auto;
    }

    .menu-hidden-expand {
        background: #695e50;
        top: 125px;
        -webkit-transition: all 0.5s 0.15s, left 0.1s 0s;
        transition: all 0.5s 0.15s, left 0.1s 0s;
        pointer-events: auto;
    }

    .menu-hidden-expand:nth-child(5) {
        background: #50473c;
        top: 155px;
        -webkit-transition: all 0.5s 0.1s, left 0.1s 0s;
        transition: all 0.5s 0.1s, left 0.1s 0s;
    }

    .menu-hidden-expand:nth-child(6) {
        background: #413a31;
        top: 185px;
        -webkit-transition: all 0.5s 0.1s, left 0.1s 0s;
        transition: all 0.5s 0.1s, left 0.1s 0s;
    }

    .menu-hidden-expand:nth-child(7) {
        background: #36322b;
        top: 215px;
        -webkit-transition: all 0.5s 0.1s, left 0.1s 0s;
        transition: all 0.5s 0.1s, left 0.1s 0s;
    }

    .menu-hidden-expand:nth-last-of-type(1) {
        height: 70px;
    }

    .menu-text-expand {
        opacity: 0.6;
        padding: 6px;
        font-size: 1em;
        -webkit-transition: all 0.2s 0.7s, font-size 0.1s 0s;
        transition: all 0.2s 0.7s, font-size 0.1s 0s;
    }

    header img {
        width: 7vmax;
        height: 7vmax;

    }

    .about-me-title {

        font-size: 3vmax;

    }

    .about-me {

        font-size: 2vmax;

    }

    .contact-me-title {
        font-size: 3vmax;
    }

    .contact-me {
        flex-direction: column;
        font-size: 2vmax;
    }

    .contact-details {
        width: 100%;
    }

    .map-container {
        width: 100%;
    }

    .map-container img,
    .map-container iframe {
        height: 280px;
    }


}