/**
 * All of the CSS for your public-facing functionality should be
 * included in this file.
 */

 .ds-form-section {
  max-width: 100%;
  width: 100%;
  margin-inline: auto;
  padding-block: 10px;
  font-family: Roboto;
  height: 100%;
  .top-line {
    align-items: end;
    display: flex;
    justify-content: center;
    margin: 0 auto 20px;
    max-width: 1120px;
    .main-logo {
      display: flex;
      flex-wrap: wrap;
      text-align: left;
      strong {
        color: #758b9c;
        display: block;
        padding-bottom: 3px;
        padding-right: 10px;
      }
      img {
        margin: 0;
        max-width: 300px;
        width: 100%;
      }
    }
    .main-features {
      display: flex;
      color: #35489b;
      float: none;
      list-style: none;
      margin: 0;
      padding: 0;
      @media screen and (max-width: 1200px) {
        display: none;
      }
      > * {
        align-items: baseline;
        display: inline-flex;
        font-size: 1.25rem;
        font-weight: 700;
        gap: 4px;
        padding: 15px 20px 0;
        white-space: nowrap;
        svg {
          position: relative;
          top: 2px;
        }
      }
    }
  }
  .header-image--bar {
    background: linear-gradient(90deg, #3b86ca 0, #35489b 100%);
    color: #fff;
    ul {
      display: flex;
      float: none;
      justify-content: center;
      line-height: 0;
      list-style: none;
      margin: 0;
      padding: 0;
      text-align: center;
      li {
        align-items: center;
        column-gap: 4px;
        display: inline-flex;
        font-weight: 700;
        padding: 15px 0;
        .before {
          padding: 0 1px 0 0;
          vertical-align: middle;
          width: 100%;
        }
        &::after {
          content: url(data:image/svg+xml;charset=utf-8,%3Csvg width='35' height='11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M25.819 10.884a1 1 0 0 1-1.462-.887v-2.96H1a1 1 0 0 1-1-1V4.963a1 1 0 0 1 1-1h23.357V1.003A1 1 0 0 1 25.82.116l8.643 4.497a1 1 0 0 1 0 1.774l-8.643 4.497Z' fill='%23fff'/%3E%3C/svg%3E);
          padding: 0 10px;
          vertical-align: middle;
        }
        &:last-child {
          &::after {
            content: none;
          }
        }
        @media screen and (max-width: 440px) {
          &::after {
            content: "";
          }
        }
      }
    }
  }
  .form-wrapper {
    display: grid;
    max-width: 1120px;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-inline: auto;
    width: 100%;
    @media screen and (max-width: 991px) {
      grid-template-columns: 1fr;
      padding-inline: 16px;
    }
  }
  .below-part {
    max-width: 1120px;
    margin-inline: auto;
    width: 100%;
    margin-top: 40px;
    .title {
      color: rgba(117, 139, 156, 1) !important;
    }
    ul {
      list-style: disc;
      padding-left: 30px;
      color: rgba(117, 139, 156, 1);
      li {
        margin-block: 5px;
        a {
          color: rgba(64, 157, 255, 1);
          &:hover {
            text-decoration: underline;
          }
        }
      }
    }
    .ds-footer {
      font-size: 12px;
      .top {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: 88px;
        
        img {
          margin-left: 9px;
          height: 16px;
          width: auto;
        }
      }
      .middle {
        a {
          margin-left: 4px;
          display: inline-flex;
          padding-top: 2px;
          padding-bottom: 2px;
          color: #1f2529;
          cursor: pointer;
          &:hover {
            text-decoration: underline;
          }
          &:not(:last-child)::after {
            content: "";
            display: inline-block;
            height: 16px;
            width: 1px;
            margin-left: 4px;
            background-color: #ced9e0;
          }
        }
      }
    }
    
  }
  .product-wrapper {
    margin-top: 30px;
    background-color: #F5F5F5;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 20px;
    padding-right: 20px;
    border-radius: 10px;
    .bltp {
      color: rgba(4, 37, 62, 0.8);
    }
    table {
      tr {
        th {
          color: rgba(4, 37, 62, 0.3);
          font-size: 75%;
          font-weight: normal;
          padding: 15px 10px;
          text-align: left;
          border-bottom: 1px solid rgb(230, 233, 236);
          &.first {
            padding: 15px 10px 15px 0;
          }
          &.last {
            padding: 15px 0px 15px 10px;
          }
        }
        td {
          color: rgba(4, 37, 62, 0.8);
          padding: 15px 10px;
          vertical-align: top;
          text-align: left;
          font-size: 90%;
          &.image {
            text-align: left;
            padding: 15px 10px 15px 0;
            img {
              max-width: 60px;
            }
          }
          &.price {
            text-align: right;
            padding: 15px 0px 15px 10px;
            .before-price {
              color:  rgba(4, 37, 62, 0.3);
              text-decoration: line-through;
            }
          }
          &.sum {
            font-weight: 700;
            padding: 15px 0;
          }
          h3 {
            margin-bottom: 15px;
            font-size: 125%;
            font-weight: 500  ;
          }
          p {
            margin-bottom: 10px;
          }
        }
      }
    }
  }
  .title {
    font-size: 87.5%;
    color: rgba(4, 37, 62, 0.8);
    display: inline-block;
    width: 100%;
    border: 0;
    margin-bottom: 8px;
    text-transform: uppercase;
    font-weight: 700;
  }
  .ds-form {
    padding-inline: 0px;
    margin-top: 40px;
    font-size: 16px;
    @media screen and (max-width: 1200px) {
      /* padding-inline: 16px; */
    }
    .errors .error {
      border-radius: 4px;
      border-width: 0;
      background-color: #d1654f1a;
      color: #d1654f;
      margin: 0 0 10px;
      line-height: 1.5em;
      padding: 8px 8px 8px 10px;
      /* width: 100%; */
      display: block;
      color: #d1654f !important;
      font-size: 1rem !important;
    }
    .ts-wrapper {
      box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
      font-size: 16px;
      .ts-control {
        font-size: 100% !important;
        color: rgba(4, 37, 62, 0.8);
        background-color: rgba(255, 255, 255, 1.0);
        border-color: rgba(180, 190, 197, 1);
        border-width: 1px !important;
        border-radius: 2px;
        padding: 8px 12px;
        line-height: 1.5;
        
      }
      .ts-dropdown-content .option {
        line-height: 1.5;
        font-size: 16px;
        padding: 8px 12px;
        color: rgba(4, 37, 62, 0.8);
      }
    }
    .two-cols {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
    }
    fieldset {
      position: relative;
      display: flex;
      flex-direction: column-reverse;
      margin: 8px 0;
      margin-inline: 0;
      padding: 0;
      border: none;
      .ts-control {
        font-weight: 400;
      }
      .ts-control input {
        width: auto;
        font-weight: 400;
      }
      .ts-wrapper.single .ts-control:after {
        border-color: grey transparent transparent;
        border-style: solid;
        border-width: 5px 5px 0;
        content: " ";
        display: block;
        height: 0;
        margin-top: -3px;
        position: absolute;
        top: 50%;
        width: 0;
        right: 16px;
      }
    }
    .address {
      display: grid;
      grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
      gap: 16px;
    }
    .zip-data {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
      gap: 16px;
    }
    input {
      margin-top: calc(1em + 6px);
      color: rgba(4, 37, 62, 0.8);
      background-color: rgba(255, 255, 255, 1.0);
      border-color: rgba(180, 190, 197, 1);
      border-width: 1px !important;
      border-radius: 2px;
      font-size: 100%;
      line-height: 1.5;
      box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
      padding-right: 30px;
      border: 1px solid rgba(180, 190, 197, 1);
      padding: 8px 12px;
      /* width: 100%; */
    }
    label {
      color: rgba(4, 37, 62, 0.8) !important;
      font-size: 75% !important;
      padding-bottom: 5px;
    }
    .transition-label {
      position:absolute;
      transform: translateZ(0);
      transition: all .2s ease-in-out;
      pointer-events: none;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      max-width: calc(100% - 20px);
      left: calc(1px + 12px);
      top: calc(1px + 15px + 1em);
      color: rgba(180, 190, 197, 1) !important;
      font-size: 100% !important;
      font-weight: 400;
      &.not-move {
        transform: translate3d(calc(-12px - 1px), calc(-1px - 15px - 1em), 0);
        color: rgba(4, 37, 62, 0.8) !important;
        font-size: 75% !important;
      }
    }
    input:focus ~ .transition-label {
      transform: translate3d(calc(-12px - 1px), calc(-1px - 15px - 1em), 0);
      color: rgba(4, 37, 62, 0.8) !important;
      font-size: 75% !important;
    }
    button {
      padding: 10px 25px;
      font-size: 16px;
      font-family: Roboto;
      font-weight: bold;
      text-transform: uppercase;
      color: rgba(255, 255, 255, 1.0);
      position: relative;
      z-index: 1;
      display: flex;
      justify-content: space-evenly;
      font-size: 16px;
      font-family: Roboto;
      font-weight: bold;
      text-transform: uppercase;
      color: rgba(255, 255, 255, 1.0);
      border-radius: 5px;
      overflow: hidden;
      border: 1px solid rgba(0, 0, 0, 1.0);
      border: 0;
      background: rgba(64, 157, 255, 1.0);
      box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
      margin-inline: auto;
      margin-block: 40px;
    }
  }
}