html { 
    /* bg image properties */
    background: url("./assets/images/background/Books on Wooden Shelves Inside Library.jpg") no-repeat center center fixed; 
    /* Apple extension property specifies the size of the background images. 
    It is only supported in Safari 3.0 or lower. New versions of Safari should support the background-size property.  */
    -webkit-background-size: cover;
    /* Mozilla extension property specifies the size of the background images. 
    It is only supported in Gecko 1.9.2 (Firefox 3.6) or lower. New versions of Gecko support the background-size property.  */
    -moz-background-size: cover;
    /*  Opera extension property specifies the size of the background images. 
    It is only supported in Opera 9.5 or lower. New versions of Opera should support the background-size property.  */
    -o-background-size: cover;
    
    background-size: cover;
  }


body{
    display: flex;
    flex-direction: column;
    align-items: center;    
    /* removes top space on web page -- used to remove gap on the top of the site banner image */
    margin: 0;    
    padding: 0;
}

/* site banner */
.banner {    
    background-size: 100% 100%;    
    height: 400px;
}

/* form parent */
.bookSearch {
    background-color: #1e1e13;
    padding: 10px;
    border-radius: 6px;
    margin: 0px 20px 20px 20px;
    text-align: center;
}

/* search input */
.searchInput {
    padding: 10px;
    font-size: 2rem;
    font-weight: bold;
    margin: 10px;
    width: 300px;
    text-align: center;
}


/* search button */
button[type="submit"] {
    padding: 10px 20px;
    font-weight: bold;
    font-size: 2rem;
    background-color: #4e4eb1;
    color: #ffffff;    
    cursor: pointer;
}

.searchInput, button[type="submit"] {    
    border: 5px solid #000000;    
    border-radius: 10px;
}

button[type="submit"]:hover{
    background-color: hsl(122, 39%, 40%);
}

/* radio menu */
.radioMenu {   
    font-size: 1.5rem;
    font-weight: bold;
    background-color: #e9ac16;
    padding: 5px;
}

/* label on hover */
label:hover {
  background-color: #2caa0c;
  padding: 6px;
}

/* book gallery */
.searchResults {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: center;
    padding: 5px;
    /* space between items */
    gap: 10px;
}

li {
    /* transparent black */
    background-color: rgba(0, 0, 0, 0.3);
    /* limit flex-items per row */
    flex-basis: 18%;
}

.smallThumbnail {
    border-radius: 4px;  /* Rounded border */
    padding: 5px; 
    width: 250px;   

    /* center image */
    display: block;
    margin: auto;
}

.thumbnailContent {
    background-color: #e9ac16;
    padding: 5px;
    text-align: center;
    border: 4px solid #ffffff;
}

/* details element */
details {
    padding: 10px;
    background-color: #e4eaef;
    border-radius: 5px;
}


/* summary marker */
summary::marker {
    color: #1e1e13;
}

summary {
    list-style-type: "\1F7A7";
}

summary:hover, details[open] > summary:hover {
    background: #dad3b1;
}

summary::after {
    content: " More Info";
}

details[open] summary::after {
    content: " Hide";
}

/* when details open */
details[open] > summary {
    list-style-type: "\25B2";
    font-size: 1.1em;
    background-color: #e9ac1670;
    padding: 10px;
}


/* details book description */
.detailsDescription, .detailsCatergories {
    border-bottom: 2px solid;
    padding-bottom: 10px;
}

/* error message */
.errorMessage {
    font-size: 2rem;
    font-weight: bold;
    background-color: #ffffff;
    padding: 50px;
    border: #e9ac16 solid 5px; 
}


/* MEDIA BREAK POINTS */

/* web banner */
@media (max-width: 404px) {
    .banner {
     height: 250px;  
     /* change web banner to phone alt */
     content:url("./assets/images/site banner/phone web banner.png");
    }
}


@media (min-width: 405px) and (max-width: 679px) {
    .banner {
     height: 250px;  
     /* change web banner to tablet alt */
     content:url("./assets/images/site banner/tablet web banner.png");
    }
}

@media (min-width: 680px) and (max-width: 798px) {
    .banner {
     height: 292px;  
     max-width: 100%;
    }
}

@media (min-width: 799px) and (max-width: 940px) {
    .banner {
     height: 352px;  
     max-width: 100%;
    }
}

/* form */
@media (max-width: 489px) {
    .radioMenu {
        font-size: 1.4rem;
        display: flex;
        flex-direction: column;
    }
    input[type="radio"] {
        display: none;
    }
    input[type="radio"]:checked + label {
        background-color: #89a0d9;
    }
    label {
        padding: 10px;
        border: solid 1px; 
    }
}

@media (min-width: 490px) and (max-width: 679px) {
    .radioMenu {
      font-size: 1.1rem;
    }
}
