@charset "UTF-8";

/*
* MEFAMEX WEBSITE (https://mefamex.com/) 
* Generated by Mefamex 
* Copyright 2024 Mefamex
* Licensed under MIT (https://github.com/Mefamex/)
* Created on  : 2025-01-29 
* Last update : 2025-08-10-T00:00:00Z
* Title : style.css
* This css file is for the gallery page of the Mefamex website.
*/


:root {
    --images-card-width: 12em;
}

body {
    align-items: center;
    background-color: rgb(15 15 15);
    color: rgb(241, 241, 241);
}

header {
    z-index: 100 !important;
}

.noSelect {
    -moz-user-select: -moz-none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.noDrag {
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
}

.noPointer {
    pointer-events: none;
}

section {
    display: flex;
    flex-direction: column;
}

picture {
    display: flex;
    justify-content: center;
    align-items: center;
    justify-self: center;
    object-fit: cover;
    width: 100%;
    height: auto;
    overflow: hidden;
    text-align: center;
    content-visibility: auto;
}

picture img {
    width: 100%;
    height: auto;
    border-radius: 1em;
    content-visibility: auto;
    /* user forbidden */
    -moz-user-select: -moz-none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
}

main {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height: 80vh;
    margin: 0;
    padding: 1rem 0 10vh 0;
    align-items: center;
    overflow-wrap: anywhere;
    line-height: 1.5;
}

main #mainWellcome {
    /* section */
    width: fit-content;
    max-width: 100%;
    height: min-content;
    margin-block: 1em 5em;
    margin-inline: auto;
    padding: 0 1em 2em 1em;
    align-items: center;
    border: 0.3rem solid rgba(255, 255, 255, 0.2);
    border-radius: 1em;
    background-color: rgba(0, 0, 0, 0.8);
}

main #mainWellcome #page-title {
    text-align: center;
    margin-block: 0.3em;
    font-size: 2.3em;
    margin-inline: auto;
}

main #mainWellcome #page-paragraphs {
    height: min-content;
    width: fit-content;
    margin: 0;
    padding: 0.3rem 1rem;
    border: 0.2rem solid rgba(0, 255, 255, 0.1);
    border-radius: 0.5rem;
    background-color: rgba(255, 255, 255, 0.05);
    text-align: center;
}

main #mainWellcome #page-paragraphs p {
    padding: 0;
    margin: 0.5em 0;
    text-align: start;
    line-height: 1.4;
}

main #mainWellcome #page-paragraphs p::before {
    content: " ■ ";
    color: rgb(123, 255, 255);
}


main hr {
    border: none;
    border-top: 3px double #333;
    color: #333;
    overflow: visible;
    text-align: center;
    height: 1em;
    width: 100%;
    margin-top: clamp(4rem, 6vw, 6rem);
}


main .image-titles {
    /* h2*/
    font-size: clamp(1.5rem, 3vw, 2.5rem);
    margin-block: clamp(1rem, 2vw, 2rem);
    padding: 0.25em 2em;
    background-color: rgb(5, 5, 5);
    width: auto;
    max-width: 95vw !important;
    min-width: fit-content;
    text-align: center;
    border-radius: 2em 2em 5em 5em;
    border: 0.05em solid rgb(50, 50, 50);
    border-bottom-width: 0.1em;
    font-family: system-ui;
    box-shadow: 0 -0.125em 0.2em rgba(255, 255, 255, 0.5);
}

main .images {
    /* section */
    flex-flow: row wrap;
    gap: 3em 2em;
    width: 100%;
    max-width: 100vw;
    justify-content: space-evenly;
}

main .images .card {
    flex-shrink: 1;
    flex-grow: 1;
    width: var(--images-card-width);
    max-width: min(100%, calc(var(--images-card-width) * 1.5));
    display: flex;
    flex-direction: column;
    padding: 0.3em;
    justify-content: flex-start;
    overflow: hidden;
    border: 0.1em solid rgba(0, 255, 255, 0.15);
    border-radius: 1em;
    box-shadow: 0 0.3em 0.5em rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.05);
    transition: all 200ms normal, width 0ms normal;
}

main .images .card:hover {
    box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.2);
}

main .images .card:hover .card-description {
    color: white !important;
    height: fit-content !important;
    transition: all 2s ease;
}

main .images .card picture {
    width: 95%;
    /*min(100%,calc(var(--images-card-width) * 0.9));*/
    max-width: 100%;
    /*min-height: var(--images-card-width);*/
    margin: auto;
}

main .images .card picture img {
    /*aspect-ratio: 1;*/
    max-width: fit-content;
    /*min(100%,calc(var(--images-card-width) * 0.9));*/
    max-height: calc(var(--images-card-width) * 0.95);
    width: 100%;
    object-fit: contain;
    border: calc(var(--images-card-width) * 0.01 + 0.1em) solid transparent;
    border-block-width: calc(var(--images-card-width) * 0.01 + 0.3em);
    border-inline-width: calc(var(--images-card-width) * 0.01 + 0.1em);
    border-image: linear-gradient(180deg, rgba(0, 217, 255, 0.4), rgba(0, 217, 255, 0.05), rgba(0, 217, 255, 0.05), rgba(0, 217, 255, 0.2), rgba(0, 217, 255, 0.2), rgba(0, 217, 255, 0.05), rgba(0, 217, 255, 0.4)) 2;
}

main .images .card .card-content {
    padding: 0.5em 0 0.5em 1em;
    font-size: calc(var(--images-card-width) * 0.02 + 0.6rem);
}

main .images .card .card-content .card-title {
    font-size: 1.2em;
    text-decoration: underline;
    text-decoration-color: #ffefef98;
    font-weight: bold;
    margin: 0;
}

main .images .card .card-content .card-description {
    font-size: 0.9em;
    color: rgba(255, 255, 255, 0.5);
    margin: 0;
    line-height: normal;
}

main .images .card .card-content .card-description span {
    display: inline-flex;
}

#big-image {
    /*div*/
    display: flex;
    z-index: 101;
    width: 98vw;
    height: 98vh;
    margin: 0;
    padding: 1em;
    top: 1vh;
    position: fixed;
    text-align: center;
    justify-content: center;
    align-items: center;
    /* border: 0.2em solid white;*/
    /* border-radius: 2em; */
    background-color: rgba(0, 0, 0, 0.85);
    box-shadow: 0 0 50vh 50vh rgba(0, 0, 0, 0.5), 0 0 50vw 50vw rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(0.3rem);
}

#big-image button {
    position: absolute;
    top: 0.2em;
    right: 0.5em;
    z-index: 102;
    background-color: rgb(255 255 255 / 17%);
    color: #000000;
    border: 0.1rem solid rgb(199 0 0 / 20%);
    text-shadow: 0 0 0.1em #ffffff57, 0px 0px 0.2em #ffffff57, 0 0 0.5em white;
    padding: 0.5em 0.8em;
    font-size: calc(1vh + 0.5vw + 0.5em);
    cursor: pointer;
    border-radius: 50%;
    /* box-shadow: 0 0 10px rgb(0 0 0); */
    transition: all 100ms normal;
}

#big-image button:hover {
    transition: all 200ms ease-out;
    background-color: #343434;
    color: white;
    border-color: rgb(255, 100, 0);
}

#big-image picture {
    width: fit-content;
    height: fit-content;
    max-width: 97vw;
    max-height: calc(97dvh - 2em);
    object-fit: contain;
    border: 2px solid white;
    border-radius: 1em;
}

#big-image picture img {
    object-fit: contain;
    max-width: 97vw;
    max-height: calc(97dvh - 2em);
}

.display-none {
    transition: all 500ms ease-in-out;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

/*
*
*
*
*
*
*
*
*
*
*/
@media only screen and (max-width: 600px) {
    main {
        width: 100%;
        font-size: 0.75rem;
    }
}