#cart .btn.def {
  height: 40px;
  background-image: linear-gradient(to top, #7d0c14, #640007 50%, #7d0c14);
  background-position: bottom center;
  background-size: 100% 200%;
  line-height: 40px;
  text-transform: uppercase;
  font-family: PTSerif;
  font-size: 14px;
  font-weight: 600;
  color: white;
  transition: background-position .6s ease; }
  #cart .btn.def:hover {
    background-position: top center; }
#cart main form {
  padding-bottom: 50px; }
#cart #product-table {
  padding: 30px 0;
  border-bottom: 1px solid black; }
  #cart #product-table table {
    width: 100%;
    border-collapse: collapse;
    margin: 40px 0; }
    #cart #product-table table thead {
      border-bottom: 1px solid black; }
      #cart #product-table table thead th {
        padding: 10px;
        font-size: 20px;
        font-weight: 600;
        font-style: italic; }
        #cart #product-table table thead th:first-of-type, #cart #product-table table thead th:nth-of-type(2) {
          text-align: left; }
        @media all and (max-width: 600px) {
          #cart #product-table table thead th {
            font-size: 18px; } }
    #cart #product-table table tbody tr {
      height: 120px; }
      #cart #product-table table tbody tr:not(:first-of-type) {
        border-top: 1px solid #ebebeb; }
      #cart #product-table table tbody tr td {
        vertical-align: middle; }
        #cart #product-table table tbody tr td.img {
          width: 140px;
          padding: 10px;
          text-align: left; }
          @media all and (max-width: 600px) {
            #cart #product-table table tbody tr td.img {
              padding: 10px; } }
          #cart #product-table table tbody tr td.img img {
            height: 80px; }
            @media all and (max-width: 600px) {
              #cart #product-table table tbody tr td.img img {
                object-fit: cover; } }
        #cart #product-table table tbody tr td.name {
          padding-left: 10px; }
          @media all and (max-width: 600px) {
            #cart #product-table table tbody tr td.name {
              font-size: 15px; } }
          @media all and (max-width: 600px) {
            #cart #product-table table tbody tr td.name {
              font-size: 14px; } }
        #cart #product-table table tbody tr td.amount {
          text-align: center; }
          #cart #product-table table tbody tr td.amount input {
            width: 30px;
            height: 40px;
            border: 1px solid #eaeaea;
            border-radius: 2px;
            text-align: center; }
        #cart #product-table table tbody tr td.price {
          padding-left: 10px;
          text-align: center;
          font-weight: 600; }
        #cart #product-table table tbody tr td.action {
          width: 50px;
          text-align: center; }
          @media all and (max-width: 600px) {
            #cart #product-table table tbody tr td.action {
              width: 40px; } }
          #cart #product-table table tbody tr td.action .remove-product {
            display: block;
            width: 25px;
            height: 25px;
            position: relative; }
            #cart #product-table table tbody tr td.action .remove-product span {
              display: block;
              width: 16px;
              height: 2px;
              position: absolute;
              top: calc(50% - 1px);
              left: calc(50% - 8px);
              background: #6d0008; }
              #cart #product-table table tbody tr td.action .remove-product span:first-of-type {
                transform: rotate(45deg); }
              #cart #product-table table tbody tr td.action .remove-product span:last-of-type {
                transform: rotate(-45deg); }
  #cart #product-table .btn.def {
    float: right; }
  #cart #product-table .total-price {
    clear: right;
    float: right;
    padding-top: 30px; }
    #cart #product-table .total-price span {
      float: left;
      padding-right: 30px;
      padding-top: 5px;
      line-height: 34px;
      font-size: 20px;
      font-weight: 600; }
    #cart #product-table .total-price strong {
      float: left;
      line-height: 34px;
      font-size: 34px;
      font-weight: 600;
      color: #6d0008; }
#cart #reservation-form {
  padding-top: 30px;
  padding-bottom: 80px; }
  @media all and (min-width: 900px) {
    #cart #reservation-form .cols .input {
      float: left;
      width: 50%; }
      #cart #reservation-form .cols .input:first-of-type {
        padding-right: 10px; }
      #cart #reservation-form .cols .input:last-of-type {
        padding-left: 10px; } }
  #cart #reservation-form .input {
    padding: 5px 0; }
    #cart #reservation-form .input label {
      display: block;
      padding: 10px;
      font-style: italic; }
      #cart #reservation-form .input label.required:after {
        content: "*";
        vertical-align: top;
        font-size: 1.1em;
        color: #6d0008; }
    #cart #reservation-form .input input {
      width: 100%;
      height: 40px;
      padding: 0 10px;
      border: 1px solid #eaeaea;
      border-radius: 2px;
      background: #f7f7f7; }
    #cart #reservation-form .input textarea {
      width: 100%;
      height: 280px;
      resize: none;
      padding: 10px;
      border: 1px solid #eaeaea;
      border-radius: 2px;
      background: #f7f7f7; }
  #cart #reservation-form .checkbox {
    padding: 10px 0; }
    #cart #reservation-form .checkbox input {
      vertical-align: middle;
      margin-right: 10px;
      cursor: pointer; }
    #cart #reservation-form .checkbox label {
      vertical-align: middle;
      cursor: pointer; }
  #cart #reservation-form #company-inputs {
    opacity: 0;
    pointer-events: none;
    transition: opacity .5s ease; }
    #cart #reservation-form #company-inputs.active {
      opacity: 1;
      pointer-events: all; }
  #cart #reservation-form .note-required {
    padding: 30px 0; }
    #cart #reservation-form .note-required:before {
      content: "*";
      vertical-align: top;
      font-size: 1.1em;
      color: #6d0008; }
  #cart #reservation-form .disclaimer {
    padding: 40px 0 50px;
    border-top: 1px solid black; }
    #cart #reservation-form .disclaimer p {
      text-align: right; }
    #cart #reservation-form .disclaimer strong {
      font-size: 18px; }
  #cart #reservation-form .submit {
    float: right;
    max-width: 750px; }
    #cart #reservation-form .submit .google-recaptcha {
      float: left;
      width: 300px;
      height: 70px;
      border: 1px solid #eaeaea;
      border-radius: 2px;
      background: #f7f7f7; }
      @media all and (max-width: 750px) {
        #cart #reservation-form .submit .google-recaptcha {
          margin: auto auto; } }
    #cart #reservation-form .submit .right {
      float: right;
      padding-left: 100px; }
      #cart #reservation-form .submit .right p {
        float: right;
        text-align: right; }
        #cart #reservation-form .submit .right p input {
          margin-right: 5px;
          cursor: pointer; }
        #cart #reservation-form .submit .right p a {
          color: #6d0008;
          text-decoration: underline; }
          #cart #reservation-form .submit .right p a:hover {
            text-decoration: none; }
      #cart #reservation-form .submit .right .btn.def {
        clear: right;
        float: right;
        margin-top: 10px; }

/*# sourceMappingURL=cart.css.map */
