/* Reset Styles */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/*----------------------------------------GLOBAL-SCROLLBAR--------------------------------------*/
body::-webkit-scrollbar {
    width: 10px;
}
body::-webkit-scrollbar-thumb {
    border: 2px solid var(--color-white);
    border-radius: 50px;
    background-color: var(--color-lightgray);
}
body::-webkit-scrollbar-track {
    background-color: var(--color-white);
}

/*----------------------------------------GLOBAL-FONTS--------------------------------------*/
@font-face {
    font-style: normal;
    font-weight: normal;
    src: url('fonts/Classico/Classico-Bold.otf') format('woff2');
    font-family: 'classico-bold'; /* Name der Schriftart */
  }

@font-face {
    font-style: normal;
    font-weight: normal;
    src: url('fonts/Classico/Classico.otf') format('woff2');
    font-family: 'classico-regular'; /* Name der Schriftart */
}

/*----------------------------------------GLOBAL-COLORS--------------------------------------*/
:root{
    /*--------------------GENERAL-----------------*/
    --color-white: #f5f5f5;
    --color-offwhite: rgb(226, 226, 226);
    --color-lightgray: #a8a8a8;
    --color-gray: #292625;
    --color-darkgray: #1b1a19;
    --color-offblack: #0a0a0a;
    --color-black: #000000;
    --color-accent-purple: #a190ff;
    --color-accent-beige: #ffe3a6;
    --color-accent-red: #ff5252;
}

/*----------------------------------------GLOBAL-SIZING--------------------------------------*/
:root{
    --sizing-nav: 60px;
    --sizing-cover: calc(calc(100vh - var(--sizing-nav)));
    --sizing-banner: calc(var(--sizing-cover)/2);
    --sizing-line: calc(var(--sizing-banner)/2);
}

@media (max-width: 1000px) {
    :root{
        --sizing-cover: 100vh;
        --sizing-banner: 50vh;
    }
}

/*----------------------------------------GLOBAL-Z-INDEX--------------------------------------*/
:root{
    --z-index-backmax: -100;
    --z-index-back: -50;
    --z-index-mid: 0;
    --z-index-front: 50;
    --z-index-frontmax: 100;
}

/* Global Styles */
body {
    background-color: var(--color-offwhite);
    color: var(--color-black);
    font-family: classico-regular, sans-serif;
}

a {
    color: rgb(0, 0, 0);
    text-decoration: none;
}

/*----------------------------------------MENU-START--------------------------------------*/
#menu {
    display: flex;
    position: fixed;
    top: 0;
    justify-content: center;
    align-items: center;
    z-index: var(--z-index-frontmax);
    background-color: var(--color-white);
    padding: 0 50px;
    width: 100%;
    height: var(--sizing-nav);
}
#menu-width {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 2000px;
}
nav a {
    transition: color 0.4s ease;
    margin: 0 5px;
    font-size: 12pt;
    font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    letter-spacing: 1px;
    text-transform: uppercase;
}

#menu-list a:hover {
    color: var(--color-lightgray);
}
#menu-list-active {
    pointer-events: none;
    color: var(--color-lightgray);
}
#menu-star {
    position: fixed;
    top: calc(var(--sizing-nav)/2 - 12px);
    left: calc(50% - 10px);
    z-index: var(--z-index-frontmax);
    width: 20px;
}
#menu-logo {
    display: block;
}
#menu-logo-mobile {
    display: none;
    position: fixed;
    top: 47px;
    left: 50px;
    z-index: var(--z-index-frontmax);
    font-size: 14pt;
}
#menu-button {
    display: none;
    position: fixed;
    top: 50px;
    right: 50px;
    z-index: var(--z-index-frontmax);
    cursor: pointer ;
    font-size: 14pt;
}
section {
    margin-top: var(--sizing-nav);
}

@media (max-width: 1000px) {
    #menu {
        display: flex;
        position: fixed;
        justify-content: center;
        align-items: center;
        transform: translateX(100%);
        z-index: var(--z-index-frontmax);
        padding: 0 50px;
        width: 100%;
        height: 100%;
    }
    #menu-width {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    #menu.showing {
        transform: translateX(0%);
    }
    #menu-list a {
        display: block;
        margin: 20px 0;
        font-size: 18pt;
    }
    #menu-star {
        display: none;
        top: 50px;
    }
    #menu-logo {
        display: none;
    }
    #menu-logo-mobile {
        display: block;
    }
    #menu-button {
        display: block;
    }
    section {
        margin-top: 0;
    }
}

/*----------------------------------------MENU-END--------------------------------------*/

/*----------------------------------------INDEX.HTML-START--------------------------------------*/
.gallery-banner {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: var(--sizing-banner);
}

.gallery-banner-title {
    position: absolute;
    color: var(--color-white);
    font-size: 25pt;
    letter-spacing: 4px;
    text-transform: uppercase;
}

.gallery-banner-img {
    filter: brightness(0.9) opacity(1);
    transition: all 0.5s ease;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: var(--color-white);
    width: 100%;
    height: 100%;
}

.gallery-banner-img:hover {
    filter: brightness(0.8) opacity(0.9);
    
}

.line-box {
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: var(--z-index-front);
    background-color: rgba(0, 255, 255, 0);
    padding: calc(var(--sizing-line)/4) 0;
    width: 50%;
    height: var(--sizing-line);
}

.line {
    display: flex;
    justify-content: center;
    align-items: center;
    border-right: solid 2px var(--color-white);
    background-color: rgba(79, 32, 141, 0);
    width: 100%;
    height: 100%;
}

.gallery-banner-img::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    mix-blend-mode: overlay;
    filter: contrast(2);
    background-image: url(images/overlay_grain.gif);
    background-position: center;
    background-size:contain;
    background-attachment: fixed;
    pointer-events: none;
    content: "";
}

/*----------------------------------------INDEX.HTML-END--------------------------------------*/

/*----------------------------------------VIEWER.HTML-START--------------------------------------*/
.art-viewer {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 50px;
    width: 100%;
    height: var(--sizing-cover);
    overflow: hidden;
}

#art-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 1500px;
    height: 100%;
    overflow: hidden;
}

#art-text-container {
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    width: 100%;

}

#art-text-container-top {
    display: flex;
    justify-content: center;
}

#art-title, #art-year {
    display: flex;
    margin-top: 20px;
    margin-right: 5px;
    width: 100%;
    color: var(--color-darkgray);
    font-size: 2rem;
}

#art-year {
    font-size: 2rem;
}

#art-title {
    font-weight: bold;
}

#art-description {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 10px;
    width: 100%;
    color: var(--color-gray);
    font-size: 1.2rem;
    line-height: 1.5;
    font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.slider-wrapper {
    display: flex;
    position: relative;
    width: 100%;
    max-height: 60%;
    overflow: hidden;
}

#slider {
    display: flex;
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    scroll-behavior: smooth;  /* Sanfter Übergang zwischen den Bildern */
    scroll-snap-type: x mandatory;  /* Aktiviert das Snap-Verhalten */
}

#slider::-webkit-scrollbar {
    display: none;
}

#slider img {
    position: absolute;
    flex: 1 0 100%;
    cursor: pointer;
    width: 100%;
    height: 100%;
    object-fit: cover;
    scroll-snap-align: center;
}

#slider-nav {
    display: flex;
    position: absolute;  
    bottom: 1.25rem;
    left: 50%;
    column-gap: 1rem;
    transform: translateX(-50%);
    z-index: var(--z-index-front);
}

#slider-nav a {
    opacity: 0.7;
    transition: all 0.5s ease;
    border-radius: 50%;
    background-color: var(--color-white);
    width: 0.5rem;
    height: 0.5rem;
}

#slider-nav a:hover {
    opacity: 1;
    background-color: var(--color-black);
}

#slider-nav a:active {
    opacity: 1;
    background-color: var(--color-black);
}

#slider-nav.hidden {
    display: none;
}

.art-navigation {
    display: flex;
    position: fixed;
    bottom: 50px;
    justify-content: center;
    align-items: center;
    padding: 0 5vw;
    width: 100%;
}

.nav-button {
    cursor: pointer;
    margin: 0 40px;
    border: none;
    background: none;
    background-color: none;
    font-size: 14pt;
}

@media (max-width: 1000px) {

    #art-title, #art-price, #art-year {
        font-size: 1.5rem;
    }

    #art-text-container {
        align-items: start;
    }
    
    #art-description {
        font-size: 1rem;
        justify-content: start;
    }
}

/*----------------------------------------VIEWER.HTML-END--------------------------------------*/


/*----------------------------------------ABOUT.HTML-START--------------------------------------*/

#section-about {
    display: flex;
    flex-direction: column;
    justify-content: top;
    align-items: center;
    background-color: var(--color-offwhite);
    width: 100%;
    min-height: var(--sizing-cover);
}

#portrait-image {
	position: fixed;
    top: 0;
    z-index: var(--z-index-mid);
    border-radius: 0 0 50px 50px;
    background-image: url(images/portrait.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    max-width: 1000px;
    height: 50vh;
}

#portrait-textbox {
	position: fixed;
    top: 50%;
    justify-content: center;
    align-items: left;
    z-index: var(--z-index-front);
    margin: 5vh 0vw;
    width: 80%;
    max-width: 800px;
    height: 40vh;
    overflow-y: scroll;
}

#portrait-textbox p {
    color: var(--color-black);
    font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    
}

#portrait-title {
    margin-bottom: 15px;
    font-size: 16pt;
    letter-spacing: 1px
}

#portrait-text {
    word-wrap: break-word;
    font-size: 12pt;
    line-height: 35px;
    hyphens: auto;
    letter-spacing: 1px;
}

/* Scrollbar styles for WebKit browsers */
#portrait-textbox::-webkit-scrollbar {
    width: 50px;
}

#portrait-textbox::-webkit-scrollbar-thumb {
	border: 23px solid transparent;
    border-radius: 50px;
    background-clip: content-box;
    background-color: var(--color-black);
}

@media (max-width: 700px) {
	#portrait-image {
    	display: flex;
		position: static;
   	}
	#portrait-textbox {
    	position: static;
        margin-top: 5vh;
        height: auto;
    	overflow-y: visible;
    }
}
/*
@media (max-width: 700px) {
	#portrait-image {
    	display: flex;
		position: fixed;
        height: var(--sizing-cover);
        border-radius: 0;
   	}
	#portrait-textbox {
    	position: static;
    	overflow-y: visible;
        height: auto;
        margin-top: 55vh;
    }
    #portrait-textbox p {
    	color: var(--color-white);
    }
}
*/

/*----------------------------------------ABOUT.HTML-END--------------------------------------*/

/*----------------------------------------CONTACT.HTML-START--------------------------------------*/
#section-contact {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 50px;
    height: var(--sizing-cover);
}

#contact-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: end;
    background-color: var(--color-white);
    width: 100%;
    max-width: 1000px;
    height: 50%;
}

#contact-text-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: left;
    padding: 50px;
    width: 50%;
    height: 100%;
    overflow-wrap: break-word;
}

#contact-title {
    margin-top: 20px;
    color: var(--color-darkgray);
    font-size: 2rem;
}

#contact-description {
    margin-top: 10px;
    max-width: 800px;
    color: var(--color-gray);
    font-size: 1.2rem;
    line-height: 1.5;
    font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

#contact-image {
    display: flex;
    margin-right: 50px;
    border-radius: 50px 50px 0 0 ;
    background-image: url(images/portrait_2.png);
    background-position: top;
    background-size: cover;
    background-repeat: no-repeat;
    width: 50%;
    height: 80%;
}

#contact-button {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--color-offwhite);
    width: 100%;
    max-width: 1000px;
    height: 15%;
}

#contact-button a {
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background-color 0.5s ease;
    cursor: pointer;
    border-radius: 50px;
    background-color: var(--color-black);
    width: 100%;
    max-width: 500px;
    height: 45%;
    color: var(--color-white);
    font-size: 1.2rem;
    font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    letter-spacing: 2px;
}

#contact-button a:hover {
    background-color: var(--color-lightgray);
}

@media (max-width: 700px) {
    #contact-text-container {
        padding: 0px;
        width: 60%;
        height: 50%;
    }
    #contact-container {
        flex-direction: column;
        align-items: center;
    }
    #contact-image {
        margin-right: 0px;
        width: 80%;
        height: 50%;
    }
}

/*----------------------------------------CONTACT.HTML-END--------------------------------------*/