@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,100..700;1,100..700&family=Roboto:ital,wght@0,100..900;1,100..900&family=Special+Gothic+Expanded+One&display=swap');

:root {
    --fig-padding: 7px;
}

body
{
    margin: 0;
    font-family: Roboto, Arial, Helvetica, sans-serif;
    background-color: rgb(239, 239, 239);
}

article>p:not(.noIndent):not(form p), .indent
{
    text-indent: 2em;
}

.noBottomMargin
{
    margin-bottom: 0px;
}

#headertophalf
{
    display: flex;
    max-height: 50%;
    align-self:flex-start;
}

#sitetitle
{
    max-height: 50%;
    box-sizing: border-box;
    display:flex;
    align-items: center;
    margin-left: 8px;
}

#sitetitletext
{
    padding-top: 15px;
    font-size: xx-large;
    color: white;
    font-family: 'Special Gothic Expanded One', Arial, sans-serif;
}

aside img
{
    margin-left: auto;
    margin-right: auto;
    max-width: 95%;
    height: auto;
    display:block;
}

figure
{
    margin: 8px;
    background-color: rgb(243, 243, 243);
    border: 1px solid rgb(212, 212, 212);
    padding: var(--fig-padding);
    border-radius: 2px;
}

figure img
{
    margin-left: auto;
    margin-right: auto;
}

h3
{
    text-align: center;
    font-size: larger;
    font-family: 'Special Gothic Expanded One', Arial, sans-serif;
}

h4
{
    padding: 8pt;
    margin-bottom: 0px;
    margin-top: 2px;
    font-size: larger;
    font-family: 'Special Gothic Expanded One', Arial, sans-serif;
}

.boxdiv
{
    border: 2px black solid;
    margin: 8px 30px;
    border-radius: 2px;
    background-color: rgb(246, 254, 255);;
}

.boxdiv li:not(:first-child)
{
    margin-top: 20px;
}

.boxdiv ul
{
    margin-top: 0px;
}

form
{
    padding:8px;
}

textarea
{
    width:90%;
    margin-left: auto;
    margin-right: auto;
    resize: none; /* thank you w3schools for telling me about this */
} 

header
{
    display:flex;
    height: 80px;
    background-color: rgb(185, 31, 31);
    align-items: center;
    flex-wrap: wrap;
}

main, #gearaside, #imagesaside
{
    background-color: rgb(255, 255, 255);
    margin: 8px;
    box-sizing: border-box;
    border-radius: 4px;
    border: 1px solid rgb(212, 212, 212);
}

.collapsingimagecolumncontainer
{
    display:flex;
    flex-wrap: wrap;
}

.collapsingimagecolumntext
{
    width: 100%;
    flex-basis: 100%;
}

.collapsingimagecolumn figure, .collapsingimagecolumn img
{
    max-width: 100%;
    height: min-content;
}

.collapsingimagecolumn
{
    display:flex;
    flex-wrap: wrap;
    max-width: 100%;
    flex-basis: 100%;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
}

.collapsingimagecolumn>img
{
    flex-basis: 33%;
    max-width: 33%;
    margin-left: auto;
    margin-right: auto;
    
    max-height: 50px;
}

#sortsection
{
    display:flex;
    flex-wrap: wrap;
    align-items: center;
}

#sortdropdownlabel
{
    margin: 0px;
    margin-left: 8pt;
    margin-right: 2px;
}

.dropdown
{
    padding: 0;
    margin:0;
    list-style-type: none;
    box-sizing: border-box;
}

.dropdown ul
{
    padding:0;
    left:0;
}

.dropdown>li
{
    position: relative;
    background-color: rgb(224, 224, 224);
    padding:4px;
    z-index: 10;
    border: 1px solid black;
}

.dropdown>li>ul
{
    box-sizing: border-box;
    visibility: hidden;
    margin:0;
    list-style-type: none;
    position: absolute;
    background-color: rgb(235, 235, 235);
    border: 1px solid black;
    top:17px;
    transition: all 0.1s ease-out;
    left: -1px;
    z-index: -1;
    opacity: 0;
    border-radius: 0px 2px 2px 2px;
}

.dropdown>li:hover>ul
{
    visibility: visible;
    top:27.4px;
    transition: all 0.1s ease-out;
    opacity: 1;
}

.dropdown>li>ul>li:hover
{
    background-color: rgb(219, 219, 219);
}

.dropdown a
{
    display:block;
    text-decoration: none;
    color:black;
    padding: 6px;
    width:100%
}

hr
{
    width: calc(100% - 20px)
}

aside h2
{
    text-align: center;
}

main h2, aside h2
{
    margin: 8pt;
    font-family: 'Special Gothic Expanded One', Arial, sans-serif;
}

main h2
{
    font-size: xx-large;
    border-bottom: 1px solid black;
    margin-bottom: 25px;
}

main p:not(form p), aside p
{
    margin: 8pt;
}

main, #gearaside, #imagesaside
{
    flex-basis: 100%;
    max-width: 100%;
}

.comparisontable img
{
    max-width: 90%;
    margin: auto auto;
}

aside figure:not(:last-child)
{
    margin-bottom: 20px;
}

table
{
    min-width: 550px;
    border: 1px black solid;
    border-collapse: collapse;
    border-spacing: 0;
    margin:8px;
    margin-left: auto;
    margin-right: auto;
    caption-side: top;
    empty-cells: show;
    background-color: white;
    table-layout: fixed; /* forces table to not expand cells if they're too small */
}

.scroller
{
    overflow-x: auto;
    max-width: 900px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    align-self: flex-start;
}

.centeredimagesection
{
    display:flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
}

.bigfigcaption
{
    font-size: larger;
    margin-bottom: 4px;
    display:block;
    width:100%;
}

.collapsingcenteredimage
{
    height: auto;
    width: calc(100% - 20px);
    display:flex;
    flex-wrap: wrap;
}

.collapsingcenteredimage>figcaption
{
    width: 100%;
}

.collapsingcenteredimage img
{
    max-height: calc(100% - 25px);
    margin-left: auto;
    margin-right: auto;
}

.imageColumn
{
    width:40%;
}

.nameColumn
{
    width:20%
}

.priceColumn
{
    width: 15%;
}

.bodytypeColumn
{
    width: 12.5%;
}

th:not(:last-child), td:not(:last-child)
{
    border-right: 1px black solid;
}

tfoot>tr
{
    border-top: 1px black solid;
    text-align: center;
}

tr:nth-child(even)
{
    background-color: rgb(237, 237, 237);
}

thead>tr, tr:not(:last-child)
{
    border-bottom: 1px black solid;
}

td, th
{
    padding:5px;
}

.flexcontainer
{
    display:flex;
    flex-wrap: wrap;
    justify-content: center;
}

nav
{
    align-items: center;
    margin-left: auto;
    justify-self: flex-end;
    flex-basis: 100%;
    max-width: 100%;
    justify-content: space-around;
    display:flex;
    font-size: small;

    color:white
}

nav a
{
    padding: 5px;
}

nav a:link 
{
    color:white;
    text-decoration: none;
}

nav a:visited  
{
    color:white;
    text-decoration: none;
}

nav a:hover
{
    transform: scale(110%);
    background-color: white;
    color: rgb(185, 31, 31);
    border-radius: 4px;
}

footer
{
    margin:8px;
}

input[type="checkbox"]:not(:first-child), input[type="radio"]:not(:nth-child(2))
{
    margin-left: 4px;
}

#polloptionscontainer
{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

#polloptionscontainer figure
{
    width: 100px;
    height: auto;
    background-color: rgb(234, 234, 234);
    border: 1px solid black;
    text-align: center;
} 

.centeredtext
{
    text-align: center;
}

#polloptionscontainer figure img
{
    width: 100%;
    height: auto;
    transition: all 0.1s ease-out;
} 

#polloptionscontainer figure img:hover
{
    transform: scale(105%);
    height: auto;
} 

.responsiveBr
{
    display:block;
}

#submitclearbuttons
{
    margin-left: auto;
    margin-right: auto;
    display:flex;
    justify-content: center;
    gap: 2px;
}

.tablature
{
    font-family: 'Roboto Mono', monospace;
    margin-left: auto;
    margin-right: auto;
}

.tablature>p
{
    margin-top:0px;
    margin-bottom:0px;
    text-align: center;
}

/* Responsive breaks */
@media screen and (min-width:600px) {
    .responsiveBr
    {
        display:none;
    }

    input[type="checkbox"]:not(:first-child), input[type="radio"]:not(:nth-child(2))
    {
        margin-left: 30px;
    }
}

/* Tablet */
@media screen and (min-width:768px) {
    #polloptionscontainer figure
    {
        width: calc(26% - var(--fig-padding) - var(--fig-padding));
    } 
    
    header
    {
        height:70px;
    }

    #headertophalf
    {
        display: flex;
        max-height: 100%;
        align-self:flex-start;
    }

    #sitetitletext
    {
        padding-top: 0px;
    }

    nav
    {
        margin-left: auto;
        justify-self: flex-end;
        flex-basis: 55%;
        max-width: 55%;
        justify-content: space-around;
        display:flex;
        font-size:medium;
    }
    
    main
    {
        flex-basis: 70%;
        max-width: 70%;
    }
    
    #imagesaside
    {
        box-sizing: border-box;
        flex-basis: 100%;
        max-width: 100%;
    }

    #gearaside
    {
        flex-basis: 23%;
        max-width: 23%;
    }

    .collapsingimagecolumntext
    {
        flex-basis: 75%;
        max-width: 75%;
    }

    .collapsingimagecolumn
    {
        flex-basis: 20%;
        max-width: 20%;
    }

    .collapsingcenteredimage
    {
        height:200px;
        width:auto
    }
}

@media screen and (min-width: 992px){
    main
    {
        flex-basis: 75.5%;
        max-width: 75.5%;
    }
    
    #imagesaside
    {
        box-sizing: border-box;
        flex-basis: 100%;
        max-width: 100%;
    }

    #gearaside
    {
        flex-basis: 20%;
        max-width: 20%;
    }
}


/* Large 3 column layout */
@media screen and (min-width:1200px) {
    main
    {
        flex-basis: 58%;
        max-width: 58%;
    }

    #gearaside, #imagesaside, #oftheweek
    {
        flex-basis: 18%;
        max-width: 18%;
    }

    #polloptionscontainer figure
    {
        width: calc(13% - var(--fig-padding) - var(--fig-padding));
    } 
}