/* Reset */
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td {
    padding: 0;
    margin: 0;
}

*,
::before,
::after {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.clearfix::after {
    content: "";
    clear: both;
    display: table;
}

img {
    max-width: 100%;
    height: auto;
}

video,
.container {
    max-width: 100%;
    height: auto;
}

/* Custom CSS */

.menu-filter h3,
.menu-filter img {
    cursor: pointer;
}

img.menu-hide-click {
    transition: 0.3s ease-out;
}

img.menu-hide-click.rotated {
    transform: rotate(180deg);
    transition: 0.3s ease-out;
}

/* Buchzeichen */
#buchzeichen {
    position: fixed;
    width: 80px;
    margin-left: 40px;
    z-index: 1000;
    cursor: pointer;
}

.logo {
    position: fixed;
    width: 80px;
    z-index: 999;
    top: 0;
}

.logo-hover {
    position: fixed;
    width: 80px;
    opacity: 0;
    transition: 0.3s ease-out;
    z-index: 1000;
}

.logo-hover:hover {
    opacity: 1;
    transition: 0.3s ease-out;
}

/* Navigation */
#navigation {
    position: fixed;
    width: 350px;
    height: 100vh;
    background-color: #F15A24;
    padding: 10px 20px 20px 20px;
    color: #ffffff;
    left: -350px;
}

.titel {
    margin: 35px 0px 0px 95px;
    padding-bottom: 40px;
}

.menu-filter-suche img {
    position: absolute;
    width: 25px;
    right: 30px;
    margin-top: 10px;
    z-index: 1000;
}

.menu-filter img {
    width: 20px;
    margin-left: 20px;
}

img.menu-hide-click {
    transform: translateY(3px);
}

.menu-filter h3 {
    display: inline;
}

.menu-filter input {
    height: 40px;
    width: 100%;
    border: none;
    border-radius: 5px;
}

.menu-filter-filter button {
    height: 40px;
    padding: 0px 20px 0px 20px;
    border: none;
    border-radius: 5px;
    background-color: #F58C66;
    color: #F15A24;
    font-size: 20px;
    margin: 0px 8px 10px 0px;
    cursor: pointer;
    transition: 0.3s ease-out;
}

.menu-filter-filter button:hover {
    background-color: #ffffff;
    transition: 0.3s ease-out;
}

.menu-sprache img {
    height: 40px;
    border-radius: 5px;
    cursor: pointer;
    margin-right: 10px;
}

.menu-sprache img.inactive {
    opacity: 0.3;
    transition: 0.3s ease-out;
}

.menu-sprache img:hover {
    opacity: 1;
    transition: 0.3s ease-out;
}

.menu-sprache {
    position: fixed;
    bottom: 0;
    margin-bottom: 20px;
}

/* Range Slider */
.d3-slider-handle#handle-two {
    transform: translateX(-40px);
}

.d3-slider-handle {
    cursor: ew-resize;
}

/* Content Layout */
/* Grid */
#content {    
    line-height: 0;       
     -webkit-column-count: 3;    
     -webkit-column-gap: 20px;    
     -moz-column-count: 3;
     -moz-column-gap: 20px;
      column-count: 3;    
      column-gap: 20px;   
 }  

 @media only screen and (min-width: 1700px) {
    #content {    
        line-height: 0;       
         -webkit-column-count: 4;    
         -webkit-column-gap: 20px;    
         -moz-column-count: 4;
         -moz-column-gap: 20px;
          column-count: 4;    
          column-gap: 20px;   
     }  
  }

 @media only screen and (max-width: 900px) {
    #content {    
        line-height: 0;       
         -webkit-column-count: 2;    
         -webkit-column-gap: 20px;    
         -moz-column-count: 2;
         -moz-column-gap: 20px;
          column-count: 2;    
          column-gap: 20px;   
     }  
  }

  @media only screen and (max-width: 600px) {
    #content {    
        line-height: 0;       
         -webkit-column-count: 1;    
         -webkit-column-gap: 20px;    
         -moz-column-count: 1;
         -moz-column-gap: 20px;
          column-count: 1;    
          column-gap: 20px;   
     }  
  }

 #content img {    
    width: 100%;    
    height: auto;
    margin-bottom: 20px;
 }  
 #content{    
    display:inline-block;    
    margin-right: auto;    
    margin-left: auto;  
    padding: 20px 20px 20px 20px;
 }
  
 .content-wide {
    padding-left: 370px !important;
    transition: 0.5s ease-out;
  }
  
  .content-narrow {
    padding-left: 20px !important;
    transition: 0.5s ease-out;
  }


  /* Sammlungsslider */
  .mySwiper {
    height: 60vh;
    transition: padding-top 0.5s ease-out;
  }
  

  .swiper-container {
    width: 100%;
    height: 100%;
  }

  .swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  .swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .swiper-button-next, .swiper-button-prev {
    top: var(--swiper-navigation-top-offset, 32vh) !important;
    color: #000000!important;
    background-color: #000000;
    width: 40px !important;
    height: 40px !important;
    border-radius: 5px;
    margin: 10px;
    transition: 0.5s ease-out;
  }

  .swiper-button-next.fullscreen, .swiper-button-prev.fullscreen {
    top: var(--swiper-navigation-top-offset, 52vh) !important;
    transition: 0.5s ease-out;
  }

  .swiper-button-prev::after {
    content: '' !important;
    display: block;
    width: 25px;
    height: 25px;
    background-image: url('assets/icon-prev.svg');
    background-size: contain;
    background-repeat: no-repeat;
  }
  
  .swiper-button-next::after {
    content: '' !important;
    display: block;
    width: 25px;
    height: 25px;
    background-image: url('assets/icon-next.svg');
    background-size: contain;
    background-repeat: no-repeat;
  }
  
  html, body {
    max-width: 100%;
    overflow-x: hidden;
}

#sammlungsslider {
    padding: 20px;
    transition: padding-top 0.5s ease-out;
}


/* Slider Text */
#objektbeschreibung {
    padding: 15px 20px 20px 20px;
    transition: opacity 0.3s ease-out;
  }

.kurzfakten {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 15px;
    margin-bottom: 20px;
}

.kurzfakten-item {
    display: flex;
    flex-direction: column;
    justify-content: left;
    align-items: left;
    text-align: left;
}

#objektbeschreibung h2 {
    font-weight: 800;
}

/* Swiper Buttons */

.mySwiper button {
    position: absolute;
    width: 40px;
    height: 40px;
    margin: 20px;
    z-index: 1000;
    background-color: #00000035;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: 0.3s;
}

.mySwiper button:hover {
    background-color: #000000;
    transition: 0.3s;
}

.button-close {
    top: 0;
    right: 0;
}
.button-close::after {
    content: '';
    display: block;
    width: 25px;
    height: 25px;
    background-image: url('assets/icon-close.svg');
    background-size: contain;
    background-repeat: no-repeat;
  }

.button-fullscreen {
    bottom: 35vh;
    right: 0;
}
.button-fullscreen::after {
    content: '';
    display: block;
    width: 25px;
    height: 25px;
    background-image: url('assets/icon-fullscreen.svg');
    background-size: contain;
    background-repeat: no-repeat;
  }

.button-download {
    bottom: 35vh;
    right: 50px;
}
.button-download::after {
    content: '';
    display: block;
    width: 25px;
    height: 25px;
    background-image: url('assets/icon-download.svg');
    background-size: contain;
    background-repeat: no-repeat;
  }

  .mySwiper {
    height: 60vh;
    transition: height 0.5s ease-out;
  }
  
  .mySwiper.fullscreen {
    height: 100vh;
    transition: height 0.5s ease-out;
  }

  #objektbeschreibung.hidden {
    opacity: 0;
    transition: opacity 0.3s ease-out 0.5s;
  }

  #objektbeschreibung {
    display: block;
    transition-delay: 0.5s;
  }
  
  .mySwiper.fullscreen #objektbeschreibung {
    display: none;
  }
