/* Einbinden der Fonts */

@font-face {
  font-family: "Jost";
  font-style: italic;
  /* font-weight: 200 900; */
  font-feature-settings: "ss01" 1;
  src:
    url("../fonts/Jost-Italic-VariableFont_wght.woff2") format("woff2 supports variations"),
    url("../fonts/Jost-Italic-VariableFont_wght.woff2") format("woff2-variations");
}

@font-face {
  font-family: "Jost";
  font-style: normal;
  /* font-weight: 200 900; */
  font-feature-settings: "ss01" 1;
  src:
    url("../fonts/Jost-VariableFont_wght.woff2") format("woff2 supports variations"),
    url("../fonts/Jost-VariableFont_wght.woff2") format("woff2-variations");
}

@font-face {
  font-family: "Jost";
  font-weight: 100;
  font-style: normal;
  font-feature-settings: "ss01" 1;
  src: url("../fonts/static/Jost-Thin.woff2") format("woff2");
}
@font-face {
  font-family: "Jost";
  font-weight: 100;
  font-style: italic;
  font-feature-settings: "ss01" 1;
  src: url("../fonts/static/Jost-ThinItalic.woff2") format("woff2");
}
@font-face {
  font-family: "Jost";
  font-weight: 200;
  font-style: normal;
  font-feature-settings: "ss01" 1;
  src: url("../fonts/static/Jost-ExtraLight.woff2") format("woff2");
}
@font-face {
  font-family: "Jost";
  font-weight: 200;
  font-style: italic;
  font-feature-settings: "ss01" 1;
  src: url("../fonts/static/Jost-ExtraLightItalic.woff2") format("woff2");
}
@font-face {
  font-family: "Jost";
  font-weight: 300;
  font-style: normal;
  font-feature-settings: "ss01" 1;
  src: url("../fonts/static/Jost-Light.woff2") format("woff2");
}
@font-face {
  font-family: "Jost";
  font-weight: 300;
  font-style: italic;
  font-feature-settings: "ss01" 1;
  src: url("../fonts/static/Jost-LightItalic.woff2") format("woff2");
}
@font-face {
  font-family: "Jost";
  font-weight: 400;
  font-style: normal;
  font-feature-settings: "ss01" 1;
  src: url("../fonts/static/Jost-Regular.woff2") format("woff2");
}
@font-face {
  font-family: "Jost";
  font-weight: 400;
  font-style: italic;
  font-feature-settings: "ss01" 1;
  src: url("../fonts/static/Jost-Italic.woff2") format("woff2");
}
@font-face {
  font-family: "Jost";
  font-weight: 500;
  font-style: normal;
  font-feature-settings: "ss01" 1;
  src: url("../fonts/static/Jost-Medium.woff2") format("woff2");
}
@font-face {
  font-family: "Jost";
  font-weight: 500;
  font-style: italic;
  font-feature-settings: "ss01" 1;
  src: url("../fonts/static/Jost-MediumItalic.woff2") format("woff2");
}
@font-face {
  font-family: "Jost";
  font-weight: 600;
  font-style: normal;
  font-feature-settings: "ss01" 1;
  src: url("../fonts/static/Jost-SemiBold.woff2") format("woff2");
}
@font-face {
  font-family: "Jost";
  font-weight: 600;
  font-style: italic;
  font-feature-settings: "ss01" 1;
  src: url("../fonts/static/Jost-SemiBoldItalic.woff2") format("woff2");
}
@font-face {
  font-family: "Jost";
  font-weight: 700;
  font-style: normal;
  font-feature-settings: "ss01" 1;
  src: url("../fonts/static/Jost-Bold.woff2") format("woff2");
}
@font-face {
  font-family: "Jost";
  font-weight: 700;
  font-style: italic;
  font-feature-settings: "ss01" 1;
  src: url("../fonts/static/Jost-BoldItalic.woff2") format("woff2");
}
@font-face {
  font-family: "Jost";
  font-weight: 800;
  font-style: normal;
  font-feature-settings: "ss01" 1;
  src: url("../fonts/static/Jost-ExtraBold.woff2") format("woff2");
}
@font-face {
  font-family: "Jost";
  font-weight: 800;
  font-style: italic;
  font-feature-settings: "ss01" 1;
  src: url("../fonts/static/Jost-ExtraBoldItalic.woff2") format("woff2");
}
@font-face {
  font-family: "Jost";
  font-weight: 900;
  font-style: normal;
  font-feature-settings: "ss01" 1;
  src: url("../fonts/static/Jost-Black.woff2") format("woff2");
}
@font-face {
  font-family: "Jost";
  font-weight: 900;
  font-style: italic;
  font-feature-settings: "ss01" 1;
  src: url("../fonts/static/Jost-BlackItalic.woff2") format("woff2");
}

@font-face {
  font-family: "NothingYouCouldDo";
  font-weight: 400;
  font-style: normal;
  src: url("../fonts/static/NothingYouCouldDo-Regular.woff2") format("woff2");
}

/* Definition der Firmenfarben */
:root {
  --brown: rgb(184, 74, 21);
  --black: rgb(29, 29, 27);
  --white: rgb(255, 252, 249);
  --lighterbrown: rgb(216, 155, 126);
  --lightbrown: rgb(248, 237, 231);
  --browntrans: rgba(184, 74, 21, 0.9);
  --brownshadow: rgba(184, 74, 21, 0.7);
  --inkblue: rgb(22, 38, 76);
}

/* Generelles, z.B. Brotschriftart */

* {
  font-family: "Jost";
}

body {
  margin: 0;	
  font-size: 14pt;
  background-color: var(--white);
  color: var(--black);
  /* position: absolute; */
  width: 100vw;
  /* overflow-x: hidden; */
}

a, a:link, a:visited {
  color: var(--brown);
  text-decoration: none;
}

a:hover, a:active {
  color: var(--lighterbrown);
  text-decoration: none;
}

a.directory, a.directory:link, a.directory:visited, a.directory:hover, a.directory:active {
  color: var(--black);
  text-decoration: none;
}

/* Titelzeile mit Menü usw. */

div#header {
  background: var(--browntrans) border-box;
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  margin: 0;
  width: 100%;
  height: 100px;
  border-style: none;
}

div#innerheader {
  margin: 0 auto;
  width: 1200px;
  border: 0;
}

img#logo {
  margin: 10 100px 0 0;
  width: 176px;
  height: 80px;
  float: left;
}

@media only screen and (max-width: 1200px) {
  .hamburger {
    position: absolute;
    top: 30px;
    right: 50px;
    display: inline-block;
    cursor: pointer;
  }
  .hamburgerbar1, .hamburgerbar2, .hamburgerbar3 {
    width: 35px;
    height: 5px;
    border-radius: 2px;
    background-color: var(--white);
    margin: 6px 0;
    transition: 0.4s;
  }
  #mainmenu {
    position: absolute;
    top: 100px;
    right: 0px;
    background-color: var(--browntrans);
    color: var(--white);
    z-index: 1;
    display: none;
  }
  #mainmenu ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    line-height: 1.5;
    display: block;
  }
  #mainmenu li a {
    display: block;
    color: var(--white);
    text-align: left;
    text-transform: uppercase;
    padding: 10px 10px;
    text-decoration: none;
  }

  /* Rotate first bar */
  
  .change .hamburgerbar1 {
    -webkit-transform: rotate(-45deg) translate(-8px, 7px) ;
    transform: rotate(-45deg) translate(-8px, 7px) ;
  }

  /* Fade out the second bar */
  .change .hamburgerbar2 {
    opacity: 0;
  }

  /* Rotate last bar */
  .change .hamburgerbar3 {
    -webkit-transform: rotate(45deg) translate(-8px, -8px) ;
    transform: rotate(45deg) translate(-8px, -8px) ;
  }
  
}

@media only screen and (min-width: 1201px) {
  #mainmenu {
    position: static;
    top: 100px;
    right: 0px;
    color: var(--white);
    display: block;
  }
  #mainmenu ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
  }

  #mainmenu ul li {
    float: left;	
  }

  #mainmenu ul li a {
    display: block;
    color: var(--white);
    text-align: center;
    text-transform: uppercase;
    padding: 35px 10px;
    text-decoration: none;
  }
}

/* Bilderfeld */

div.picture {
  /* -webkit-mask-image: url("../images/masks/mask1.svg");  /* radial-gradient(black 50%, transparent 60%); */
  /* mask-image: url("../images/masks/mask1.png"); /* url("../images/masks/mask1.png");  radial-gradient(black 50%, transparent 60%); */
  mask-mode: luminance;
  mask-repeat: no-repeat;
  mask-size: cover;
  background-color: var(--white);
  /* background-image: url("../images/huge/hintergrund_startseite-2.jpg"); */
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  margin: 0;
  width: 100%;
  height: 38vw;
  border-style: none;
}

div.picture h1 {
  color: var(--white);
  letter-spacing: 3px;
  font-size: 3rem;
  line-height: 3.5rem;
  text-shadow: 3px 3px 4px var(--black);
}

div.picture h2 {
  color: var(--white);
  position: absolute;
  letter-spacing: 1px;
  text-shadow: 3px 3px 4px var(--black);
}

/* Slideshow als Titelbild */

div.slideshow-container {
  background-color: var(--white);
  /* background-image: url("../images/huge/hintergrund_startseite-2.jpg"); */
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  margin: 0;
  width: 100%;
  height: 38vw;
  border-style: none;
}

div.slideshow-slide {
  display: none;
  mask-mode: luminance;
  mask-repeat: no-repeat;
  mask-size: cover;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  margin: 0;
  width: 100%;
  height: 38vw;
  border-style: none;
}

/* Slideshow als Titelbild: Animation des Übergangs */
.fade {
  animation-name: fade;
  animation-duration: 1.5s;
}

@keyframes fade {
  from {opacity: .4}
  to {opacity: 1}
}

/* Ausstellungs-Banner */

div.banner {
  background-size: cover;
  width: 60vw;
  height: 25.7vw;
  position: relative;
  margin: 80px auto;
  border-style: 0;
}

div.banner-text {
  position: absolute;
  margin: 0;
  border-style: 0;
}

div.banner-link {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
  bottom: 20px;
}
  

/* Große Bilder mit welliger Begrenzung */

div.annotated-picture-container {
  width: 100vw;
  background-color: var(--white);
  position: relative;
  left: 0px;
  top: 0px;
  margin: 0;
  border-style: none;
}

div.annotated-picture {
  mask-mode: luminance;
  mask-repeat: no-repeat;
  mask-size: cover;
  width: 100vw;
  height: 43.075vw;
  background-color: var(--white);
  background-repeat: no-repeat;
  background-size: cover;
  margin: 0;
  border-style: none;
}

@media only screen and (max-width: 1400px) {
  div.picture-annotation {
    background-color: var(--lightbrown);
    opacity: 0.9;
    position: relative;
    border: 2px solid var(--brown);
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    margin: 30px auto !important;
    width: 90vw !important;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 2px 2px 7px 0px var(--black);    
  }
}

@media only screen and (min-width: 1401px) {
  div.picture-annotation {
    background-color: var(--lightbrown);
    opacity: 0.9;
    position: absolute;
    border: 2px solid var(--brown);
    margin: 0;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 2px 2px 7px 0px var(--black);
  }
}

div.picture-annotation h1 {
  font-size: 1.7rem;
  text-transform: uppercase;
  margin: 0;
}

div.picture-annotation p {
  font-size: 1rem;
}

/* Hauptfeld hell */

div.main {
  background-color: var(--white);
  position: static;
  margin: 0;
  padding: 1px;
  width: 100%;
  /* height: 38vw; */
  border: 0;
  /* border: 0; */
}

div.main-gradient {
  position: static;
  margin: 0;
  padding: 1px;
  width: 100%;
  border: 0;
}




@media only screen and (max-width: 800px) {
  div.main-picture {
    background-repeat: no-repeat;
    background-size: cover;
    background-color: var(--lightbrown);
    position: static;
    margin: 0;
    padding: 1px;
    width: 100%;
    border: 0;
    mask: url('../images/masks/mask-double-1-4.svg') 0% 0% / 100% 100% luminance, none; 
  }
}
@media only screen and (min-width: 801px) and (max-width: 1200px) {
  div.main-picture {
    background-repeat: no-repeat;
    background-size: cover;
    background-color: var(--lightbrown);
    position: static;
    margin: 0;
    padding: 1px;
    width: 100%;
    border: 0;
    mask: url('../images/masks/mask-double-1-3.svg') 0% 0% / 100% 100% luminance, none; 
  }
}
@media only screen and (min-width: 1201px) and (max-width: 1600px) {
  div.main-picture {
    background-repeat: no-repeat;
    background-size: cover;
    background-color: var(--lightbrown);
    position: static;
    margin: 0;
    padding: 1px;
    width: 100%;
    border: 0;
    mask: url('../images/masks/mask-double-1-2.svg') 0% 0% / 100% 100% luminance, none; 
  }
}
@media only screen and (min-width: 1601px) {
  div.main-picture {
    background-repeat: no-repeat;
    background-size: cover;
    background-color: var(--lightbrown);
    position: static;
    margin: 0;
    padding: 1px;
    width: 100%;
    border: 0;
    mask: url('../images/masks/mask-double-1-1.svg') 0% 0% / 100% 100% luminance, none; 
  }
}

div.main-lightbrown {
  background-color: var(--lightbrown);
  position: static;
  margin: 0;
  padding: 1px;
  width: 100%;
  border: 0;
}

div.main-brown {
  background-color: var(--brown);
  position: static;
  margin: 0;
  padding: 1px;
  width: 100%;
  border: 0;
}

div.center-text {
  margin: auto;
  text-align: center;
}

div.textblock {
  width: 75%;
  margin: 0 auto;
}

div.white-boxed {
  color: var(--white);
  margin: 0;
  border: 1px solid var(--white);
  padding: 30px 30px;
  text-shadow: 2px 2px 7px var(--black);
  box-shadow: 2px 2px 7px 0px var(--black);
  text-align: center;
}

div.brown-boxed {
  color: var(--brown);
  margin: 0;
  border: 1px solid var(--brown);
  padding: 30px 30px;
  box-shadow: 2px 2px 7px 0px var(--black);
  text-align: center;
}

/* Mehrspaltigen Text in der Flexbox anzeigen */

div.multicolumn-flex {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-evenly;
  align-items: stretch;
  border-style: none;
  width: 100%;
  margin: 30px 0;
}

div.multicolumn-flex-item {
  background-color: var(--white);
  width: 400px;
  margin: 70px;
  padding: 30px;
  border-radius: 10px;
  box-shadow: 3px 3px 20px 20px var(--lightbrown);
}

div.multicolumn-flex-item h1 {
  font-size: 1.5rem;
  margin: 0;
}

/* Künstler in der Flexbox vorstellen */

div.artist-flex {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: flex-start;
  align-content: flex-start;
  border-style: none;
  width: 75%;
  margin: 10px auto;
}

div.artist-flex-item {
  margin: 10px 20px;
  padding: 10px 20px;
  border: 0;
}

div.artist-flex-item h2 {
    margin: 0;
}


/* Mehrere Kunstwerke in der Flexbox anzeigen */

div.art-display-flex {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  border-style: none;
  margin: 30px 0;
}

div.art-display-flex-item {
  margin: 30px;
}

div.image-container {
  margin: 0;
  padding: 0;
  border-style: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}


div.image-container:hover {
    transform: scale(1.05);
  }
  
/* HTML-Formular */
input[type=text], input[type=email] {
  width: 200px;
  padding: 5px;
  margin: 0;
  border: 2px solid var(--lightbrown);
  border-radius: 5px;
  color: var(--black);
  background-color: var(--white);
  font-size: 1.2rem;
}

input[type=button], input[type=submit], input[type=reset] {
  background-color: var(--white);
  border: 2px solid var(--lightbrown);
  border-radius: 5px;
  color: var(--brown);
  padding: 5px 10px;
  font-size: 1.2rem;
  font-weight: 500;
  text-decoration: none;
  margin: 0;
  cursor: pointer;
}

/* Overlay zur Bildvorschau */
.overlay {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease;
  z-index: 9999;
}

.overlay.active {
  opacity: 1;
  visibility: visible;
}

.overlay img {
  max-width: 85%;
  max-height: 85%;
  box-shadow: 0 0 20px #000;
  transition: transform 0.3s ease;
}

.overlay img:active {
  transform: scale(0.95);
}

p#overlayCaption {
  display: block;
  color: var(--white);
  text-align: left;
  font-weight: 400;
  text-decoration: none;
  padding: 0 0;
}

/* Kundenmeinungen-Karussell */

  .carousel {
    /* position: relative; */
    width: 800px;
    margin: auto;
    max-width: 90%;
    overflow: hidden;
    background: var(--brown);
    border-radius: 10px;
    box-shadow: 2px 2px 5px 0px var(--brownshadow);
  }

  .slides {
    display: flex;
    transition: transform 0.5s ease;
  }

  .slide {
    min-width: 100%;
    padding: 20px;
    box-sizing: border-box;
    text-align: center;
    font-size: 1.2rem;
    color: var(--white);
  }

  .slide p {
    margin-bottom: 10px;
  }

  .author {
    font-weight: bold;
    color: var(--lightbrown);
  }

  .arrow {
    /* position: absolute;
    top: 50%; */
    margin: auto 10pt;
    transform: translateY(-50%);
    background: var(--brown);
    color: var(--white);
    border: none;
    font-size: 24px;
    padding: 8px 12px;
    cursor: pointer;
    border-radius: 50%;
    transition: background 0.3s;
  }

  .arrow:hover {
    background: var(--black);
  }

  .arrow.left { float: left; /* left: 10px; */ }
  .arrow.right { float: right; /* right: 10px; */ }

  .dots {
    text-align: center;
    padding: 10px;
  }
  .dot {
    display: inline-block;
    width: 8px; height: 8px;
    background: var(--lightbrown);
    border-radius: 50%;
    margin: 2px 4px;
    cursor: pointer;
  }
  .dot.active {
    width: 12px; height: 12px;
    margin: 0 4px;
  }
  
/* Bild im Polaroidrahmen */

div.polaroid {
  background: var(--white);
  border-style: none;
  border-radius: 10px;
  width: 600px;
  margin: 40px auto;
  padding: 40px 40px 10px 40px;
  box-shadow: 2px 2px 5px 0px var(--brownshadow);
  rotate: -0.5deg;
}


/* Haupt-Textauszeichnungen */

h1 {
  font-size: 3rem;
  font-weight: 600;
  color: var(--brown);
  margin: 2rem 0;
}

h1.white {
  color: var(--white);
}

h2 {
  font-size: 1.8rem;
  font-weight: 400;
  color: var(--brown);
  margin: 2rem 0;
}

h2.white {
  color: var(--white);
}

h3 {
  font-size: 1.3rem;
  font-weight: 400;
  color: var(--brown);
  text-transform: uppercase;
  margin: 2rem 0;
  letter-spacing: 0.25rem;
}

h3.white {
  color: var(--white);
}

dt {
  font-weight: 600; 
}


/* Links als Buttons */

a.button:link, a.button:visited {
  background-color: var(--lightbrown);
  color: var(--brown);
  padding: 14px 25px;
  border: 3px solid var(--brown);
  border-radius: 10px;
  box-shadow: 2px 2px 5px 0px var(--brownshadow);
  text-align: center;
  text-decoration: none;
  display: inline-block;
}

a.transp-button:link, a.transp-button:visited {
  padding: 14px 25px;
  border: 3px solid;
  border-radius: 10px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
}

a.button:hover span.invisible, a.button:active span.invisible {
  display: inline;
}

/* Seitentitel */

div.pagetitle {
  margin: 50pt auto 80pt auto;
  width: 60vw;
  text-align: center;
}

p.emph {
  font-weight: 600;	
}

p.brown {
  color: var(--brown);
}

p.white {
  color: var(--white);
}

p.large {
  font-size: 1.2rem;	
}

span.invisible {
  display: none;
}

p.caption {
  font-weight: 300;
  color: var(--brown);
  text-align: left;
}

p.handwritten {
  font-family: "NothingYouCouldDo";
  color: var(--black);
  font-size: 1.6rem;
}

div.spacer {
  border: 0;
  margin: 0;
  padding: 0;
  width: 100%;
}


/* Fußzeile */

div#footer {
  background: var(--black) border-box;
  position: static;
  margin: 0;
  width: 100%;
  height: calc(100px + 100px * 1px / 100vw);
  border-style: none;
}

p.footertext {
  color: var(--white);
  padding: 30px 10px 30px 10vw;
  margin: 0;
}

p.footertext a {
  color: var(--white);
  text-decoration: none;
}


