div.praxisservice-engine {
  div.filters {
    margin: 1rem;
    line-height:2;

    .filter-btn {
      user-select: none;
      padding: 0.2rem;
      margin: 0 0.3rem;
      border: 1px solid lightgray;
      border-radius: 0.2rem;
      background-color: whitesmoke;
      display: inline-block;
      line-height: 1;

      &:hover {
        cursor: pointer;
      }
    }
  
    .filter-btn.active {
      background-color: #cacaca;
    }
  }
  div.available-articles {
    li.article-data {
      display: none;
    }
    
    li.article-data.show {
      display: table-row;
    }

    ul.articles-list{
      padding: 0;
      margin-bottom: 2rem;
      li{
        list-style: none;
        padding: 0.5rem;
      }
      .article{
        display: flex;
        font-size:1rem !important;
        display:flex;
        div.order-form {
          display: flex;
          flex-direction: column;
          align-items: center;
          margin-right: 1rem;
          padding: 0 !important;

          div.cart-and-quantity {
            display: flex;
            align-items: center;
            font-size: 0.75rem;
            font-weight: bold;
            padding-bottom: 0.6rem;

            svg {
              width: 1rem;
              height: 1rem;
              display:inline-block;
              fill:#56406b;
              margin-right: 0.3rem;
            }
          }

          form {
            justify-content: flex-start;
            fieldset {
              padding: 0;
            }

            input[type="submit"] {
              width: 6rem;
              cursor: pointer;
            }
          }
        }

        a.img{
          max-width:10%;
          img{
            max-width: 100%;
            max-height: 100%;
            border:1px solid #cacaca
          }
          &:hover{
            img{
              border-color:#606062;
            }
          }
        }
        div.title{
          flex-grow:1;
          padding: 0 2% !important;
          a{
            text-decoration:none;
            color:#5c6bb2;
            font-weight:bold;
            &:hover{
              text-decoration: underline;
            }
          }
          span.title{
            text-decoration:none;
            color:black;
            font-weight:bold;
          }
        }        
        form{
          fieldset{
            display:flex;
            flex-direction:column;
            input{
              padding: .3rem;
              width: 100%;
              display: block;
              box-sizing: border-box;
            }
          }
        }
        @media (max-width: 700px) {
          form{
            max-width:inherit;
            width:16vw;
            fieldset{
              input{
                font-size: 2.4vw;
              }
            }
          }
        }
      }
      &.number {
          text-align: right;
      }
      &.add_to_cart{
        text-align:center;
        font-size:1rem !important;
      }
      button {
        width: 3rem;
      }
      form {
          display: flex;
          justify-content: center;
          align-items: center;
          fieldset {
            border: none;
            margin:0;
            padding:0 0.3rem;
            input{
              padding: 0.3rem;
            }
          }
      }
      
    }
    li:nth-child(2n of .show){
        background-color: #e9e8e9;
    }
    select {
        padding: 0.25rem;
        width: 5rem;
      }

  }
  .sr-only{
    height: 0;
    overflow: hidden;
    margin: 0;
    padding: 0;
    font-size: 0;
    line-height: 0;
  }
  form {
    fieldset {
      p {
        display: flex;
        flex-direction: column;
      }
    }
  }
  
  div.articles-checkout {
    display: flex;
    flex-direction: column;
    padding: 1rem !important;
  
    div.article-data-controls turbo-frame {
      display: flex;
      width: 100%;
      justify-content: space-between;
  
      div.controls {
        display: flex;
        flex: 0;
        padding-top: 0  !important;

        a {
          text-decoration: none;
        }
      }
  
      div.article-quantity-form {
        display: flex;
        align-items: center;
  
        form {
          display: flex;
          margin-right: 1rem;
  
          fieldset {
            padding: 0;
            margin: 0;
            gap: 0.3rem;
          }
        }
      }
    }
  }
  
  div.pop-over {
    background-color: rgba(161, 161, 161, 0.493);
    position: fixed;
    width: 100%;
    height: 100vh;
    overflow-y: hidden;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
  
    div.container {
      width: 60vw;
      height: 60vh;
      background-color: #fff;
      display: flex;
      justify-content: center;
      align-items: center;
      position: relative;
  
      div.close-button {
        position: absolute;
        top: 0;
        right: 1rem;
        font-size: 45px;
        font-weight: 600;
        display: inline-block;
        transform: rotate(45deg);
        user-select: none;
        cursor: pointer;
        
        a {
          text-decoration: none;
          color: black;
        }
      }

      button.slider {
        background: none;
        border: none;
        text-decoration: none;
        color: #333;
        font-size: 3rem;
        font-weight: bold;
        position: absolute;
        top: 40%;
  
        &:hover {
          color: #5a5a5a;
        }
  
        &.previous {
          left: 0;
          margin-left: 1rem;
        }
  
        &.next {
          right: 0;
          margin-right: 1rem;
        }
      }
  
      img {
        max-width: 55vw;
        max-height: 55vh;
      }
  
      div.additional {
        position: absolute;
        bottom: 0;
        width: 100%;
        height: fit-content;
        text-align: right;
        
        display:flex;

        span,a{
          padding: 0.3rem 1rem
        }
        a{
          flex-grow: 1;
          text-decoration:none;
          color:black;
          font-weight:bold;
          &:hover{
            text-decoration: underline;
          }
        }
      }
    }
    @media only screen and (max-width: 700px) {
      padding:0 !important;
      margin:0 !important;
  
      div.container {
        width: 90vw;
        height: 90vh;
        img{
          max-width:80vw;
          max-height: 80vh;
        }
        div.additional {
          display:block;
          text-align: left;
          span, a{
            text-align:left;
            padding:0.3rem;
            font-size: 3vw;
          }
          span{
            padding-right: 0;
          }
          a{
            float: right;
          }
        }
        button.slider {
          &.previous {
            margin-left: -1vw;
          }
    
          &.next {
            margin-right: -1vw;
          }
        }
      }
    }
  }
}

video{
  width: 100%;
}
.cart-link{
  display: block;
}
.praxisservice.cart {
  div.cart_image {
    width: 2rem;
    margin-right: 1rem;
    cursor: pointer;
    display:inline-block;
    svg{
      fill:#56406b;
      width:100%;
      height:100%;
    }
  }
  .cart-data {
    position: absolute;
    right: 0%;
    width: 20rem;
    height: fit-content;
    background-color: whitesmoke;
    border: 1px solid lightgray;
    display: none;
    z-index: 100;

    &.open, turbo-frame, div {
      display: flex;
      flex-direction: column;
      text-align: left;

      span {
        border-bottom: 1px solid darkgray;
        padding: 1rem;
      }
    }

    fieldset {
      border: none;
    }
  }

  .cart-count {
    position: absolute;
    top: -15px;
    right: 5px;
    color: rgb(255, 187, 0);
    font-weight: bold;
    width:100%;
    text-align: center;
  }
}
@media only screen and (max-width: 700px) {
  .praxisservice.cart {
    .cart-data {
      &.open{
        width:70vw;
        left:-30vw;
        top:inherit;
        right:unset;
      }
    }
  }
}
@media only screen and (max-width: 400px) {
  .praxisservice.cart {
    .cart-data {
      &.open{
        position:fixed;
        width:80vw;
        left:10vw;
        top:inherit;
        right:unset;
        div.article-data-controls span{
          padding:0.2rem;
          font-size: 4vw;
        }
        &>span{
          padding:0.4rem;
          font-size: 4vw;
        }
      }
    }
  }
}
div.praxisservice-engine {
  div.meldung {
    border: 1px solid yellow;
    background-color: lightyellow;
    padding: 0.5em;
  
    &.error {
      border-color: red;
      background-color: lightcoral;
    }
  }
}
footer.praxisservice-engine {
  display: flex;
  padding: 0.5em;
  & > * {
    flex: 1;
    margin: 0.2em 0.5em;
  }
  a {
    text-align: right;
    max-width: 100px;
    text-decoration: none;
    font-weight: bold;
    color: black;
    &:hover {
      background-color: darkgray;
      font-weight: bold;
    }
  }

  div.locales {
    display: flex;
    gap: 1rem;

    div.current {
      background-color: darkgray;
    }
  }
}
div.praxisservice-engine {
  fieldset {
    display: block;
    border-width: 0;
    display: flex;
    gap: 1em;
  
    label {
      flex: 1;
      text-align: right;
      &.error {
        color: red;
      }
    }
  
    input,
    textarea,
    select,
    p,
    div {
      flex: 3;
    }
  
    div.input_with_errors {
      flex: 3;
      input,
      textarea,
      select {
        width: 100%;
      }
  
      span {
        display: block;
        color: red;
      }
    }
  }
} 

header.praxisservice-engine {
  border-bottom: 1px solid darkgrey;

  #logo {
    text-align: center;
    font-size: 2em;
    padding: 0.5em 0;
  }

  div.links {
    display: flex;
    width: 100%;

    turbo-frame {
      display: flex;
      position: relative;
      display: flex;
      align-self: center;
      margin-left: auto;
    }

    #menu {
      display: flex;
      
      a, span {
        flex: 1;
        max-width: 100px;
        text-align: center;
        text-decoration: none;
        font-weight: bold;
        color: black;
        padding: 0.5em;
        background-color: rgb(212, 212, 212);
        cursor: pointer;
        &:hover {
          background-color: darkgray;
          font-weight: bold;
        }
      }
    }
  }
}

.praxisservice.podcasts {
//   width: 50rem;
//   margin: 0 auto;
//   border: 1px solid black;
  padding: 1rem;

//   span.title {
//     text-align: left;
//     cursor: pointer;
//     color: rgb(0, 0, 238);
//     user-select: none;

//     &:hover {
//       text-decoration: underline;
//     }
//   }

//   div.preview {
//     flex-direction: column;
//   }

  div.podcast {
//     display: flex;
//     flex-direction: column;
//     justify-content: flex-start;
    padding: 0.5rem 0;

//     div.preview {
//       display: none;
//     }
  }

//   div.podcast.show {
//     div.preview {
//       display: flex;
//     }
//   }
}
div.slider-container {
  max-width: 500px;
  position: relative;
  margin: auto;
  background-color: whitesmoke;
  height: 35rem;
  border: 1px solid black;

  div.slide {
    display: none;
    width: 100%;
    height: 100%;

    div.preview-container {
      display: flex;
      flex-direction: column;
      align-items: center;
      height: 90%;

      img {
        object-fit: contain;
        max-width:100%;
        max-height:100%;
      }
    }
  }

  a.prev, a.next {
    cursor: pointer;
    position: absolute;
    top: 50%;
    width: auto;
    margin-top: -22px;
    padding: 16px;
    color: black;
    font-weight: bold;
    font-size: 18px;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;
    user-select: none;

    &:hover {
      background-color: rgba(0,0,0,0.1);
    }
  }

  a.prev {
    left: 0;
  }

  a.next {
    right: 0;
    border-radius: 3px 0 0 3px;
  }
}
body.praxisservice-engine {
  text-align: center;
  background-color: lightgray;
  font-family: "Open Sans", Helvetica, sans-serif;
  color: rgb(30, 30, 30);

  main {
    margin: 2em auto;
    max-width: 1000px;
    text-align: left;
    background-color: white;
    border: 1px solid darkgray;
    border-radius: 2px;

    & > footer,
    & > header {
      margin: 0;
      background-color: rgb(227, 227, 227);
    }
  }
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */
 
