/* template.css, kaiserweg.at, gerald petter, oktober 2017 */

/* Farben
  
  white: rgb(255, 255, 255); background teaser
  lighter beige: rgb(251, 250, 246); background main
  light beige: rgb(246, 244, 236); background header
  beige: rgb(231, 228, 211); lines
  light blue: rgb(100, 123, 148); menu hover
  blue: rgb(70, 93, 118); 
  dark blue: rgb(44, 59, 75); border top

*/

/* body ========================================================================================================================== */
body {
  font-family: 'Lato', sans-serif;
  font-weight: 400;
  font-size: 1em;
  margin: 0;
  padding: 0;
  position: relative;
  min-width: 280px;
  background-color: rgb(251, 250, 246);
}
  
small {
  font-size: 0.8em;
  font-weight: 400;
}

strong {
  color: rgb(44, 59, 75);
}

/* Header ========================================================================================================================== */
header {
  position: relative;
  padding: 36px 0 0px;
}
  @media screen and (min-width: 1000px) {
    header {
      padding-top: 1px;
      margin-top: -1px;
    }
  }
  
header h1 {
  position: absolute;
}

/* Google Translate Element */
#google_translate_element {
  position: absolute;
  top: 5px;
  left: 0;
  z-index: 11;
}
  @media screen and (min-width: 1000px) {
    #google_translate_element {
      height: 35px;
      top: 0;
      text-align: right;
      padding: 5px 2% 0 0;
      width: 100%;
      background-color: rgb(44, 59, 75);
    }
  }
    @media screen and (min-width: 1200px) {
      #google_translate_element {
        padding: 5px 5% 0 0;
      }
    }
      @media screen and (min-width: 1650px) {
        #google_translate_element {
          padding: 5px 12% 0 0;
        }
      }
    
.goog-te-gadget-simple {
  background-color: transparent !important;
  border-left: none !important;
  border: 1px solid rgb(44, 59, 75) !important;
}
  @media screen and (min-width: 1000px) {
    .goog-te-gadget-simple {
      border: 1px solid rgb(246, 244, 236) !important;
    }
  }
  
.goog-te-gadget-simple .goog-te-menu-value {
  color: rgb(44, 59, 75) !important;
}
  @media screen and (min-width: 1000px) {
    .goog-te-gadget-simple .goog-te-menu-value {
      color: rgb(246, 244, 236) !important;
    }
  }
  
.goog-te-gadget-simple .goog-te-menu-value span {
  color: rgb(44, 59, 75) !important;
}
  @media screen and (min-width: 1000px) {
    .goog-te-gadget-simple .goog-te-menu-value span {
      color: rgb(246, 244, 236) !important;
    }
  }
  
.goog-te-gadget-simple .goog-te-menu-value span:nth-of-type(2) {
  border-left: 1px solid rgb(44, 59, 75) !important;
}
  @media screen and (min-width: 1000px) {
    .goog-te-gadget-simple .goog-te-menu-value span:nth-of-type(2) {
      border-left: 1px solid rgb(246, 244, 236) !important;
    }
  }

#logo-menu-anfrage {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background-color: rgb(246, 244, 236);
  z-index: 10;
  padding: 40px 2% 0;
  height: 194px;
  transition: all 0.5s ease-in-out;
}
  @media screen and (min-width: 1000px) {
    #logo-menu-anfrage {
      padding: 0;
      height: 166px;
    }
  }
      
#logo-menu-anfrage.top {
  position: fixed;
  box-shadow: 0px 0px 5px 0px rgba(20, 20, 20, 0.6);
  height: 46px;
  transition: all 0.5s ease-in-out;
}

/* Logo */
#logo {
  position: absolute;
  top: 40px;
  left: 50%;
  margin-left: -125px;
  width: 251px;
  transition: all 0.5s linear;
}
  @media screen and (min-width: 1000px) {
    #logo {
      top: 56px;
      left: 2%;
      margin-left: 0;
      width: 18%;
      max-width: 251px;
    }
  }
    @media screen and (min-width: 1200px) {
      #logo {
        left: 5%;
      }
    }
      @media screen and (min-width: 1650px) {
        #logo {
          left: 12%;
        }
      }
  
.top #logo {
  top: 7px;
  left: 2%;
  margin-left: 0;
  width: 100px;
}
      @media screen and (min-width: 1200px) {
        .top #logo {
          left: 5%;
        }
      }
        @media screen and (min-width: 1650px) {
          .top #logo {
            left: 12%;
          }
        }
    
#logo img {
  width: 100%;
  transition: all 0.5s linear;
}

.top #logo img {
  width: 100px;
}

/* Hauptmenü */
#menu-main h2 {
  display: none;
}

#menu-main {
  position: absolute;
  z-index: 12;
  top: 1px;
  right: 2%;
  transition: all 0.5s ease-in-out;
}
  @media screen and (min-width: 1000px) {
    #menu-main {
      width: 600px;
      text-align: center;
      right: auto;
      left: 50%;
      top: 50px;
      margin-left: -280px;
    }
  }
    @media screen and (min-width: 1200px) {
      #menu-main {
        width: 650px;
        top: 60px;
      }
    }
    
.top #menu-main {
  top: 6px;
}
  @media screen and (min-width: 1000px) {
    .top #menu-main {
      top: 14px;
      width: 480px;
      margin-left: -320px;
    }
  }
  
#menu-main > a  {
  border-top: 4px solid rgb(44, 59, 75); 
  border-bottom: 4px solid rgb(44, 59, 75); 
}

#menu-main > a:hover  {
  border-top: 4px solid rgb(70, 93, 118); 
  border-bottom: 4px solid rgb(70, 93, 118); 
}

#menu-main:target > a::before, #menu-main > a::after {
  background-color: rgb(44, 59, 75);   
}

#menu-main > a:hover::before, #menu-main > a:hover::after {
  background-color: rgb(70, 93, 118); 
}

#menu-main > ul {
  background-color: rgb(246, 244, 236);
}
  @media screen and (min-width: 1000px) {
    #menu-main > ul {
      background-color: transparent;
      display: flex !Important;
    }
  }
  
.menu-main > li {
  border-bottom: 1px solid rgb(231, 228, 211); 
  color: rgb(44, 59, 75);
  padding: 2px 16px;
}
  @media screen and (min-width: 1000px) {
    .menu-main > li {
      border: none;
      padding: 0 6px 0 10px;
      font-size: 1.1em;
      white-space: normal;
      border-left: 2px solid rgb(231, 228, 211);
      flex-basis: 25%;
      transition: all 0.5s linear;
    }
    .top .menu-main > li {
      flex-basis: auto;
      padding: 0 20px 0 10px;
      height: 20px;
      overflow: hidden;
      white-space: nowrap;
      font-size: 0.9em;
    }
    .menu-main > li.current {
      border-left: 2px solid rgb(44, 59, 75);
    }
  }
  
.menu-main > li:first-child {
  border-top: 1px solid rgb(231, 228, 211); 
}
  @media screen and (min-width: 1000px) {
    .menu-main > li:first-child {
      border-top: none;
      display: none;
    }
  }
  
.menu-main > li a {
  color: rgb(44, 59, 75);
}
  @media screen and (min-width: 1000px) {
    .menu-main > li a {
      width: auto;
    }
    .menu-main > li:last-of-type a {
      padding-right: 0;
    }
  }
  
.menu-main > li a:hover {
  color: rgb(100, 123, 148);
  text-decoration: none;
}

.menu-main li span {
  font-size: 0.7em;
  line-height: 1.2em;
  color: rgb(70, 93, 118);
  margin-top: 6px;
  display: none;
}
  @media screen and (min-width: 1000px) {
    .menu-main li span {
      display: block;
    }
    .top .menu-main li span {
      color: transparent;
    }
  }
  
/* Anfrage */
#anfrage {
  position: absolute;
  top: 140px;
  left: 50%;
  margin-left: -140px;
  text-align: center;
  z-index: 10;
  width: 280px;
  transition: all 0.5s ease-in-out;
}
  @media screen and (min-width: 1000px) {
    #anfrage {
      top: 60px;
      left: auto;
      right: 2%;
    }
  }
    @media screen and (min-width: 1200px) {
      #anfrage {
        right: 5%;
      }
    }
      @media screen and (min-width: 1650px) {
        #anfrage {
          right: 12%;
        }
      }
  
.top #anfrage {
  top: 10px;
  display: none;
}
  @media screen and (min-width: 1000px) {
    .top #anfrage {
      top: -3px;
      width: 300px;
      display: block;
    }
  }
  
#anfrage > a {
  display: inline-block;
  border: 1px solid rgb(70, 93, 118); 
  color: rgb(70, 93, 118); 
  background-color: rgb(251, 250, 246);
  text-transform: uppercase;
  margin: 0 2%;
  padding: 3px 3px;
  width: 45%;
  max-width: 145px;
  transition: color 0.5s ease-in-out, background-color 0.5s ease-in-out;
}
  @media screen and (min-width: 1000px) {
    #anfrage > a {
      display: block;
      width: auto;
      text-align: center;
      margin: 0 0 0 auto;
    }
    .top #anfrage > a {
      display: inline-block;
      margin: 0 0 0 10px;
      width: 135px;
    }
  }
  
@media screen and (min-width: 1000px) {
  #anfrage > a:nth-of-type(2) {
    margin-top: 12px;
  }
}

#anfrage > a:hover {
  color: rgb(44, 59, 75);
  background-color: rgb(231, 228, 211);
  transition: color 0.5s ease-in-out, background-color 0.5s ease-in-out;
  text-decoration: none;
}

/* Slideshow, Mainimg */
#slideshow, #mainimg {
  position: relative;
  overflow: hidden;
  background: linear-gradient(to bottom, rgb(246, 244, 236) 0%, rgb(246, 244, 236) 80%, rgb(251, 250, 246) 80%, rgb(251, 250, 246) 100%);
  margin-top: 158px;
}
  @media screen and (min-width: 1494px) {
    #slideshow, #mainimg {
      padding: 0 5%;
    }
  }
    @media screen and (min-width: 1650px) {
      #slideshow, #mainimg {
        padding: 0 12%;
      }
    }
  
#slider img, #mainimg img {
  object-fit: cover;
  height: 250px !important;
  width: 100%;
}
  @media screen and (min-width: 600px) {
    #slider img, #mainimg img {
      object-fit: fill;
      height: auto !important;
      max-width: 1494px;
    }
  }
    @media screen and (min-width: 1920px) {
      #slider img, #mainimg img {
        max-width: none !important;
      }
    }
  
#slider {
  position: relative;
}
  @media screen and (min-width: 1920px) {
    #slider {
      max-width: none !important;
    }
  }
  
ul#slider p.caption, #mainimg figcaption {
  display: none;
  text-align: right;
}
  @media screen and (min-width: 600px) {
    ul#slider p.caption, #mainimg figcaption {
      display: block;
      font-family: 'Josefin Sans', sans-serif;
      font-style: italic;
      position: absolute;
      right: 2%;
      bottom: 35px;
      width: 96%;
      color: rgb(231, 228, 211);
      text-shadow: 1px 1px 1px rgb(60, 60, 60);
      font-size: 1.2em;
    }
  }
    @media screen and (min-width: 1000px) {
      ul#slider p.caption, #mainimg figcaption {
        font-size: 1.9em;
      }
    }
      @media screen and (min-width: 1200px) {
        ul#slider p.caption, #mainimg figcaption {
          right: 5%;
        }
      }
        @media screen and (min-width: 1494px) {
          ul#slider p.caption, #mainimg figcaption {
            right: 60px;
          }
          #mainimg figcaption {
            padding-right: 5%;
          }
        }
          @media screen and (min-width: 1650px) {
            ul#slider p.caption, #mainimg figcaption {
              font-size: 2.2em;
              bottom: 45px;
            }
            #mainimg figcaption {
              padding-right: 12%;
            }
          }

ul.rslides_tabs {
  display: none;
}
  @media screen and (min-width: 600px) {
    ul.rslides_tabs {
      display: block;
      position: absolute;
      right: 2%;
      bottom: 12px;
      z-index: 2;
    }
  }
    @media screen and (min-width: 1000px) {
      ul.rslides_tabs {
      }
    }
      @media screen and (min-width: 1200px) {
        ul.rslides_tabs {
          right: 5%;
        }
      }
        @media screen and (min-width: 1494px) {
          ul.rslides_tabs {
            padding-right: 60px;
          }
        }
          @media screen and (min-width: 1650px) {
            ul.rslides_tabs {
              right: 12%;
              bottom: 20px;
            }
          }

ul.rslides_tabs li {
  display: inline-block;
  list-style: none;
  background-color: rgba(251, 250, 246, 0.9);
  border-radius: 50%;
  height: 8px;
  width: 8px;
  font-size: 12px;
  line-height: 1em;
  margin: 0 3px;
}
  @media screen and (min-width: 1000px) {
    ul.rslides_tabs li {
      height: 12px;
      width: 12px;
    }
  }
  
ul.rslides_tabs li:first-child {
  margin-left: 0;
}

ul.rslides_tabs li a {
  color: transparent;
  text-decoration: none;
  width: 100%;
  height: 100%;
  display: inline-block;
}

ul.rslides_tabs li.rslides_here {
  background-color: rgb(70, 93, 118);
}

/* Main ========================================================================================================================== */
main {
  margin: 0.5em 0;
  text-align: center;
}
  @media screen and (min-width: 1200px) {
    main {
      margin: 1em 0;
      font-size: 1.2em;
    }
  }
  
article {
  color: rgb(77, 77, 77);
  font-size: 1.1em;
  padding: 0 0 1.4em;
}

section, .section {
  margin: 0 2% 0;
  padding: 0 0 0.8em;
}
  @media screen and (min-width: 1000px) {
    section, .section {
      margin: 0 2% 0;
      padding: 1.4em 0 1em;
    }
  }
    @media screen and (min-width: 1200px) {
      section, .section {
        margin: 0 5%;
      }
    }
        @media screen and (min-width: 1650px) {
          section, .section {
            margin: 0 12%;
          }
        }
        
@media screen and (min-width: 1200px) {
  .indent {
    padding: 0 5% 1.4em;
  }
}
  @media screen and (min-width: 1650px) {
    .indent {
      padding: 0 9% 1.4em;
    }
  }
  
.border-top {
  border-top: 2px solid rgb(231, 228, 211);
}

.border-top:first-of-type {
  border-top: 4px solid rgb(231, 228, 211);
}

section.border-top, .section.border-top {
  padding-top: 1.4em;
}

.border-bottom {
  border-bottom: 2px solid rgb(231, 228, 211);
}

.teaser {
  padding: 1.4em 0 1em;
  margin: 0 2%;
}

.teaser.left, .teaser.right {
  border: none;
  padding: 0 0 0.5em;
  margin: 1.4em 2% 1.4em;
  background-color: rgb(255, 255, 255);
}
  @media screen and (min-width: 1000px) {
    .teaser.left, .teaser.right {
      display: inline-block;
      width: 45.8%;
      vertical-align: top;
      text-align: left;
      margin-top: 1em;
    }
    .teaser.horizontal {
      text-align: left;
    }
  }
    @media screen and (min-width: 1200px) {
      .teaser.left, .teaser.right {
        width: 41.8%;
      }
      .teaser.left {
        margin: 1em 3% 1em 5%;
      }
      .teaser.right {
        margin: 1em 5% 1em 3%;
      }
    }
      @media screen and (min-width: 1650px) {
        .teaser.left, .teaser.right {
          width: 34.8%;
        }
        .teaser.left {
          margin: 1em 3% 1em 12%;
        }
        .teaser.right {
          margin: 1em 12% 1em 3%;
        }
      }
      
@media screen and (min-width: 1000px) {
  .teaser.horizontal {
    text-align: left;
    padding: 1.8em 0;
  }
  @supports (display:grid) {
    .teaser.horizontal {
      display: grid;
      grid-template-columns: repeat(2, 50%);
      grid-gap: 0;
      align-items: center;
    }
  }
}
  @media screen and (min-width: 1200px) {
    .teaser.horizontal {
      text-align: left;
      padding: 1.8em 5%;
      margin: 0 5%;
    }
  }
    @media screen and (min-width: 1650px) {
      .teaser.horizontal {
        text-align: left;
        padding: 1.8em 5%;
        margin: 0 12%;
      }
    }
  
@media screen and (min-width: 1000px) {
  .teaser.horizontal div {
    display: inline-block;
    width: 49%;
    padding: 30px 1em 0px;
    vertical-align: top;
  }
  @supports (display:grid) {
    .teaser.horizontal div {
      width: auto;
      padding: 2em 1em 0;
      background-color: rgb(255, 255, 255);
      align-self: stretch;
    }
  }
}

/* Überschriften */
article h2 {
  font-family: 'Josefin Sans', sans-serif;
  font-style: italic;
  font-size: 1.7em;
  line-height: 1.2em;
  font-weight: 600;
  text-shadow: 0px 0px 5px rgba(60, 60, 60, 0.2);
  color: rgb(44, 59, 75);
  margin: 0 2% 0.5em;
}

article h3 {
  font-family: 'Lato', sans-serif;
  color: rgb(44, 59, 75);
  text-transform: uppercase;
  font-size: 1.2em;
  font-weight: 600;
  margin: 0 0 0.5em;
}

.teaser h3 {
  padding: 0.2em 20px 0.2em
}

article h3 a {
  color: rgb(44, 59, 75);
  border-bottom: 2px solid rgb(231, 228, 211);
  text-decoration: none;
}

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

article h4 {
  font-weight: 600;
  font-size: 1.1em;
  margin: 0.3em 0 .2em;
}

/* Absätze, Iframe  */
article p {
  margin: 0 0 0.6em;
}

p.border-bottom {
  padding-bottom: 1.4em;
  margin-bottom: 0;
}
  
.teaser p {
  margin: 0 20px 0.6em;
  hyphens: auto;
}
  
/* Links */
article a {
  text-decoration: underline;
  color: rgb(70, 93, 118);
}

article a:hover {
  color: rgb(44, 59, 75);
}

/* Listen */
article ul {
  margin: 0 0 0.6em;
}

#haftungsausschluss ul {
  list-style: none;
}

article li {
  margin: 0 0px 0.3em;
}

.column-3 {
  text-align: left;
  padding-left: 30px;
}
  @media screen and (min-width: 1000px) {
    .column-3 {
      column-count: 3;
      column-gap: 3em;
    }
  }
  
/* Bilder  */
article figure {
  position: relative;
  margin-bottom: 0.5em;
}

.teaser figure::after { /* Dreieck */
  content: "";
  display: block;
  height: 0px;
  width: 0px;
  border-width: 14px;
  border-style: solid;
  border-color: transparent transparent rgb(255, 255, 255) transparent;
  position: absolute;
  bottom: 0px;
  left: -14px;
  margin-left: 50%;
}
  @media screen and (min-width: 1000px) {
    .teaser figure::after {
      margin-left: 0;
      left: 20px;
    }
    .teaser.horizontal figure::after {
      top: 50px;
      left: auto;
      right: 0;
      border-color: transparent rgb(255, 255, 255) transparent transparent;
    }
  }
  
@media screen and (min-width: 1000px) {
  .teaser.horizontal figure {
    display: inline-block;
    width: 49%;
  }
  @supports (display:grid) {
    .teaser.horizontal figure {
      width: auto;
      margin-bottom: 0;
    }
  }
}

.teaser img {
  width: 100%;
  max-width: 700px;
}

.img__full img {
  width: 100%;
  object-fit: cover;
  height: 150px !important;
  margin-bottom: 1.4em;
}
  @media screen and (min-width: 600px) {
    .img__full img {
      object-fit: fill;
      height: auto !important;
    }
  }
  
.teaser figcaption {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 1s ease-in-out;
  padding: 5%;
  text-align: center;
}

.teaser figure:hover figcaption {
  background-color: rgba(246, 244, 236, 0.9);
}

.teaser figcaption a {
  display: block;
  border: 1px solid transparent; 
  color: transparent; 
  background-color: transparent;
  text-transform: uppercase;
  padding: 10px;
  width: 160px;
  transition: all 1s ease-in-out;
  font-size: 0.9em;
  text-decoration: none;
}

.teaser figure:hover figcaption a {
  border: 1px solid rgb(70, 93, 118); 
  color: rgb(70, 93, 118); 
  background-color: rgb(251, 250, 246);
}

.teaser figure figcaption a:hover {
  color: rgb(44, 59, 75);
  background-color: rgb(231, 228, 211);
  border: 1px solid rgb(44, 59, 75); 
  text-decoration: none;
}

.images {
  margin: 0.5em 0;
  clear: both;
}

.images li {
  margin: 20px 0;
  padding: 0;
  background-color: rgba(255, 255, 255, 1);
  list-style: none;
}
  @media screen and (min-width: 800px) {
    .images {
      display: -webkit-box; 
      display: -ms-flexbox;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 0 0 0;
    }
    .images li {
      width: auto;
      float: none;
      flex-basis: 32%;
    }
  }
    @media screen and (min-width: 1400px) {
      .images {
        font-size: 0.9em;
      }
    }
      
.images img {
  width: 100%;
  vertical-align: bottom;
}

.images figcaption {
  padding: 0.4em 0 0em;
  font-size: 0.8em;
}
  @media screen and (min-width: 1000px) {
    .images figcaption {
      padding-right: 1em;
      text-align: right;
    }
  }
  
.images a::after {
  content: url('../images/all/loupe.png');
  position: absolute;
  top: 3px;
  left: 3px;
  opacity: 0.3;
}

.images a:hover::after {
  opacity: 1;
}

/* Footer ========================================================================================================================== */
footer {
  background-color: rgb(44, 59, 75);
  padding: 1.4em 2%;
  color: rgb(255, 255, 255);
  text-align: center;
}
  @media screen and (min-width: 1000px) {
    @supports (display:grid) {
      footer {
        display: grid;
        grid-template-columns: repeat(2, 50%);
        grid-gap: 0;
        align-items: center;
      }
    }
  }
    @media screen and (min-width: 1200px) {
      footer {
        padding: 1.4em 5%;
      }
    }
      @media screen and (min-width: 1650px) {
        footer {
          padding: 1.4em 12%;
        }
      }
    
#logo--bottom {
  margin-bottom: 1.4em;
}

footer p {
  margin: 0 0 0.6em;
}

address {
  margin: 0 0 1.4em;
}
  @media screen and (min-width: 1000px) {
    address {
      display: inline-block;
      width: 48%;
      margin: 0;
    }
    @supports (display:grid) {
      address {
        width: auto;
        justify-self: start;
      }
    }
  }
  
@media screen and (min-width: 1000px) {
  #sommercard {
    display: inline-block;
    width: 48%;
    padding-top: 15px;
  }
  @supports (display:grid) {
    #sommercard {
      width: auto;
      padding-top: 0;
      justify-self: end;
    }
  }
}
  
#sommercard img {
  width: 100%;
  max-width: 300px;
}

/* body ========================================================================================================================== */

/* Arrow Up */
.arrow-up {
  border-color: transparent transparent rgb(70, 93, 118) transparent;
}

.arrow-up:hover {
  border-color: transparent transparent rgb(44, 59, 75) transparent;
}

.arrow-up::before {
  border: 6px solid rgb(70, 93, 118);
}

.arrow-up:hover::before {
  border: 6px solid rgb(44, 59, 75);
}

.arrow-up::after {
  background-color: rgb(70, 93, 118);
}

.arrow-up:hover::after {
  background-color: rgb(44, 59, 75);
}
