@import url('https://fonts.googleapis.com/css2?family=Metal&display=swap');

body {
    background-color: hsl(240, 7%, 84%);
    box-sizing: border-box;
    letter-spacing: 0.1px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    /* Custom scrollbar styling */
    scrollbar-width: thin;
    scrollbar-color: hsl(330, 45%, 65%) hsl(222, 10%, 12%);
}

/* Prevent body scroll when modal is open */
body.modal-open {
    overflow: hidden !important;
    position: fixed !important;
    width: 100% !important;
    height: 100% !important;
    left: 0 !important;
    /* Use padding-right to prevent layout shift from scrollbar */
    padding-right: 0 !important;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
    /* Custom scrollbar styling */
    scrollbar-width: thin;
    scrollbar-color: hsl(330, 45%, 65%) hsl(222, 10%, 12%);
}

/* Prevent html scroll when modal is open */
html.modal-open {
    overflow: hidden !important;
}

/* Responsive modal for very short screens */
@media only screen and (max-height: 600px) {
    .contentInModal {
        max-height: min(300px, 50vh);
        height: min(35vw, 40vh);
    }
    
    .projectsModalButtons {
        bottom: max(40px, 6vh);
    }
}

@media only screen and (max-height: 500px) {
    .contentInModal {
        max-height: min(250px, 45vh);
        height: min(30vw, 35vh);
    }
    
    .projectsModalButtons {
        bottom: max(30px, 5vh);
    }
}

/* Responsive modal buttons for narrow screens */
@media only screen and (max-width: 811px) {
    .projectsModalButtons {
        bottom: 30px !important;
    }
}

/* WebKit Browsers - Main Website Scrollbar */
html::-webkit-scrollbar,
body::-webkit-scrollbar {
    width: 10px;
    -webkit-appearance: none;
}

html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track {
    background: hsl(222, 10%, 12%);
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
}

html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, hsl(330, 45%, 65%), hsl(216, 47%, 70%));
    border-radius: 8px;
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
}

/* Firefox-specific scrollbar styling */
@-moz-document url-prefix() {
    html, body {
        scrollbar-width: 12px;
        scrollbar-color: hsl(330, 45%, 65%) hsl(222, 10%, 12%);
    }
    
    /* Firefox scrollbar thumb styling */
    html::-moz-scrollbar-thumb,
    body::-moz-scrollbar-thumb {
        background: linear-gradient(180deg, hsl(330, 45%, 65%), hsl(216, 47%, 70%));
        border-radius: 8px;
    }
    
    /* Firefox scrollbar track styling */
    html::-moz-scrollbar-track,
    body::-moz-scrollbar-track {
        background: hsl(222, 10%, 12%);
    }
}

/* Header */

.headerImg, .name a, .navigation {
    list-style: none;
}

.headerImg {
    position: absolute;
    border: 3px solid hsl(240, 7%, 84%);
    background-color: hsl(222, 10%, 12%);
    border-radius: 10%; 
    left: 13px;
    top: 6px;
}

.headerImg img {
    border-radius: 50%; 
    border: 3px solid hsl(240, 7%, 84%);
    position: relative;
    top: 2px;
    object-position: 50% 32%;
    object-fit: cover;
}

.name a {
    position: absolute;
    text-decoration: none;
    cursor: pointer;
    text-align: center;
    color: hsl(240, 7%, 84%); 
    font-family: 'Metal', serif;
    font-weight: 600;
    line-height: 30px;
    transition: 0.4s;
    left: 90px;
    /* Incase max/min doesn't work */
    font-size: 21px;
    /* Otherwise max font size is 23px, min is 21px */
    font-size: max(21px, min(4vmin, 23px));
    z-index: 20;
}

.navigation a {
    text-decoration: none;
    cursor: pointer;
    text-align: center;
    color: hsl(240, 7%, 84%); 
    font-family: 'Metal', serif;
    font-weight: 600;
    line-height: 30px;
    /* Incase max/min doesn't work */
    font-size: 19px;
    /* Otherwise max font size is 21px, min is 19px */
    font-size: max(19px, min(4vmin, 21px));
    transition: 0.4s;
    position: static;
    z-index: 3;
}

.navigation a:hover, .name a:hover {
    color: hsl(330, 45%, 65%);
    z-index: 3;
}

.sectionLinks {
    display: flex;
    flex-direction: row;
    justify-content: right;
    list-style: none;
    padding: 0;
    text-align: center;
    position: relative;
    gap: 50px;
    bottom: 36px;
    left: -33px;
    z-index: 2;
}
  
.fancyDesktopHeaderBorder {
    width: 100vw;
    height: 32px;
    position: absolute;
    bottom: -28px;
    left: -3px;
    object-fit: fill;
    display: block;
}

header {
    background-color: hsl(222, 10%, 12%);
    border: 4px solid hsl(222, 10%, 12%);
    /* background-image: url("Images/tabletHeaderBorder.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center; */
    padding: 16px;
    height: 58.7px;
    margin-bottom: 38px;
    position: fixed;
    top: 0px;
    width: 100%;
    z-index: 500;
}
/* Header for mobile screens */

/* hamburger-icon */
header section {
    display: none;
    cursor: pointer;
    width: 42px;
    margin: 0;
    position: relative;
    top: -47px;
    float: right;
    right: 27px;
    z-index: 3;
}

header section div {
    width: 35px;
    height: 3.5px;
    background-color: hsl(222, 10%, 12%);
    border: 3px solid hsl(240, 7%, 84%);
    border-radius: 5px;
    margin: 6px 0;
    transition: 0.4s;
    z-index: 3;
}

.open .bar1 {
    -webkit-transform: rotate(-45deg) translate(-30%, 100%);
    transform: rotate(-45deg) translate(-30%, 100%);
}

.open .bar2 {
    opacity: 0;
}

.open .bar3 {
    -webkit-transform: rotate(45deg) translate(-30%, -100%);
    transform: rotate(45deg) translate(-30%, -100%);
}

/* mobile-menu after clicking hamburger-icon */
.open ul {
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    align-items: center;
    padding: 0;
    background-color: hsl(222, 10%, 12%);
    position: fixed;
    top: 87px;
    left: 0;
    width: 100vw;
    margin: auto;
}

/* mobile menu hidden until hamburger-icon clicked */
header section ul {
    display: none;
}

header section ul li {
    margin: 40px;
    list-style: none;
}

/* hides desktop navigation links when screen width is less than 700px */
@media only screen and (max-width: 730px) {
    header .sectionLinks {
        display: none;
    }

    header section {
        display: block;
    }
    header {
        height: 60px;
    }
}
/* Main */

main section {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative;
    scroll-margin-top: 7rem;

    margin: 127.9px auto 0px;
    padding: 20px;
    width: auto;
    max-width: 811px;
    min-height: -moz-fit-content; /* supports Firefox, Firefox for Android  */
    min-height: fit-content;

    background-color: hsl(222, 10%, 12%);
    font-family: serif;
    color: hsl(240, 7%, 84%);
    font-weight: 500;
    line-height: 140%;
    /* Incase max/min doesn't work */
    font-size: 16px;
    /* Otherwise max font size is 24.5px, min is 16px */
    font-size: max(16px, min(4vmin, 24.5px));

    border: 4px solid hsl(240, 7%, 84%);
    border-radius: 12px; 
}

main .pageTitle {
    text-align: center;
    color: hsl(330, 45%, 65%);
    font-family: 'Metal', serif;
    font-weight: 600;
    margin: 110px auto 20px;
    width: min(90vw, 820px);
    line-height: 1.3;
    font-size: max(24px, min(5vmin, 36px));
}

main section p, .textIndent {
    text-indent: 4ch !important;
    text-align: left !important;
}

main section h2 {
    margin: 15px auto 0px;
    color: hsl(330, 45%, 65%);
    /* Incase calc doesn't work */
    font-size: 1.5em;
    /* Otherwise default font size plus 2px because google font 'Metal' is smaller than serif */
    font-size: calc(1.5em + 3px);
}

main section h3 {
    /* Incase calc doesn't work */
    font-size: 1.17em;
        /* Otherwise default font size plus 2px because google font 'Metal' is smaller than serif */
    font-size: calc(1.17em + 3px);
}

main section h4 {
    /* Incase calc doesn't work */
    font-size: 1em;
        /* Otherwise default font size plus 2px because google font 'Metal' is smaller than serif */
    font-size: calc(1em + 3px);
}

main section h3, main section h4 {
    margin: 15px 0px 0px;
}

main section h1, main section h2, main section h3, main section h4 {
    font-family: 'Metal', serif;
}

main section p, main section ul {
    margin-top: 10px;
    margin-bottom: 0px;
    text-align: left;
}

main section p {
    margin: 10px 7% 0px;
}

main section#about {
    padding-bottom: 11px;
    margin-bottom: 74px;
    margin-top: 150px;
}

main section#designs {
    width: 100%;
    text-align: center;
    max-width: none;
    border-radius: 0px;
    padding-left: 0px;
    padding-right: 0px;
    border: none;
    margin-top: 90px;
    min-height: 77%;
    height: auto;
    max-height: 517px;
}

main section#designs h2 {
    position: relative;
    top: 15px;
}

.carouselArrows {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 10;
    pointer-events: auto;
}
.carouselArrows img {
    width: 111px;
    height: 111px;
    cursor: pointer;
}

.positioningForDesign {
    position: relative;
    top: 18px;
}

.projectModalContent {
    display: none;
}

.projectLink:hover {
    color: hsl(330, 45%, 65%);
}

.projectLink, .projectLink:active {
    color: hsl(240, 7%, 84%);
}

/* Desktop Version Collapsed */
.borderSectionImg {
    position: absolute;
    width: 101.5%;
    height: 103%;
    top: -6px;
    pointer-events: none;
}

.borderSectionImgLong {
    position: absolute;
    width: 101.5%;
    height: 101%;
    top: -5px;
    display: none;
}

main section button {
    /* margin-top: 25px; */
    margin-bottom: 15px;
    width: 131px;
    height: 55px;
    /* padding: 7px; */
    background-color: hsl(330, 45%, 65%);
    border: 3px dashed transparent;
    border-radius: 7px;
    color: hsl(222, 10%, 12%);
    font-family: 'Metal', serif;
    font-weight: 600;
    line-height: 150%;
    /* Incase max/min doesn't work */
    font-size: 17px;
    /* Otherwise max font size is 24.5px, min is 17px */
    font-size: max(17px, min(4vmin, 24.5px));
    cursor: pointer;
    position: relative;
    bottom: -53px;
}

main section button img {
    position: absolute;
    width: 144px;
    bottom: -12px;
    left: -7px;
    height: 71px;
}

.designButtonsContainer {
    display: flex;
    gap: 15px;
    justify-content: center;
    align-items: center;
    position: relative;
    /* bottom: 46px; */
    flex-wrap: wrap;
}

main section#designs button {
    width: auto;
    height: 55px;
    bottom: 46px;
    max-width: 206px;
    min-width: fit-content;
    position: relative;
}

main section#designs button img {
    position: absolute;
    max-width: 219px;
    width: 113%;
    bottom: -12px;
    left: -7px;
    height: 71px;
}

/* Case Study and View Design buttons - border image width 113% */
.designButtonsContainer button img {
    width: 113% !important;
}

/* View Design buttons - gradient from pink to blue */
.designButtonsContainer button:last-child {
    background: linear-gradient(to right, hsl(330, 45%, 65%), hsl(216, 47%, 70%)) !important;
}

.designButtonsContainer button:last-child:hover {
    background: hsl(222, 10%, 12%) !important;
}

.figmaSectionBorder {
    position: absolute;
    width: 103%;
    height: 103%;
    top: -8px;
}

.figmaBorderContainer {
    position: relative;
    width: fit-content;
    margin: 21px;
}

.figmaDesignsContainer {
    display: flex;
    overflow: hidden;  
    gap: 20px;
    justify-content: center;
    position: relative;
}

.carouselArrows img.disabled {
    opacity: 0.7;
    pointer-events: none;
}
  

.positioningForDesign {
    display: none;
    flex: 0 0 calc(33.333% - 20px);

}


.designImg {
    width: 100%;           
    height: auto;
    aspect-ratio: 1 / 1;          
    max-width: 360px;
    display: block;
    margin: 5% auto;
    object-fit: cover;
    border-radius: 6px;

}

.designImg[src*="iFamilyDesigns.png"] {
    object-position: left;
}

.figmaDesignsContainer img:nth-of-type(2) {
    width: 103%;
    height: 104%;
    max-width: 371px;
    border-radius: 6px;
    display: block;
    position: absolute;
    top: -5px;
    left: -5px;
}

main section button:hover {
    background-color: hsl(222, 10%, 12%); 
    color: hsl(330, 45%, 65%);
    font-weight: bold;
}

main section button:active {
    background-color: hsl(330, 45%, 65%);
    color: hsl(222, 10%, 12%);
}

#projects, #skills, #contact {
    margin: 35px;
}

.hide {
    display: none;
}

#projects {
    margin: 35px auto;
    padding: 0;
    /* width: 100%; */
    border: none;
    text-align: center;
    border-radius: 0;
    background-color: hsl(240, 7%, 84%);
}

#projects h2 {
    color: hsl(222, 10%, 12%);
}

.content {
    display: none;
}

.projectGridContainer {
    display: flex;
    row-gap: 5px;
    column-gap: 5px;
    flex-wrap: wrap;
    justify-content: center;
    width: 100vw;
    padding: 0 10px;
}

.projectgridSquare h3 {
    color: hsl(216, 47%, 70%);
    top: 15%;
    position: absolute;
    font-size: calc(1em + 3px);
}

.projectgridSquare button img {
    position: absolute;
    max-width: 220px;
    width: 110%;
    left: 50%;
    transform: translateX(-50%);
    bottom: -12px;
    height: 71px;
}

.projectgridSquare button {
    width: auto;
    height: 55px;
    top: 66%;
    position: absolute;
    max-width: 206px;
    min-width: fit-content;
    background-color: hsl(216, 47%, 70%);
    text-align: center;
    left: 50%;
    transform: translateX(-50%);
}

.projectgridSquare button:hover {
    color: hsl(216, 47%, 70%);
}

.projectBorderAndImg {
    position: absolute;  
    top: 52%;
    left: 50%;
    width: 70%;
    height: 70%;
    transform: translate(-50%, -50%);
    z-index: 0;
}

.projectBorderAndImg img {
    width: 100%;
    height: 100%;
    object-fit: contain; 
    display: block;
}

.projectgridSquare {
    background-image: url('./Images/projectsGridBox.png');
    background-size: contain; 
    background-repeat: no-repeat;
    background-position: center;
    flex: 1 1 calc(33.333% - 10px); 
    max-width: calc(33.333% - 10px);
    min-width: 280px;
    aspect-ratio: 1 / 1;
    display: flex;       
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 20px;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
}

/* --------------------------------project modal--------------------------- */

.projectModal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    max-height: 100vh;
    display: flex;
    /* display: none; */
    justify-content: center; 
    align-items: center;      
    z-index: 1000;
    overflow: hidden;
}

.hideModal {
  display: none;
}

.projectModalOverlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(34, 34, 34, 0.4);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    z-index: 0;
}

.projectImg {
    background-image: url("./Images/TransparentInProgressProjectsimageModal.png");
    background-position: center 40%, center;
    background-repeat: no-repeat;
    background-size: 97%, contain;
}

.projectPortfolioImg {
    background-image: url("./Images/portfolioProjectPhoto.jpg");
    background-position: center 53%, center;
    background-repeat: no-repeat;
    background-size: 97% 64%;
}

.projectSaundersImg {
    background-image: url("./Images/saundersProjectPhoto.jpg");
    background-position: center 51%, center;
    background-repeat: no-repeat;
    background-size: 97% 61%;
}

.projectScissImg {
    background-image: url("./Images/sciss.png");
    background-position: center 51%, center;
    background-repeat: no-repeat;
    background-size: 97% 61%;
}

.projectWordPressImg {
    background-image: url("./Images/wordpressProjectLearning.png");
    background-position: center 51%, center;
    background-repeat: no-repeat;
    background-size: 97% 61%;
}

/* Modal box */
.projectModalBox {
    position: relative;
    z-index: 999;
    max-width: 95vw;
    width: 100%;    
    margin: 0 auto;  
    left: -6px;
}

/* Modal image */
.modalImg {
    width: 100%; 
    height: auto;
    max-height: 600px;
    display: block;
    margin: 0 auto;  
}

/* Mobile view for modal image */
@media only screen and (max-width: 730px) {
    .modalImg {
        width: 150%;
        height: 100vh;
        max-height: 633px;
        display: block;
        margin: 0 auto;
        left: -22%;
        position: relative;
    }

    .contentInModal {
        top: 50px;
        width: 90vw !important;
        position: relative;
        height: auto !important;
    }

    .projectsModalButtons {
        bottom: 45px !important;
    }
}

/* Smaller mobile view for modal */
@media only screen and (max-width: 401px) {
    .contentInModal {
        top: 66px;
    }

    .projectsModalButtons {
        gap: 4%;
    }
}

/* WordPress modal buttons - reduce gap at 411px and below */
@media only screen and (max-width: 411px) {
    .projectsModalButtons:has(.wordpressDemoButton) {
        gap: 6%;
    }

    .wordpressDemoButton {
        /* width: fit-content !important; */
        min-width: fit-content !important;
        padding: 0 11% !important;
    }

    .demoMain {
        padding: 161px 10px 50px !important;
    }

    .demoMain section.demoSection {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
}

.projectsModalContent {
    position: absolute;
    top: 13%;         
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    white-space: nowrap; 
    z-index: 2;
    width: max-content;  
}

.projectsModalContent h3 {
    color: hsl(216, 47%, 70%);
    min-width: fit-content;
    margin: 0;
    margin-bottom: 7%;
}

.contentInModal {
    max-width: 800px;
    width: 76vw;
    overflow-x: hidden;
    overflow-y: scroll;
    max-height: min(400px, 60vh);
    height: min(40vw, 50vh);
    white-space: initial;
    scrollbar-width: thin;
    scrollbar-color: hsl(330, 45%, 65%) hsl(222, 10%, 12%);
    /* Force scrollbars to be visible on iOS Safari */
    -webkit-overflow-scrolling: touch;
    /* Ensure scrollbars are always visible */
    overflow-y: scroll !important;
    /* iOS Safari specific - force scrollbar visibility */
    -webkit-scrollbar-width: thin;
    -webkit-scrollbar-color: hsl(330, 45%, 65%) hsl(222, 10%, 12%);
}

/* WebKit Browsers */
.contentInModal::-webkit-scrollbar {
    width: 10px;
    -webkit-appearance: none;
  }
  
  .contentInModal::-webkit-scrollbar-track {
    background: hsl(222, 10%, 12%);
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
  }
  
  .contentInModal::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, hsl(330, 45%, 65%), hsl(216, 47%, 70%));
    border-radius: 8px;
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
  }

/* Firefox-specific modal scrollbar styling */
@-moz-document url-prefix() {
    .contentInModal {
        scrollbar-width: 12px;
        scrollbar-color: hsl(330, 45%, 65%) hsl(222, 10%, 12%);
    }
    
    .contentInModal::-moz-scrollbar-thumb {
        background: linear-gradient(180deg, hsl(330, 45%, 65%), hsl(216, 47%, 70%));
        border-radius: 8px;
    }
    
    .contentInModal::-moz-scrollbar-track {
        background: hsl(222, 10%, 12%);
    }
}

/* iOS Safari specific scrollbar fixes */
@supports (-webkit-touch-callout: none) {
  .contentInModal {
    /* Force scrollbars to always be visible on iOS */
    overflow-y: scroll !important;
    -webkit-overflow-scrolling: touch;
  }
  
  .contentInModal::-webkit-scrollbar {
    width: 12px;
    -webkit-appearance: none;
  }
  
  .contentInModal::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, hsl(330, 45%, 65%), hsl(216, 47%, 70%));
    border-radius: 8px;
    border: 2px solid hsl(222, 10%, 12%);
  }
}
  

.projectsModalButtons {
    position: absolute;
    bottom: 42px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    gap: 11%;
    text-align: center;
    z-index: 998;
}

.projectsModalButtons button img {
    position: absolute;
    max-width: 220px;
    width: 113%;
}

.projectsModalButtons button {
    width: auto;
    height: 55px;
    max-width: 206px;
    min-width: fit-content;
    background-color: hsl(216, 47%, 70%);
    text-align: center;
}

.gradientButton {
    background: linear-gradient(to right, hsl(330, 45%, 65%), hsl(216, 47%, 70%));
}

.gradientButton:hover {
    background: hsl(222, 10%, 12%);
}

.projectsModalButtons button:hover {
    color: hsl(216, 47%, 70%);
}
.contentInModal hr {
    max-width: 300px;
    height: 11px;
    border: none;
    background: url("./Images/HRBorderForProjectModal.png") no-repeat center;
    background-size: cover;
    margin: auto;
  }
  
/* -------------------------- WordPress demos page --------------------------- */

body.demo-page {
    overflow: hidden;
    min-height: 100vh;
}

.demoMain {
    display: flex;
    justify-content: center;
    padding: 181px 20px 70px;
    box-sizing: border-box;
}

.demoMain section.demoSection {
    margin: 0 auto;
    max-width: 720px;
    width: 100%;
    padding: 54px 48px;
    background-color: hsl(222, 10%, 12%);
    border: 4px solid hsl(240, 7%, 84%);
    border-radius: 12px;
    color: hsl(240, 7%, 84%);
    text-align: center;
    position: relative;
    overflow: visible;
}

.demoSection h1, .demoSection h2 {
    margin-top: 0;
    color: hsl(330, 45%, 65%);
}

.demoSection p {
    text-indent: 0;
    text-align: left;
    margin: 16px auto 32px;
    max-width: 560px;
}

.demoButtons {
    display: flex;
    justify-content: center;
    gap: 32px;
    margin-top: 32px;
    flex-wrap: nowrap;
}


button.wordpressDemoButton {
    position: relative;
    margin-bottom: 0;
    width: 240px;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

button.wordpressDemoButton img {
    width: 110%;
    left: 51%;
    transform: translateX(-50%);
    bottom: -12px;
    max-width: none;
}

.demoBackLink {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 48px;
    color: hsl(240, 7%, 84%);
    font-family: 'Metal', serif;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.4s ease;
}

.demoBackLink:hover {
    color: hsl(330, 45%, 65%);
}

.demoBackLink:focus {
    color: hsl(330, 45%, 65%);
}

.demoBackLink:active {
    color: hsl(240, 7%, 84%);
}

.demoSectionBorder {
    position: absolute;
    top: 50%;
    left: 49.9%;
    transform: translate(-50%, -50%);
    width: 101%;
    height: 102.5%;
    display: block;
    max-width: none;
    object-fit: fill;
    pointer-events: none;
}


.extraStyling button.wordpressDemoButton {
    bottom: 0;
}

@media only screen and (max-width: 730px) {
    .demoButtons {
        flex-direction: column;
        align-items: center;
        gap: 26px;
        flex-wrap: nowrap;
    }

    button.wordpressDemoButton {
        width: 220px;
    }
}

@media only screen and (max-width: 461px) {
    button.wordpressDemoButton img {
        transform: translateX(0%);
    }
    .extraStyling button.wordpressDemoButton img {
        transform: translateX(-50%);
    }
}

/* ----------------------------project modal-------------------------------------- */

/* ----------------------------Skills---------------------------------------------------- */
#skills {
    position: relative;
    min-width: 100%;
    margin: auto;
    border: none;
    text-align: center;
    padding-left: 0px;
    padding-right: 0px;
    border-radius: 0;
    background-color: hsl(330, 45%, 65%);
}

/* Border image overlay */
#skills::after {
    content: "";
    position: absolute;
    top: -9px;
    left: -19px;
    width: 109%;
    height: 103%;
    background: url("./Images/skillsPinkBackgroundBorder.png") no-repeat center;
    background-size: 100% 100%;
    z-index: 2;
    pointer-events: none;
    overflow: visible;
    z-index: 1;
}

.mySkills hr {
    max-width: 100%;
    height: 11px;
    border: none;
    background: url("./Images/HRBorderForProjectModal.png") no-repeat center;
    background-size: cover;
    margin: 11px auto;
  }

#skills h2 {
    color: hsl(222, 10%, 12%);
}

.mySkills {
    background-color: hsl(222, 10%, 12%);
    position: relative;
    width: 94%;
    margin: auto;
    padding-bottom: 11px;
    border-radius: 6px;
    z-index: 1;
    overflow: visible;
}

.mySkills h3 {
    margin-top: 2%;
}

/* Border image overlay */
.mySkills::after {
    content: "";
    position: absolute;
    top: -10px;
    left: -.7%;
    width: 101.5%;
    height: 102.5%;
    background: url("./Images/skillsBlackBackgroundBorder.png") no-repeat center;
    background-size: 100% 100%;
    z-index: 2;
    pointer-events: none;
}

.mySkills ul {
    padding-right: 11px;
}

/* ----------------------------------------------------skills--------------------------------------- */

.highlight {
    color: hsl(216, 47%, 70%);
    font-style: italic;
    font-weight: bold;
    font-family: 'Metal', serif;
    /* Incase max/min doesn't work */
    font-size: 16px;
    /* Otherwise max font size is 24.5px, min is 16px */
    font-size: calc(max(16px, min(4vmin, 24.5px)) + 3px);
}

.portfolioWebsite, .socialMediaMusicWebsite, .toulasBoutiqueWebsite, .saundersLabsWebsite {
    text-align: left;
    border: 3px solid hsl(240, 7%, 84%);
    border-radius: 10px;
    padding: 10px;
}

.contactInfo {
    text-align: left;
}

.socialMediaMusicWebsite, .toulasBoutiqueWebsite {
    color: hsl(222, 10%, 12%);
    background-color: hsl(240, 7%, 84%);
    margin-top: 20px;
}
.socialMediaMusicWebsite h4, .toulasBoutiqueWebsite h4 {
    color: hsl(216, 47%, 52.5%);
}
.portfolioWebsite, .saundersLabsWebsite {
    margin: 35px 0px 25px;
}
.portfolioWebsite a, .saundersLabsWebsite a {
    color: hsl(240, 7%, 84%);
}
.portfolioWebsite a:hover, .saundersLabsWebsite a:hover {
    color: hsl(330, 45%, 65%);
}
.portfolioWebsite a:active, .saundersLabsWebsite a:active {
    color: hsl(240, 7%, 84%);
}
.website {
    word-wrap: break-word; /* Allows links to wrap within the container */
    white-space: normal; /* Resets white-space property for links */
}
.mySkills {
    margin: 21px 0px 25px;
}
.mySkills h4, .contactInfo h4 {
    display: inline-flex;
    margin: 0px;
}

.mySkills h4, .contactInfo h4, .portfolioWebsite h4, .saundersLabsWebsite h4 {
    color: hsl(216, 47%, 70%);
}

.mySkills li:nth-child(odd) h4 {
    color: hsl(330, 45%, 65%);
}

.mySkills li:nth-child(even) h4 {
    color: hsl(216, 47%, 70%);
}

.portfolioWebsite p, .socialMediaMusicWebsite p, .toulasBoutiqueWebsite p .saundersLabsWebsite p {
    margin-top: 5px;
}

.portfolioWebsite h3, .socialMediaMusicWebsite h3, .toulasBoutiqueWebsite h3, .mySkills h3, .saundersLabsWebsite h3 {
    text-align: center;
}

.contactInfo ul a {
    color: hsl(240, 7%, 84%);
}

.contactInfo ul a:hover {
    color: hsl(330, 45%, 65%);  
}
.contactInfo ul a:active {
    color: hsl(240, 7%, 84%);
}

.centerButton {
    display: flex;
    margin-left: auto;
    margin-right: auto;
}

main section .socialMediaMusicWebsite button, main section .toulasBoutiqueWebsite button {
    background-color: hsl(222, 10%, 12%);
    border: 3px dashed hsl(330, 45%, 65%);
    color: hsl(240, 7%, 84%);
}

main section .socialMediaMusicWebsite button:hover, main section .toulasBoutiqueWebsite button:hover {
    background-color: hsl(222, 10%, 12%); 
    border: 4px double hsl(240, 7%, 84%);
    color: hsl(330, 45%, 65%);
    font-weight: bold;
}

main section button:active {
    background-color: hsl(222, 10%, 12%);
    border: 3px dashed hsl(330, 45%, 65%);
    color: hsl(240, 7%, 84%);
}

.spacing {
    letter-spacing: -1.9px;
}

.desktopAboutMeDecals {
    position: absolute;
    height: 168px;
    width: auto;
    display: flex;
    bottom: -72px;
    z-index: -1;
    /* Cross-browser compatibility */
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    will-change: transform;
}

.desktopAboutMeDecals img:nth-of-type(1) {
    position: relative;
    right: 369px;
    /* Cross-browser image rendering */
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.desktopAboutMeDecals img:nth-of-type(2) {
    position: relative;
    left: 377px;
    /* Cross-browser image rendering */
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.tabletAboutMeDecals {
    position: absolute;
    height: 168px;
    width: 104%;
    justify-content: space-between; 
    align-items: center;
    bottom: -43px;
    margin: 10px;
    pointer-events: none;
    display: none;
    /* Cross-browser compatibility */
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    will-change: transform;
}

.tabletAboutMeDecals img {
    position: relative;
    height: auto;
    max-height: 100%;
    width: auto;
    /* Cross-browser image rendering */
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

#contact {
    position: relative;
    z-index: 1;
    margin: 55px auto 60px;
}

#contact h2 {
    margin-top: 4vh;
}

.contactInfo {
    margin-bottom: 4vh;
    margin-right: 6%;
    margin-left: 6%;
}

.contactDecals {
    position: absolute;
    inset: 0; 
    pointer-events: none; 
    z-index: 2;
    /* Cross-browser compatibility */
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    will-change: transform;
}

.contactFlowerTopLeft {
    position: absolute;
    top: -12px;    
    left: 0%;
    width: 135px;   
    height: auto;
    /* Cross-browser image rendering */
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.contactFlowerBottomRight {
    position: absolute;
    bottom: -14px; 
    right: 0%;
    width: 135px;
    height: auto;
    /* Cross-browser image rendering */
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}


.contactBorder {
    position: absolute;
    top: -2%;
    border-radius: 12px;
    width: 101.8%;
    height: 103.5%; 
    pointer-events: none; 
}

/* Footer */

footer {
    background-color: hsl(222, 10%, 12%);
    padding: 12px 12px 0px;
    margin-top: 37px;
    position: relative;
    /* z-index: 1; */
    font-family: 'Metal', serif;
    font-weight: 600;
    line-height: 30px;
    /* Incase max/min doesn't work */
    font-size: 19px;
    /* Otherwise max font size is 21px, min is 19px */
    font-size: max(19px, min(4vmin, 21px));
}

.fancyDesktopFooterBorder {
    width: 100vw;
    height: 32px;
    position: absolute;
    top: -8px;
    left: -3px;
    object-fit: fill;
    display: block;
}

footer ul {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    -ms-flex-direction: row;
    flex-direction: row;
    position: relative;
    margin: 0px;
    padding: 1%;
    list-style: none;
}

footer ul li {
    width: 90px;
    /* text-align: left; */
}

footer ul a {
    text-decoration: none;
    color: hsl(240, 7%, 84%);
    width: -moz-fit-content;
    width: fit-content;
    height: -moz-fit-content;
    height: fit-content;
}

.footerImg {
    width: 57px;
    height: 57px;
    margin: 0px 7px;
    border: 3px solid hsl(240, 7%, 84%);
    border-radius: 10%;
}

.footerImg:hover {
    opacity: 0.8;
    transition: 0.4s;
    border: 3px solid hsl(330, 45%, 65%);
}

footer ul a:hover {
    color: hsl(330, 45%, 65%);  
}

/* Resizing based on screens used */

/* resizes wesite for galaxy fold when screen width is less than 300px */
@media only screen and (max-width: 300px) {
    /* main */
    main section button {
        padding: 5px;
    }
    /* footer */
    footer img {
        width: 50px;
        height: 50px;
    }
}

@media only screen and (max-width: 535px) {
    header section div {
        right: -85%;
    }
}
@media only screen and (max-width: 461px) {
    header section div {
        right: -82%;
    }

    .projectsModalButtons button img {
        left: -5px;
    }
}
@media only screen and (max-width: 390px) {
    header section div {
        right: -79%;
    }
    .projectsModalContent h3 {
        margin-bottom: 5%;
    }

    .projectsModalButtons button img {
        height: 61px;
        left: -5px;
    }
    
    .projectsModalButtons button {
        height: 46px;
    }
    
    .projectsModalButtons {
        bottom: max(60px, 10vh);
    }
}
@media only screen and (max-width: 330px) {
    header section div {
        right: -77%;
    }
    .projectsModalContent h3 {
        margin-bottom: 3%;
    }
}


@media only screen and (max-width: 1000px) {
    .desktopAboutMeDecals {
        display: none;
    }

    .tabletAboutMeDecals {
        display: flex;
    }

    main section#about {
        margin-bottom: 49px;
        margin-left: 5%;
        margin-right: 5%;
    }

    .positioningForDesign {
        flex: 0 0 calc(50% - 20px); 
    }

    .projectgridSquare {
        flex: 1 1 calc(50% - 5px); 
        max-width: calc(50% - 5px);
    }

}

@media only screen and (max-width: 950px) {

    #contact {
        margin-left: 4%;
        margin-right: 4%;
    }

}

@media only screen and (max-width: 754px) {
    .tabletAboutMeDecals {
        width: 105%;
    }

    .mySkills h3 {
        margin-top: 4%;
    }
}

@media only screen and (max-width: 611px) {
    .tabletAboutMeDecals, .contactDecals {
        display: none;
    }

    .contactInfo {
        margin-left: 0px;
        margin-right: 0px;
    }

    #contact {
        margin-left: 2%;
        margin-right: 2%;
    }

    .positioningForDesign {
        flex: 0 0 100%;           
    }

    .designButtonsContainer {
        /* flex-direction: column; */
        gap: 10px;
    }

    .projectgridSquare {
        flex: 1 1 calc(100% - 10px);
        max-width: calc(100% - 10px);
        width: auto;
        margin: 0px; 
    }

    .projectgridSquare h3 {
        top: 16.5%;
        font-size: calc(1.17em + 3px);
    }

    .projectgridSquare button {
        top: 69%;
        height: 48px;
        width: 180px;
        left: 50%;
        transform: translateX(-50%);
        font-size: max(17px, min(4vmin, 24.5px));
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 0;
        line-height: normal;
    }

    .projectgridSquare button img {
        height: 60px;
        bottom: -10px;
    }
/* 
    .figmaDesignsContainer > *:nth-child(n+2) {
        display: none;
    } */

    main section#about {
       padding-bottom: 0px;
    }

    main section#about p, main section#about h2 {
        position: relative;
        top: 4px;
    }

    main section#about p{
        margin-left: 5px;
        margin-right: 5px;
    }

    main section#about button {
        bottom: -43px;
    }

    .carouselArrows img {
        width: 91px;
        height: 91px;
    }
}

@media only screen and (max-width: 500px) {
    main section#about,  main section#projects {
        margin-left: 7px;
        margin-right: 7px;
    }

    .projectgridSquare {
        width: 100vw;
    }
}

@media only screen and (max-width: 435px) {
    .carouselArrows img {
        width: 77px;
        height: 77px;
    }

    .projectgridSquare button {
        height: 44px;
        width: 170px;
        left: 50%;
        transform: translateX(-50%);
        font-size: max(17px, min(4vmin, 24.5px));
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 0;
        line-height: normal;
    }

    .projectgridSquare button img {
        height: 54px;
        bottom: -8px;
    }
}

@media only screen and (max-width: 400px) {
    main section#designs button img {
        position: absolute;
        max-width: 219px;
        width: 113%;
        bottom: -12px;
        left: -5px;
        height: 71px;
    }
}
