/* GENERAL START */
@font-face {
    font-family: 'LatoWebBlack';
    src:url('./fonts/Lato-Black.woff2') format('woff2'), /* Modern Browsers */
        url('./fonts/Lato-Black.woff') format('woff'), /* Modern Browsers */
        url('./fonts/Lato-Black.ttf') format('truetype');
    font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
    font-display: swap;
}
@font-face {
    font-family: 'LatoWebBlack';
    src:url('./fonts/Lato-BlackItalic.woff2') format('woff2'), /* Modern Browsers */
        url('./fonts/Lato-BlackItalic.woff') format('woff'), /* Modern Browsers */
        url('./fonts/Lato-BlackItalic.ttf') format('truetype');
    font-style: italic;
    font-weight: normal;
    text-rendering: optimizeLegibility;
    font-display: swap;
}

:root {
    --main-bg-color: #272939;
    --alt-bg-color: #DDE7F5;
    --main-accent-color: #F8566D;
    --alt-accent-color01: #0071F4;
    --alt-accent-color02: #00A898;

}

/* ----- */
/* ----- */
/* ----- */
/* ----- */

header{
    position: fixed !important;
    z-index: 9999;
    top: 0px;
    padding: 0px 20px;
    box-sizing: border-box;
    /**/
    animation: headerAnim  linear;
    animation-timeline: scroll(root);

}
header a{
    animation: headerColor  linear;
    animation-timeline: scroll(root);
}

@keyframes headerColor{
    0%{
        color: var(--main-accent-color);
    }
    5%{
        color: var(--main-accent-color);
    }

    20%{
        color: var(--main-bg-color);
    }
    100%{
    }
}

@keyframes headerAnim {
    0%{
        backdrop-filter: blur(1.8px);
        background-color: #dde7f500;
        width: 100%;
        box-shadow: 0 4px 20px #00000000;
        position: fixed;
        z-index: 15;
        top: 0px;
        padding: 0px 20px;
        box-sizing: border-box;
        color: var(--alt-bg-color);
    }
    5%{
        backdrop-filter: blur(8.8px);
        background-color: #dde7f55e;
        width: 100%;
        box-shadow: 0 4px 20px #00000055;
        position: fixed;
        z-index: 15;
        top: 0px;
        padding: 0px 20px;
        box-sizing: border-box;
        color: var(--alt-bg-color);
    }

    20%{
        backdrop-filter: blur(8.8px);
        background-color: var(--alt-bg-color);
        width: 100%;
        box-shadow: 0 4px 20px #00000055;
        position: fixed;
        z-index: 15;
        top: 0px;
        padding: 0px 20px;
        box-sizing: border-box;
        transition: all 0.2s ease-in-out;
        color: var(--main-accent-color);
    }
    100%{
        backdrop-filter: blur(8.8px);
        background-color: var(--alt-bg-color);
        width: 100%;
        box-shadow: 0 4px 20px #00000055;
        position: fixed;
        z-index: 15;
        top: 0px;
        padding: 0px 20px;
        box-sizing: border-box;
        transition: all 0.2s ease-in-out;
        color: var(--main-accent-color);
    }
}

.header-scrolled{
    backdrop-filter: blur(8.8px);
    background-color: #dde7f55e;
    width: 100%;
    box-shadow: 0 4px 20px #00000055;
    position: fixed;
    z-index: 15;
    top: 0px;
    padding: 0px 20px;
    box-sizing: border-box;
}
/* 
p{
    font-size: 1.5em;
}

----- */
.nav, .socials{
    will-change: transform;
}
.nav{
    display: flex;
    flex-direction: row;
    padding: 10px 20px;
    width: 100%;
    max-width: 1920px;
    justify-content: space-between;
    align-items: center;
    justify-self: center;
    opacity: 1;
    box-sizing: border-box;
}
.nav .logo a{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
}

.nav .logo a h1{
    margin: 0px;
    padding: 0px;
}

.nav .logo a img{
    height: 50px;
    width: auto;
}

.nav .headcon-left{
    display: flex;
    flex-direction: row;
    align-items: center;
}

.nav-tabs{
    padding-left: 20px;
}
.nav-tabs a{
    color: var(--main-bg-color);
    font-weight: 300;
	padding: 10px 20px;
	position: relative;
	overflow: hidden;
	display: inline-block;
	-webkit-transition: 0.3s ease-out;
	-moz-transition: 0.3s ease-out;
	transition: 0.3s ease-out;
    scale: 1;
}

.nav-tabs a span:before {
	width: 5px;
	height: 5px;
	background: transparent;
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	border-top: 2px solid var(--main-accent-color);
	border-left: 2px solid var(--main-accent-color);
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	transition: 0.3s;
	opacity: 0;
}

.nav-tabs a span:after {
	width: 6px;
	height: 6px;
	background: transparent;
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	border-right: 2px solid var(--main-accent-color);
	border-bottom: 2px solid var(--main-accent-color);
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	transition: 0.3s;
	opacity: 0;
}

.nav-tabs a:before {
	width: 6px;
	height: 6px;
	background: transparent;
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	border-right: 2px solid var(--main-accent-color);
	border-top: 2px solid var(--main-accent-color);
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	transition: 0.3s;
	opacity: 0;
}

.nav-tabs a:after {
	width: 6px;
	height: 6px;
	background: transparent;
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	border-left: 2px solid var(--main-accent-color);
	border-bottom: 2px solid var(--main-accent-color);
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	transition: 0.3s;
	opacity: 0;
}

.nav-tabs a:hover {
	color: var(--main-accent-color);
    scale: 1.1;
}

.nav-tabs a:hover:before {
	opacity: 1;
	right: 5px;
	top: 5px;
}

.nav-tabs a:hover:after {
	opacity: 1;
	left: 5px;
	bottom: 5px;
}

.nav-tabs a:hover span:before {
	opacity: 1;
	left: 5px;
	top: 5px;
}

.nav-tabs a:hover span:after {
	opacity: 1;
	right: 5px;
	bottom: 5px;
}

.nav .socials{
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
}

.nav .socials img{
    padding-top: 7px;
    width: 36px;
    height: auto;
}

.contact .socials{
    gap: 25px;
    display: flex;
    padding: 25px;
}

.socials img{
    width: 36px;
    height: auto;
}

/* ----- */
/* ----- */
/* ----- */

body{
    color: rgb(0, 0, 0);
    background-color: var(--alt-bg-color);
    font-family: "Lato", sans-serif;    
    margin: 0px;
    padding: 0px;
    overflow-x: clip;
}

html{
    overflow-x: clip;
}

.body-container{
    max-width: 1920px;
    width: 100%;
    margin: 0 auto;
    background: var(--main-bg-color);
    box-shadow: 0 4px 30px rgba(0, 0, 0, .2);
    color: var(--alt-bg-color);
}

/* ----- */
/* ----- */
/* ----- */

a {
    text-decoration: none;
}

.col{
    display: flex;
    flex-direction: column;
}
.row{
    display: flex;
    flex-direction: row;
}

/* ----- */
/* ----- */


/* Medium devices (landscape tablets, 768px and up)*/
@media only screen and (min-width: 768px) and (max-width: 1200px){
    .contact{
        background-color: var(--main-bg-color) !important;
        justify-content: space-between;
        padding: 30px 50px !important;
    }
    .contact a{
        scale: 1;
        color: var(--main-accent-color);
    }
    .contact h1{
        font-size: xxx-large;
        margin: 0;
        padding-bottom: 10px;
    }


    .contact h2{
        width: 100%;
    }

    .contact hr{
        width: 80%;
        opacity: 0.2;
        left: -10%;
        position: relative;
        align-self: start;
    }
    
    .contact .icon{
        max-width: 20%;
        float: right;
    }
    
    .contact .icon img{
        max-width: 100%;
        height: auto;
    }

    .cta-contact{
        width: 100%;
        text-align: center;
        color: var(--main-bg-color);
        background-color: var(--alt-bg-color);
        padding: 25px;
        box-sizing: border-box;
    }
    
    .cta-contact h1{
        margin: 0;
        padding: 0;
    }
    
    .placeholder{
        width: 100%;
        text-align: center;
        color: var(--main-bg-color);
        background-color: var(--alt-bg-color);
        padding: 25px;
        font-size: 1.5em;
        box-sizing: border-box;
    }
    .placeholder img{
        width: 20%;
        margin: auto;
    }
    
    header{
        width: 100%;
    }
    
    .service-desc .col{
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    .thumb{
        background-size: cover;
        background-position: 50%;
        height: 30vh;
    }

    .service-desc{
        display: flex;
        flex-direction: column;
    }
    .reachout{
        display: flex;
        flex-direction: row !important;
        align-items: center !important;
        gap: 25px;
    }
}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {
    .contact{
        background-color: var(--main-bg-color) !important;
        justify-content: space-between;
        padding: 30px 50px !important;
    }
    .contact a{
        scale: 1;
        color: var(--main-accent-color);
    }
    .contact h1{
        font-size: xxx-large;
        margin: 0;
        padding-bottom: 10px;
    }
    .contact p{
        text-align: left;
    }

    .contact hr{
        width: 80%;
        opacity: 0.2;
        left: -10%;
        position: relative;
        align-self: start;
    }
    
    .contact .icon{
        max-width: 20%;
        float: right;
    }
    
    .contact .icon img{
        max-width: 100%;
        height: auto;
    }

    .service-desc{
        display: flex;
        flex-direction: row;
    }
    .cta-contact{
        width: 100%;
        text-align: center;
        color: var(--main-bg-color);
        background-color: var(--alt-bg-color);
        padding: 25px;
        box-sizing: border-box;
    }
    
    .cta-contact h1{
        margin: 0;
        padding: 0;
    }
    
    .placeholder{
        width: 100%;
        text-align: center;
        color: var(--main-bg-color);
        background-color: var(--alt-bg-color);
        padding: 25px;
        font-size: 1.5em;
        box-sizing: border-box;
    }
    .placeholder img{
        width: 20%;
        margin: auto;
    }
    
    header{
        width: 100%;
    }
    
    .service-desc .col{
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
    }
    
    .thumb{
        background-size: cover;
        background-position: 50%;
        height: 30vh;
    }

    .reachout{
        display: flex;
        flex-direction: row !important;
        align-items: center !important;
        gap: 25px;
        align-items: flex-start !important;
    }
}




.main-introductions{
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: var(--main-accent-color);
}



















/* ----- */

.nav-bottom{
    justify-content: flex-start;
    height: 50px;
    max-width: 1920px;
    width: 100%;
    min-width: 200px;
}

/* ----- */

footer{
    box-shadow: 0 -4px 20px #00000055;
}

/* ------------------------------------------------------------------------------ */

.service-desc{
    min-height: 200px;
    width: 100%;
    background-color: var(--main-accent-color);
    color: var(--alt-bg-color);
    padding: 10px;
    align-items: center;
    font-size: larger;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    z-index: 10;
}

/* ----- */
@keyframes increaseFontSize {
    0% {
        size: 0.9em;
    }
    75%{
        size: 1.1em;
    }
    100% {
        size: 1em;
    }
}

/* ----- */

.portfolio-tags{
    display: flex;
    gap: 25px;
    padding: 25px;
    background-color: var(--main-bg-color);
    color: var(--main-accent-color);
    align-items: center;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
}

/* ----- */

.project-container{
    gap: 25px; /* Space between items */
    background-color: var(--alt-bg-color);
    padding: 25px;
    transition: all 0.3s ease-in-out;
}
.portfolio-gallery-overview{
    box-sizing: border-box;
}

.project-item{
    border-radius: 10px;
    /*padding: 25px;*/
    animation: appear linear;
    animation-timeline: view();
    animation-range: entry 0% cover 15%;
    transition: all 0.4s ease-in-out;
    scale: 1;
    z-index: 1;
    opacity: 1;
    overflow: clip;
    box-sizing: border-box;
}

.project-item img{
    scale: 1;
    transition: all 0.3s ease-in-out;
}

.project-item:hover{
    scale: 1.01;
    z-index: 3;
    border-radius: 11px;
}
.project-item:hover img{
    scale: 1.03;
}

.project-item .overlay {
    margin: auto;
    position: absolute;
    width: 100%;
    height: 100%;
    transition: all 0.4s ease-in-out;
    text-align: center;
    justify-self: center;
    bottom: 0%;
    left: 0%;
    box-sizing: border-box;
    background-color: #31334878;
    opacity: 0;
    backdrop-filter: blur(0px);

}

.project-item:hover .overlay {
    opacity: 1;
    backdrop-filter: blur(2px);
}

.project-item .itemFusel img{
    opacity: 0;
    transition: all 0.4s ease-in-out;
    max-width: 150px;
}

.project-item:hover .itemFusel img{
    opacity: 1;
}

.project-item .overlay .itemFusel{
    display: flex;
    flex-direction: column;
    position: absolute;
    padding: 25px;
    margin-top: 25px;
    text-align: center;
    justify-self: center;
    bottom: 0%;
    color: var(--alt-bg-color);
    justify-content: top;
    flex-wrap: nowrap;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    align-items: center;
    overflow-y: scroll;
    scrollbar-color: var(--alt-bg-color);
    scrollbar-width: none;
}



.itemScaler{
    scale: 1;
    transition: scale 0.4s ease-in-out;
}


.project-item img{
    max-width: 100%;
}

.thumb-logo{
    transition: all 0.4s ease-in-out;
    width: 100%;
    position: absolute;
    display: flex;
    flex-direction: column;
    scale: 1;
    align-items: center;
    background: linear-gradient(#00000000 10%, #00000099);
    backdrop-filter: blur(2px);
    bottom: 0px;
    padding-bottom: 25px;
}

.thumb-logo img{
    max-width: 150px;
    display: inline;
}

.project-item:hover .thumb-logo{
    opacity: 0;
    bottom: 50px;
    scale: 1.1;
}

.itemFusel p{
    font-size: 20px;
}

.project-item[data-priority="1"] {
    background-color: var(--main-bg-color);
    grid-column: span 1;
    grid-row: span 1;
}
.project-item[data-priority="2"] {
    background-color: #00A898;
    grid-column: span 2;
    grid-row: span 1;
    aspect-ratio: 2 / 1;

}
.project-item[data-priority="3"] {
    background-color: #F8566D;
    grid-column: span 2;
    grid-row: span 2;
    aspect-ratio: 1 / 1;
}
.project-item[data-priority="4"] {
    background-color: #DDE7F5;
    grid-column: span 3;
    grid-row: span 3;
    aspect-ratio: 1 / 1;
}
.project-item[data-priority="5"] {
    background-color: #DDE7F5;
    grid-column: span 1;
    grid-row: span 2;
}

.hidden{
    scale: 0;
    opacity: 0;
}

/* ----- */

.tag{
    display: inline-block;
    padding: 10px 20px;
    margin: 5px;
    background-color: var(--alt-bg-color);
    color: var(--main-accent-color);
    border: none;
    border-radius: 5px;
    cursor: pointer;
    scale: 1;
    transition: all 0.2s ease-in-out;

}
.tag:hover {
    background-color: #eaf0f9;
    color: var(--main-bg-color);
    scale: 1.05;
}

.tag.active {
    background-color: var(--main-bg-color); 
    color: var(--alt-bg-color); 
    scale: 1.1;
    font-weight: bold;
}

/* ----- */

@keyframes appear {
    0% {
        opacity: 0;
        rotate: 1deg;
        filter: blur(3px);
        transform:translateX(5%)
    }
    65%{
        opacity: 0.8;
        rotate: -1deg;
        filter: blur(1px)
    }
    80%{
        opacity: 0.8;
        rotate: 0deg;
        filter: blur(0px)

    }
    100% {
        opacity: 1;
        rotate: 0deg;
        transform:translateX(0%)
    }
}

/* ----- */




/* ------------------------------------------------------------------------------ */

/* HEAD SLIDER ------------------------------------------------------------------------------ */



/* ----- */



.swiper-slide-active .flip-container .flip-image {
    transform: rotateY(0deg);
    opacity: 1;
    box-shadow: 0 15px 30px rgba(255, 255, 255, 0.5);
    background-color: var(--alt-bg-color);
    background-repeat: no-repeat;
    background-size: cover;
    box-shadow: rgba(255, 255, 255, 0.1) 0px 1px 1px 0px inset, rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px;
}

.swiper-slide:not(.swiper-slide-active) .flip-container .flip-image {
    filter: blur(5px);
    opacity: 0.5;
}
.flip-image-visible {
    transition: transform 0.4s cubic-bezier(0,1.2,.5,1);
    transform: rotateY(0deg);
    opacity: 1;
}

/* ----- */

.slide-a{
    background-image: url("./projects/inhouse/Sheikhun/img/eutierria-sheikhun-idle-frender.gif");
}
.slide-b{
    background-image: url("./projects/kiewitz-studio/img/Portfolio_CeliasWelt_Cover.webp");
}
.slide-c{
    background-image: url("./projects/inhouse/IndieGame-EutierriaDemo/img/EutierriaDemo-Shot_02.webp");
}
.slide-d{
    background-image: url("./projects/kiewitz-studio/MisterSpex/img/Portfolio_MisterSpex_Cover01.webp");
}
.slide-e{
    background-image: url("./projects/kiewitz-studio/MoldingExpert/Release/img/Portfolio_MoldingExpert-Release_Cover01.webp");
}
.slide-f{
    background-image: url("./projects/inhouse/ChaoticHead/img/ChaoticHead-Details-02.webp");
}

.swiper-slide h1{
    padding: 0;
    padding-top: 20px;
    margin: 0;
}
.swiper-slide a{
    color: var(--alt-bg-color);
}

.swiper-slide .col img{
    max-width: 250px;
    height: auto;
}

.swiper-slide .col{
    padding: 50px;
    display: flex;
    position: absolute;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    bottom: 0px;
}

/* ----- */

.tag-row{
    float: left;
}

.tag-vis {
    padding: 5px;
    margin: 5px;
    border-style: outset;
    border-width: 3px;
    color: var(--alt-bg-color);
    border-radius: 5px;
    border-color: var(--alt-bg-color);
    animation: disappear-tags linear;
    animation-timeline: view();
    animation-range: contain 90% cover 100%;
    position: relative;
}
.tag-vis:first-child {
    margin-left: 0px;
}
.tag-vis p{
    font-size: 16px;
    padding: 0px;
    margin: 0px;
}

@keyframes disappear-tags {
    0% {
        opacity: 1;
        rotate: 0deg;
        filter: blur(0px);
        transform:translateX(0%)
    }
    65%{
        opacity: 0.8;
        rotate: -1deg;
        filter: blur(0px)
    }
    80%{
        opacity: 0.8;
        rotate: 0deg;
        filter: blur(1px)

    }
    100% {
        opacity: 0;
        rotate: 0deg;
        filter: blur(3px);
        transform:translateX(-10%)
    }
}

.swiper-slide p{
    max-width: 500px;
    text-align: left;
}
/* ------------------------------------------------------------------------------ */




span .count, .service-desc .count {
    animation: increaseFontSize 1s linear forwards;
}

.main-introductions h2{
    padding: 10px;
    box-sizing: border-box;
    text-align: center;
}
/* --------------------------------------------------------------- */

.swiper-button-next, .swiper-button-prev{
    color: var(--main-accent-color)!important;
}
.swiper-pagination-bullet-active{
    background-color: var(--main-accent-color)!important;
}

.swiper-wrapper {
    height: 100%;
}

.swiper-slide {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    background-color: var(--alt-bg-color);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.swiper-slide p{
    font-size: 1em !important;
}

.swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* --------------------------------------------------------------- */

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {
    
}

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {
    
}

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
    
}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
    
}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {
    
}

/* --------------------------------------------------------------- */

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {
    .contact {
        background-color: var(--main-bg-color);
        display: flex;
        flex-direction: column;
        align-content: center;
        align-items: center;
        justify-content: center;
    }

    .reachout{
        display: flex;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center;
    }

    .reachout h2{
        padding: 25px;
    }
    .reachout a{
        color: var(--main-accent-color);
    }

    .contact .icon{
        max-width: 100%;
    }
    .contact .icon img{
        display: none;
    }

    .project-face{
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: flex-start;
        align-items: center;
        gap: 20px;
        position: absolute;
        bottom: 0px;
        padding: 40px;
        width: 100%;
        background: linear-gradient(#00000000 10%, #00000099 50%);
        backdrop-filter: blur(2px);
    }


    .project-face img{
        max-width: 10%;
    }

    .swiper {
        width: 100%;
        height: 45vh;
    }
        
    .flip-container {
        position: absolute;
        bottom: -120%;
        right: -4%;
        transform: translate(-50%, -50%);
        z-index: 10;
        width: 300px;
        height: 400px;
        pointer-events: none;
        opacity: 0;
    }
    
    .flip-image {
        position: absolute;
        width: 100%;
        height: auto;
        object-fit: cover;
        transform: rotateY(90deg); 
        transition: transform 0.4s cubic-bezier(0,1.2,.5,1), 
                    box-shadow 0.8s ease, 
                    opacity 0.4s ease;
        opacity: 0;
        box-shadow: 0 0 0 rgba(255, 255, 255, 0);
    }

    .tagrow, .slider .project-desc{
        display: none;
    }
    .project-container{
        display: flex;
        flex-direction: column;
        gap: 25px;
        padding: 25px;
    }

    .project-item[data-priority="1"] {
        aspect-ratio: 1 / 1;
    }
    .project-item[data-priority="5"] {
        aspect-ratio: 1 / 2;
    }

    header{
        width: 100%;
    }
}

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {
    .contact {
        background-color: var(--main-bg-color);
        display: flex;
        flex-direction: column;
        align-content: center;
        align-items: center;
        justify-content: center;
    }

    .reachout{
        display: flex;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center;
    }

    .reachout h2{
        padding: 25px;
    }
    .reachout a{
        color: var(--main-accent-color);
    }

    .contact .icon{
        max-width: 100%;
    }
    .contact .icon img{
        display: block;
        max-width: 25%;
        margin: auto;
    }


    .project-face{
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 20px;
        position: absolute;
        bottom: 0px;
        padding: 50px;
        width: 100%;
        background: linear-gradient(#00000000 10%, #00000099 50%);
        backdrop-filter: blur(2px);
    }

    .project-face img{
        max-width: 120px;
    }

    .tagrow, .slider .project-desc{
        display: block;
    }

    .tagrow{
        display: flex;
        flex-direction: row;
    }

    .swiper {
        width: 100%;
        height: 100vh;
    }

    
    .flip-container {
        position: absolute;
        bottom: -34%;
        right: -4%;
        transform: translate(-50%, -50%);
        z-index: 10;
        width: 300px;
        height: 400px;
        pointer-events: none;
    }
    
    .flip-image {
        position: absolute;
        width: 100%;
        height: auto;
        object-fit: cover;
        transform: rotateY(90deg); 
        transition: transform 0.4s cubic-bezier(0,1.2,.5,1), 
                    box-shadow 0.8s ease, 
                    opacity 0.4s ease;
        opacity: 0;
        box-shadow: 0 0 0 rgba(255, 255, 255, 0);
    }
    .project-container{
        display: flex;
        flex-direction: column;
        gap: 25px;
        padding: 25px;
        justify-items: center;
        justify-content: center;
    }
    .project-item[data-priority="1"] {
        aspect-ratio: 1 / 1;
    }
    .project-item[data-priority="5"] {
        aspect-ratio: 1 / 2;
    }
    header{
        width: 100%;
    }
}

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
    .flip-container {
        position: absolute;
        bottom: -120%;
        right: -4%;
        transform: translate(-50%, -50%);
        z-index: 10;
        width: 300px;
        height: 400px;
        pointer-events: none;
        opacity: 0;
    }
}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
    .project-container{
        display: grid;
        grid-template-columns: repeat(3, 1fr); /* 3 equal columns */
        grid-auto-flow: dense;
        justify-items: center;
        justify-content: center;
        align-content: center;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-auto-flow: dense;
        justify-content: center;
        align-content: space-between;
        justify-items: stretch;
    }

    .flip-container{
        position: absolute;
        bottom: 0px;
        right: -4%;
        z-index: 10;
        width: 300px;
        height: 100px;
        pointer-events: none;
        opacity: 1;
    }
}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {
    .project-container{
        display: grid;
        grid-auto-flow: dense;
        justify-content: stretch;
        justify-items: stretch;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .contact {
        text-align: left;
        display: flex;
        justify-content: space-between;
        align-items: center;
        align-content: center;
        flex-direction: row;
    }
    
    .reachout h2 {
        padding: 0px 0px;
    }

    .contact .icon img {
        display: block;
        max-width: 100%;
    }
    .contact .icon {
        max-width: 20%;
    }
    .flip-container {
        position: absolute;
        bottom: 0px;
        right: -4%;
        z-index: 10;
        width: 300px;
        height: 100px;
        pointer-events: none;
        opacity: 1;
    }
}