
  .bookForm {
    padding-top: 1rem;
  }
  
  .bookForm > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }
  
  .bookForm > div > * {
    margin-top: 1rem;
  }
  
  .bookForm > div > *:nth-child(1) {
    margin-top: 0rem;
  }
  
  #bookFiles > p {
    margin: 0em;
  }
  
  #bookDiscount {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    box-sizing: border-box;
  }
  
  #bookDiscount > label:not(:first-of-type) {
    margin-top: 1rem;
  }
  
  #publishBtn {
    margin-bottom: 1rem;
  }
  
  form button[type=submit] + .feedback.attention,
  form button[type=button] + .feedback.attention {
    margin-top: 1em;
    box-sizing: border-box;
  }
  
  #bookDiscount > div > label {
    margin-top: 1rem;
  }
  
  .filesCont {
    position: relative;
    
    display: flex;
    flex-flow: column nowrap;
  }
  
  .sourceFormat {
    position: relative;
  }
  
  .sourceFormat > .help-tip {
    left: 3.5em;
  }
  
  .sourceFormat > .help-tip > p {
    width: max-content;
  }
  
  .filesCont.required > span::after {
    content: "*";
    font-size: 0.8em;
    color: #ff0000;
    padding-left: 0.2em;
  }
  
  .filesCont p {
    margin-top: 0em;
  }
  
  .filesCont > span {
    margin-bottom: 0.5em;
  }
  
  .filesCont.registered > .help-tip {
    left: 20em;
  }
  
  .filesCont.admin > .help-tip {
    left: 7em;
  }
  
  .filesCont.admin > div {
    display: flex;
    flex-flow: column nowrap;
    align-items: flex-start;
  }
  
  .filesCont.admin > div:not(:last-of-type) {
    margin-bottom: 0.5em;
  }
  
  .filesCont.admin > div > span {
    flex: 0 0 7em;
  }
  
  .filesCont.admin > div input[type=file] {
    margin-left: 1em;
  }
  
  .sourceFormat {
    position: relative;
    padding-bottom: 2em;
  }
  
  .filesCont.registered .sourceFormat > .help-tip {
    left: 13em;
  }
  
  .filesCont.admin .sourceFormat > .help-tip {
    left: 6em;
  }
  
  .sourceFormat > .help-tip > p {
    width: max-content;
  }
  
  .sourceFormat .feedback.attention {
    position: absolute;
    bottom: 0em;
  }
  
  .bookFormatCont {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    
    padding: 0.2em 0.5em;
    margin: 0.2em 0em;
  }
  
  .bookFormatCont.selectedFormat {
    background: #f3f5f8;
  }
  
  .bookFormatCont > label {
    flex: 0 0 5em;
    
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
  }
  
  .bookFormatCont.sourceFormat > label {
    flex: 1;
  }
  
  .bookFormatCont > label > input {
    margin-top: 0.4em;
  }
  
  .bookFormatCont.sourceFormat > label > p > span {
    display: block;
  }
  
  .bookFormatCont.sourceFormat > label > p > span:last-of-type {
    font-size: 0.9em;
    color: #989898;
  }
  
  .formatOptions {
    display: flex;
    flex-flow: column nowrap;
  }
  
  .formatOptions > div {
    display: flex;
    flex-flow: column nowrap;
  }
  
  .formatOptions > label {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    margin-top: 0em;
  }
  
  .formatOptions > label > input {
    margin-top: 0.4em;
  }
  
  .formatOptions > label > p {
    flex: 1;
  }
  
  .formatOptions > label > p > span {
    display: block;
  }
  
  .formatOptions > label > p > span:last-of-type {
    font-size: 0.9em;
    color: #989898;
  }
  
  .filesUploadCont {
    padding: 0.5em;
  }
  
  .filesUploadCont > p {
    font-size: 0.9em;
    color: #989898;
  }
  
  .filesUploadCont > div:not(:last-of-type) {
    margin-bottom: 1em;
  }
  
  .priceCont {
    position: relative;
  }
  
  .priceCont .help-tip {
    left: 4em;
  }

  #authorCont {
    position: relative;
    
    display: flex;
    flex-flow: column nowrap;
    align-items: stretch;
    justify-content: flex-start;
  }
  
  #authorCont > label.required,
  #categoryCont > label.required {
    flex-flow: row nowrap;
  }
  
  #authorCont > label.required::after,
  #categoryCont > label.required::after {
    content: "*";
    font-size: 0.8em;
    color: #ff0000;
    padding-left: 0.2em;
  }
  
  .bookAuthorsCont {
    display: flex;
    flex-flow: column nowrap;
    align-items: flex-start;
    justify-content: flex-start;
  }
  
  .singleAuthor input,
  .singleAuthor select {
    width: 100%;
  }
  
  .singleAuthor {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    
    width: 100%;
  }
  
  .singleAuthor > div:first-of-type {
    flex: 1;
  }
  
  .singleAuthor:not(:first-of-type) {
    margin-top: 0.5em;
  }
  
  .singleAuthor .removeButton {
    background: transparent;
  }
  
  #addAuthorBtn {
    padding: 0.3em 0.5em;
  }
  
  #addAuthorBtn::before {
    font-family: "FONT_AWESOME_SOLID";
    content: "\f067";
  }
  
  #authorCont .removeButton::before {
    margin: 0em;
  }
  
  .bookForm button[type=submit] {
    width: max-content;
  }
  
  #bookDiscount .labelHeader {
    margin-bottom: 1em;
  }
  
  #bookDiscount button[type=submit] {
    flex: 1;
    margin-top: 2em;
  }
  
  .changeInputType {
    padding: 0.4em 0.5em;
    margin: 0em 0.5em;
  }
  
  .changeInputType::before {
    font-family: "FONT_AWESOME_SOLID";
    content: "\f021";
  }

  #categoryCont {
    display: flex;
    flex-flow: column nowrap;
    align-items: stretch;
    justify-content: flex-start;
    
    position: relative;
  }
  
  .bookCategoriesCont {
    display: flex;
    flex-flow: column nowrap;
    align-items: flex-start;
    justify-content: flex-start;
  }
  
  .singleCategory {
    width: 100%;
    
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: flex-start;
  }
  
  .singleCategory > div {
    flex: 1;
  }
  
  .singleCategory select {
    width: 100%;
  }
  
  .singleCategory:not(:first-of-type) {
    margin-top: 0.5em;
  }
  
  .singleCategory .removeButton {
    background: transparent;
    padding: 0.3em 1em;
  }
  
  #addCategoryBtn {
    padding: 0.3em 1em;
  }

  .publisherCont {
    display: flex;
    flex-flow: column nowrap;
    align-items: stretch;
    justify-content: flex-start;
  }
  
  .singlePublisher {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-end;
    justify-content: flex-start;
  }
  
  .singlePublisher input,
  .singlePublisher select {
    width: 100%;
  }
  
  .singlePublisher > div {
    flex: 1;
  }

  .isbnCont {
    position: relative;
  }
  
  .isbnCont .help-tip {
    left: 2.5em;
  }
  
  .bookImagesCont {
    position: relative;
  }
  
  .bookImagesCont .help-tip {
    left: 6em;
  }
  
  .bookImagesCont span {
    display: block;
  }
  
  #bookImages {
    display: flex;
    flex-flow: row wrap;
    align-items: flex-start;
    justify-content: flex-start;
    
    margin-top: 1em;
  }
  
  #bookImages > .imageCont {
    flex: 0 0 7em;
    margin-right: 1em;
    margin-bottom: 1em;
    
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: flex-start;
  }
  
  #bookImages > .imageCont > button {
    margin-bottom: 0.5em;
  }
  
  .bookForm > div #publishBtn,
  .bookForm > div .saveAsDraftBtn {
    width: max-content;
    flex: initial;
  }

  @media screen and (min-width: 768px) {
    .bookForm > div {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
    }
    
    .bookForm > div > * {
      -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(100% / 2 - 1em / 2);
      flex: 0 0 calc(100% / 2 - 1em / 2);
    }
    
    .bookForm > div > *:nth-child(2) {
      margin-top: 0rem;
    }
    
    .priceCont {
      -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(100% / 2 - 1em / 2);
      flex: 0 0 calc(100% / 2 - 1em / 2)
    }
    
    .bookForm #summaryLabel,
    .bookForm .bookHtmlLabel {
      -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
    }
    
    #publishBtn {
      margin: 2rem 1rem 0em 0em;
    }
    
    .bookForm .saveAsDraftBtn {
      margin-right: auto;
      margin-top: 2rem;
    }
    
    .bookForm .filesCont,
    .bookForm #discountLabel {
      -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
    }
  }
  
  @media screen and (min-width: 1000px) {
    #bookDiscount {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      -webkit-box-align: start;
      -ms-flex-align: start;
      align-items: flex-start;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
    }
    
    #bookDiscount > h3 {
      -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
      flex: 0 0 100%;
    }
    
    #bookDiscount > * {
      -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(100%/3 - 2em/2);
      flex: 0 0 calc(100%/3 - 2em/2);
      margin: 0em;
    }
    
    #bookDiscount .labelHeader {
      -webkit-box-flex : 0;
      -ms-flex : 0 0 100%;
      flex : 0 0 100%;
    }
    
    #bookDiscount > div > label:first-of-type {
      margin-top: 0rem;
    }
    
    .bookForm .filesCont {
      flex-flow: row wrap;
      align-items: flex-start;
      justify-content: space-between;
    }
    
    .filesCont > .filesOptionsCont,
    .filesCont > .filesUploadCont {
      flex: 0 0 calc(100%/2 - 2em/2);
    }
    
    .bookForm  .filesCont > span {
      flex: 0 0 100%;
    }
  }
