@font-face {
    font-family: magdacleanmono;
	src: url(font/magdacleanmono-bold.ttf);
}


@font-face {
    font-family: icomoon;
    src:  url(font/icomoon.woff);

    
}

html{
        /* CSS Smooth Scroll */
        overflow-y: scroll; 
        scroll-behavior: smooth;
        scroll-snap-type: y proximity;
        /* cursor: pointer; */

}
::selection {
    background-color: rgba(255, 181, 43, 0.829);
}


body {
    /* background: #dfdfdf; */
    background: #dfdfdf;
    /* min-height: 100vh; */
    box-sizing:border-box;
    margin: 0px;
    height: 3000px;


}

.siteHeader {
    content: "";
    width: 60px;
    height: 100%;
    position: fixed;
    
    background: #dfdfdf;

    z-index:98;
    left: 0px;
    transform: translatex(0px);
    transition: 0.3s;
    background-color: transparent;
    pointer-events: none;
}

.menuButton {

    -webkit-tap-highlight-color: transparent;
    z-index: 99;
    width: 48px;
    height: 48px;

    margin-top: 12px;
    padding-left: 12px;
    border-radius: 5px;
    /*
    box-shadow: -7px -7px 20px 0px #fff9, 
                -4px -4px 5px 0px #fff9, 
                7px 7px 20px 0px #0002, 
                4px 4px 5px 0px #0001, 
                inset 0px 0px 0px 0px #fff9, 
                inset 0px 0px 0px 0px #0001, 
                inset 0px 0px 0px 0px #fff9, 
                inset 0px 0px 0px 0px #0001;
    transition: box-shadow 0.6s cubic-bezier(0.79, 0.21, 0.06, 0.81);
    */
    display: flex;
    height:60px;
    pointer-events: auto;
}

.menuItem_0 {
    position: relative;
    justify-content: center;
}

.menuButton:hover {
    cursor: pointer;
}

.menuButton span {
    background-color: lightcoral;
    width: 40px;
    height: 4px;
    border-radius: 4px;
    margin: 3px 0px 3px 0px;
    display: block;
    transition: 0.2s ease-in-out;
    position: absolute;
    box-shadow: 0px 0px 5px 0px rgba(167, 91, 91, 0.333);

}

.menuButton span:nth-child(1) {

    transform-origin: right center;
    transform: scaleX(0.7);
    top: 18px;
}

.menuButton span:nth-child(2) {
    top: 30px;
}

.menuButton span:nth-child(3) {
    transform-origin: left center;
    transform: scaleX(0.7);
    top: 42px;
}

.menuButton:hover span {
    transform: scaleY(1);
    transition: 0.2s ease-in-out;
}

.navActive .menuButton span:nth-child(1) {
    transform:translate(-5px,-7px) rotate(-30deg);
}

.navActive .menuButton span:nth-child(2) {
    transform-origin: center;
    transform:translate(13.5px,0px) rotate(90deg);
    
}

.navActive .menuButton span:nth-child(3) {
    transform:rotate(30deg) translate(-6px,-11px);
}

/* ------------------------ Nav Bar ------------------------ */


.site-content,
.site-footer {
    margin-left: 60px;
    padding-left: 0px;
    padding-right: 0px;
}

.mainNav {
    position: fixed;
    margin-top: 12px;
    height: calc(100% - 30px);
    width: calc(1vw + 250px);
    border-radius: 12px;
    /*
    background: #928080;
    */
    background: #dfdfdf;
    left: 60px;
    top: 0px;
    opacity: 0;
    transform-origin: top left;
    transform: scale3d(1, 1, 0);
    transition: 0.5s;

    
    box-shadow: -7px -7px 12px 0px rgba(255, 255, 255, 0.733), 
                -4px -4px 12px 0px rgba(255, 255, 255, 0.733), 
                7px 7px 12px 0px rgba(161, 161, 161, 0.733), 
                4px 4px 12px 0px rgba(161, 161, 161, 0.733);

                /* box-shadow: -7px -7px 15px 0px #fff9, 
                -4px -4px 15px 0px rgb(245, 245, 245), 
                7px 7px 10px 0px rgb(156, 156, 156), 
                4px 4px 15px 0px #0001;            */
}

.navActive .mainNav {
    opacity: 1;
    transition: 0.8s;
    z-index:9999;
    transform: scale3d(1, 1, 1);
    pointer-events: auto;
}

/* ------------------------ Menu ------------------------ */

.menu{
    padding-left: 30px;
}

.mainNav {
    display: flex;
    align-content: center;
    flex-direction: column;
    /* z-index:9999; */
}


.menuContainer {
    margin: auto;
    /* padding: 1rem 0; */
    width: 100%;
    
}


.menuContainer ul.menu {
    line-height: 2em;
}

.menuContainer .menu > li {
    padding: 0.5vh 0 0.5vh;
    text-align: left;
    list-style-type: none;
}

.menuContainer .menu > li a {
    text-transform: none;
    font-family:"magdacleanmono";
    text-transform: uppercase;
    /*font-size: 3vmin;*/
    /* font-size: 130%; */
    font-size: calc(0.2vmax + 20px);
    font-weight: 700;
    letter-spacing: 0.025em;
    text-decoration: none;
    padding: 5px;
    border-radius: 8px;

}

.menuContainer ul.menu > li:first-child {
    padding-top: 0;
    
}

.menuContainer ul.menu > li:last-child {
    padding-bottom: 0;

}

.menuContainer ul.menu a {
    display: inline-block;
    position: relative;
    transition: 0.3s;
}

.menuItem a {
    color: lightcoral;
}


.menuItem a:hover {
    background-color: lightcoral;
    color: #dfdfdf;
    box-shadow: -6px -6px 20px 0px #fff9, 
    -4px -4px 5px 0px #fff9, 
    6px 6px 20px 0px #0002, 
    4px 4px 5px 0px #0001; 
    transition: box-shadow 0.6s cubic-bezier(0.79, 0.21, 0.06, 0.81);
}

/* ------------------------ Home ------------------------ */

.homeWrapper{
    /* padding-left:60px;
    padding-right: 60px; */
    /* min-height: 100vh; */
    /* padding:auto; */
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    align-content: center;
    font-family:"magdacleanmono";
    font-size: 5.5vmin;
    font-weight: 700;
    color:#c5c5c5; 
    text-align: center;
    height: auto;
    min-height: 100vh;
    /* text-shadow: 3px 3px 8px rgba(0, 0, 0, 0.253),
    -3px -3px 8px rgba(255,255,255,1); 

    background-color: #8f8f8f;
    color: transparent;
    text-shadow: 2px 2px 3px rgba(255,255,255,0.5);
    -webkit-background-clip: text;
       -moz-background-clip: text;
            background-clip: text;
   */

}  

.home {
    /* display: flex; */
    /* margin-top:auto; */
    /* position: relative; */
    z-index:1;
    border-radius: 0.5vmin;
    align-items: center;

}

.homeImage {
    
    /* align-items: center;
    justify-content: center; */
    flex-basis: 100%;
    object-fit: contain;
    border-radius: 1vmax;
    /* height: calc(50vw); */
    width: 75%;
    /* max-width: 1920px; */
    height:auto;
    max-height: 1350px;
    min-width: 220px;
}

/* .homeLarge {
    justify-content: center;
} */

.intro {
    /* overflow: hidden; */
    display: absolute;
    text-align: center;
    /* justify-content: center; */
    margin-top: 1vh;
    max-width: 1920px;
    min-width: 220px;
}


.icons {
    font-family: icomoon !important;
    position: relative;
    justify-content: center;
    /* font-size:40px; */
    font-size: calc(1vh + 25px);
    display: inline-block;
    padding-top: 6px;
    /* content: '\ea92' */
}

.menuLogo {
    width: calc(2vh + 25px);
    height: calc(2vh + 25px);;
}

/* .icon-instagram1:before {
    content: '\ea92';
  } */

/* ------------------------ Sectioning ------------------------ */

section {
    
    scroll-snap-align: start;
    /* display: flex; */

    min-height: 100vh;

}

section#home {
    min-height: 100vh;
}

/* section#buffalo {
    height: 100vh;
} */

section#buffalo {
    height: auto; /* Adjust dynamically to fit content */
    min-height: 100vh; /* Ensure a minimum height */
    overflow: visible; /* Allow content to overflow naturally */
    /* padding-bottom: 20px; Add some spacing at the bottom */
    /* display: flex; */

}

section#interface {
    /* background: url('https://y.yarn.co/82cc5a01-5f62-4820-9494-51063795c96f_text.gif') no-repeat center center/cover;; */
    height: auto;
    min-height: 100vh;
  }

section#about {
    min-height: 100vh;
}

section#contact {
    min-height: 100vh;
}


.about{
    /* padding-left: calc(25vw - 50px);
    padding-right: calc(25vw - 50px);
    padding-top: calc(30vh); */
    /* display: block; */
    /* position: relative; */

    /* width: 70vw; */
    /* box-sizing: border-box; */
    text-align: center;
    font-family:"magdacleanmono";
    font-size: min(4.5vw, 3vh);
    color:#7F7F7F;
    display:flex;

}

.aboutCentre {
    /* position: absolute; */
    /* text-align: center;
    vertical-align: middle;

    align-items: center; */
    margin: auto;

    width: calc(50vw + 100px);
    height: (100px+50%);
    justify-content: center;
    align-items: center;
}

/* ------------------------ Contact & Animation ------------------------ */

.contact {
    min-height: 100vh;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    align-content: center;
}

.contact a {
    font-family:"magdacleanmono";
    font-size: 5.5vmin;
    font-weight: 700;
    color:#7F7F7F;
    text-align: center;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    padding-top: 1vmin;
    padding-bottom: 1vmin;

}

.contact a:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 0.5vmin;
    border-radius: 3px;
    background: #7F7F7F;
    pointer-events: none;
    transform-origin: right;
    transform: scaleX(0);
    transition: transform .4s cubic-bezier(0.6, 0, 0.2, 1);
}

.contact a:hover:after {
    transform-origin: left;
    transform: scaleX(1);
}

/* ------------------------ Return Button ------------------------ */

.return {
    display: block;
    z-index: 90;
    font-family:"magdacleanmono";
    font-size: 2vh;
    color:#c5c5c5; 
    /* text-align: center; */
    position: fixed;
    right: 10;
    bottom: 10;
    text-decoration: none;
    /* transition: opacity 0.2s ease-out; */
    /* opacity: 0; */
}
.return-to-top.show {
    opacity: 1;
}


/* ------------------------ Updated Gallery ------------------------ */

#recursion {
    margin-left: 5%;
    margin-right: 5%;
}

.portfolioSection {
    /* padding-left: 10%;
    padding-right: 10%; */

    /* width: 80%; */
    font-family: "magdacleanmono";
    background-color: #dfdfdf;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    height: auto; /* Adjusts dynamically to content */
    min-height: 100vh;
    overflow: hidden;
    /* margin-bottom: 40px; */
    justify-content: center;
    
    box-sizing: border-box;
    
}
  

.portfolioSection h1 {
    color: #7F7F7F;

    padding-top:calc(80px + 1vmin);
    /* padding-bottom: calc(30px + 1vmin); */
    font-size: calc(1.5rem + 1vw);
    text-align: center;
}

.portfolioSection h2 {
    color: #7F7F7F;

    /* padding-top:calc(80px + 1vmin); */
    padding-bottom: calc(1rem + 1vmin);
    font-size: calc(1rem + 1vw);
    text-align: center;
}

.featuredWorks, .galleryGrid {
    /* width: 100%; */
    box-sizing: border-box;

    /* padding-left: 10%;
    padding-right: 10%; */
    /* max-width: 1200px; */
}


.featuredWorks {
    width: 90%;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    margin-bottom: 40px;
    /* justify-content: space-between; */
    
    /* box-sizing: border-box; */
}

.featuredVideos {
    width: 90%;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    /* align-items: center; */
    margin-bottom: 40px;
    /* justify-content: space-between; */
    max-width: 90vmin;
    
    box-sizing: border-box;

    
}

.featuredWorks .artwork {
    /* flex: 1 1 45%; */
    max-width: 30%;
}

.galleryGrid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.artwork {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    text-align: center;
    /* height: auto; */
}

.artwork .media {
    position: relative; 
}

.artImage, .artVideo {
    width: 100%;
    /* height: auto; */
    height: 100%;
    display: block;
}

.caption {
    padding: 15px;
    color: #7F7F7F;
}

.caption h3 {
    font-size: calc(25px + 1vmin);
    color: lightcoral;
    margin-bottom: 1.5vh;
    margin-top: 1vh;
}

.caption p {
    /* margin: 1vh 0; */
    font-size: calc(20px + 0.6vmin);
}

/* Responsive adjustments */
@media (max-width: 768px) {
.featuredWorks .artwork {
        flex: 1 1 100%;
        max-width: 100%;
}

.galleryGrid {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.caption h3 {
    font-size: 1rem;
}

.caption p {
    font-size: 0.9rem;
}
}

@media (max-width: 480px) {
.galleryGrid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
}


/* ------------------------ Carousel ------------------------ */

.carouselSection {
    font-family: "magdacleanmono";
    background-color: #dfdfdf;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    height: auto; /* Adjusts dynamically to content */
    min-height: 100vh;
    overflow: hidden;
    /* margin-bottom: 40px; */
    justify-content: center;
    
    box-sizing: border-box;
    
}
  
.carouselSection h1 {
    color: #7F7F7F;

    padding-top:calc(80px + 1vmin);
    /* padding-bottom: calc(30px + 1vmin); */
    font-size: calc(1.5rem + 1vw);
    text-align: center;
}

.carouselSection h2 {
    color: #7F7F7F;

    /* padding-top:calc(80px + 1vmin); */
    padding-bottom: calc(1rem + 1vmin);
    font-size: calc(1rem + 1vw);
    text-align: center;
}
  
.carousel {
    position: relative;
    width: 100%;
    max-width: 100vmin;
    margin: 0 auto;
    overflow: hidden; /* Ensures only one slide is visible at a time */
    border-radius: 8px;
}
  
.carouselTrack {
    /* gap: 10%; */
    display: flex;
    transition: transform 0.3s ease-in-out; /* Smooth slide transition */
    justify-content: flex-start;
    margin-bottom: 20px;
}


/* @media (min-width: 800px) {
    .carouselItem {
        max-width: 800px;
        width: 100%; /* Fallback width */
        /* margin: 0 auto;
    }
} */ 
  
.carouselItem {
    min-width: 90%; /* Ensure each slide takes the full width of the container */
    max-width: 800px !important;
    box-sizing: border-box;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #fff;
    border-radius: 8px;
    /* box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); */
    overflow: hidden;
    /* width: 100%;
    flex: 0 0 100%;
    box-sizing: border-box;

    /* padding-left: 10%; */

    margin-left: 5%;
    margin-right: 5%;
    

}

.carouselItem, .carouselItem * {
    box-sizing: border-box;
}

/* .media {
    position: relative;
} */


.carouselImage {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
}
  
.carouselButton {
    /* font-family: "magdacleanmono" !important; */

    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.4);
    color: white;
    border: none;
    /* padding: 10px 20px; */
    height: 8vmin;
    width: 8vmin;
    cursor: pointer;
    font-size: 1.5rem;
    border-radius: 10%;
    z-index: 10;
}
  
.carouselButton.prev {
    left: 10px;
    /* font-family: "magdacleanmono" !important; */

}
  
.carouselButton.next {
    /* font-family: "magdacleanmono" !important; */

    right: 10px;
}
  
.carouselButton:hover {
    background-color: rgba(0, 0, 0, 0.7);
}
/* 
*{
    font-family: "magdacleanmono";
} */