html, body {
    height: 100%;
}
  
body {
    margin: 0;
    font-family: Montserrat, sans-serif;
}

.bg {
    animation:slide 3s ease-in-out infinite alternate;
    background-image: linear-gradient(-60deg, #6c3 50%, #09f 50%);
    bottom:0;
    left:-50%;
    opacity:.5;
    position:fixed;
    right:-50%;
    top:0;
    z-index:-1;
}
.bg2 {
    animation-direction:alternate-reverse;
    animation-duration:4s;
}
.bg3 {
    animation-duration:5s;
}
@keyframes slide {
    0% {
        transform:translateX(-25%);
    }
    100% {
        transform:translateX(25%);
    }
}

.content-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
}

.content {
    background-color:rgba(255,255,255,.8);
    border-radius:.25em;
    box-shadow:0 0 .25em rgba(0,0,0,.25);
    box-sizing:border-box;
    max-width: 707px;
    padding: 48px;
    text-align:center;
    margin: 0 auto;
}

#title {
    font-size: 34px;
    font-weight: bold;
}

#subtitle {
    margin-top: 8px;
    font-style: italic;
}

#author {
    margin-bottom: 48px;
}

.form-intro {
    max-width: 485px;
    margin: 0px auto 16px auto;
}
.form-field {
    margin-bottom: 20px;
}
.contact-form, .book-form {
    margin: 0 auto;
    max-width: 550px;
    width: 100%;
}
.form-input {
    width: 100%;
    padding: 12px;
    border-radius: 6px;
    border: 1px solid #e0e0e0;
    background: white;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: #6b7280;
    outline: none;
    resize: none;
}
.form-field input:not([type="select"]), .form-field textarea {
    width: calc(100% - 24px);
}
.form-input:focus {
    border-color: #6a64f1;
    box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.05);
}
.form-button {
    text-align: center;
    font-size: 16px;
    border-radius: 6px;
    padding: 14px 32px;
    border: none;
    font-weight: 600;
    background-color: #6a64f1;
    color: white;
    cursor: pointer;
}
.form-button:hover {
    box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.05);
}
.form-response {
    border: 1px solid black;
    background-color: white;
    padding: 20px;
    display: none;
}
.book-form .form-button {
    width: 146px;
    height: 106px;
    margin: 11px;
    padding: 5px;
    vertical-align: middle;
}
.button-image img {
    width:50px;
    max-height:50px;
}
label {
    font-weight: bold;
    color: #6a64f1;
}

.device-title {
    max-width: 485px;
    margin: 0px auto 16px auto;
    font-weight: bold;
    font-size: 24px;
}

.paragraph-title {
    font-weight: bold;
    text-decoration:underline;
}

.circle {
    border-radius: 50%;
    width: 85px;
    height: 85px;
    background: #6A64F1;
    margin-bottom: 5px;
    margin-top: -1px;
}

.password-form .password {
    text-align: center;
}
.book-2 {
    display: none;
}
.kindle-email {
    text-align: center;
}
.book-email {
    border: none;
    padding: 10px;
    text-align: center;
    font-weight: bold;
    font-size: 16px;
    color: #4c4c4c;
}

.apple-books-1, .apple-books-this-device, .apple-books-another-device, .apple-books-another-device-2 {
    display: none;
}

.apple-books-1 .form-button {
    margin: 11px;
}

.apple-books-safari-icon {
    margin-bottom: -2px;
    width: 15px;
    height: 15px;
}

.audio-book {
    margin-top: 55px;
}
.audio-book .cover-art {
    width: 300px;
    height: 300px;
}
.audio {
    display: none;
}
.audio-controls {
    display: table;
    width: 245px;
    margin-bottom: 40px;
    margin-left: auto;
    margin-right: auto;
}
.audio-controls .audio-button {
    display: table-cell;
    vertical-align: middle;
}
.audio-controls span div {
    color: #6a64f1;
    font-size: 12px;
}
.audio-controls .loading {
    width: 85px;
}
.audio-controls .loading div, .audio-controls .play div, .audio-controls .pause div {
    font-weight: bold;
    font-size: 14px;
}
.audio-controls .rewind div, .audio-controls .forward div {
    margin-top: -5px;
}
.audio-controls span img {
    cursor: pointer;
}
@media (pointer: fine) {
    .audio-controls span img:hover {
        cursor: pointer;
        filter: invert(55%) sepia(50%) saturate(7453%) hue-rotate(226deg) brightness(96%) contrast(97%);
    }
}
.audio-controls img {
    width: 50px;
    max-height: 50px;
}
.audio-controls .play img, .audio-controls .pause img {
    width: 85px;
    max-height: 85px;
}
.audio-progress {
	position: relative;
	margin: 0 auto;
    margin-bottom: 25px;
	width: 100%;
}
.audio-progress span {
    color: #6a64f1;
    font-size: 12px;
    position: absolute;
    top: -20px;
}
.audio-progress .current-time {
    left: 0;
}
.audio-progress .remaining-time {
    right: 0;
}
.audio-progress .slider {
    background-color: #6a64f1;
    border-radius: 5px;
    cursor: pointer;
    height: 5px;
    position: relative;
    width: 100%;
}
.audio-progress .slider .ui-slider-handle {
    background-color: #ffffff;
    border: 2px solid #6a64f1;
    outline-style: none;
    border-radius: 15px;
    height: 15px;
    position: absolute;
    top: -7px;
    width: 15px;
    margin-left: -5px;
    -webkit-box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.32);
    -moz-box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.32);
    box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.32);
    -webkit-transition: transform 0.25s ease;
    -moz-transition: transform 0.25s ease;
    -ms-transition: transform 0.25s ease;
    -o-transition: transform 0.25s ease;
    transition: transform 0.25s ease;
}
/* removed because the larger handle makes it difficult to be precise
.audio-progress .slider .ui-slider-handle:active {
    -moz-transform: scale(1.5);
    -o-transform: scale(1.5);
    -ms-transform: scale(1.5);
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
}
*/

.audio-comment-form {
    display: none;
    color: #6a64f1;
}
.audio-book .form-button {
    padding-top: 7px;
    padding-bottom: 4px;
    padding-left: 10px;
    padding-right: 10px;
}
.audio-book .form-button:first-of-type {
    margin-right:10px;
}
.audio-book .button-image {
    float:left;
}
.audio-book .button-image img {
    width: 25px;
    max-height: 25px;
}
.audio-book .button-text {
    float:left;
    padding-top: 4px;
    padding-left: 8px;
}
.audio-book .instructions {
    margin-top: 40px;
}

.audio-controls .play, .audio-controls .pause {
    display: none;
}
.hide-while-audio-loading {
    visibility: hidden;
}

@media only screen and (max-width: 384px) {
    .audio-comment-form .cancel {
        margin-top: 20px;
    }
}