/* Disc pad grid (Views/BrakePadGridOCApi3.cshtml + Partials/DiscPadFilterMenu.cshtml): the
   register-interest form in the empty state, then the filter menu, tiles and loader. Linked right
   after styleM.css; the bare element rules (button, fieldset) are meant for this page only. */

/* Register interest: the empty state carries a form, so it joins the normal
   flow instead of the absolutely centred message the grid CSS gives it. */

.mixerhost .fail-message.dpf-empty {
    position: static;
    display: none;
    opacity: 1;
    pointer-events: auto;
    text-align: left;
}

.mixerhost.fail .fail-message.dpf-empty {
    display: block;
}

.dpf-empty .small-uppercase-heading {
    text-align: center;
    margin: 2rem 0;
}

.dpf-interest {
    max-width: 520px;
    margin: 0 auto 3rem;
    padding: 1.5rem;
    background: #f5f5f5;
}

.dpf-interest h4 {
    margin-top: 0;
}

.dpf-interest label {
    font-size: 0.875rem;
}

.dpf-interest textarea {
    min-height: 5rem;
}

.dpf-interest .button {
    border-radius: 0;
    margin-bottom: 0.5rem;
}

.dpf-privacy {
    font-size: 0.75rem;
    color: #888;
    margin: 0;
}

.dpf-msg {
    margin: 0.75rem 0 0;
    font-weight: bold;
}

.dpf-msg.error {
    color: #c60f13;
}

.dpf-hp {
    position: absolute;
    left: -9999px;
    top: -9999px;
    opacity: 0;
    height: 0;
    overflow: hidden;
}

/* Form & Checkbox Styles */

button {
    display: inline-block;
    vertical-align: top;
    padding: .4em .8em;
    margin: 0 0 .8em 0;
    border: 0;
    font-size: 16px;
    font-weight: 700;
    border-radius: 4px;
    cursor: pointer;
}

button:focus {
    outline: 0 none;
}

fieldset {
    display: inline-block;
    vertical-align: top;
    margin: 0 0 1em 0;
    background: #fff;
    padding: .5em;
    width: 100%;
}

.checkbox {
    display: block;
    position: relative;
    cursor: pointer;
    margin-bottom: 8px;
}

.checkbox input[type="checkbox"] {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    cursor: pointer;
    margin: 0;
    opacity: 0;
    z-index: 1;
}

.checkbox label {
    display: inline-block;
    vertical-align: top;
    text-align: left;
    padding-left: 1.5em;
}

input[type="checkbox"] + label {
    vertical-align: top;
}

.checkbox label:before,
.checkbox label:after {
    content: '';
    display: block;
    position: absolute;
}

.checkbox label:before {
    left: 0;
    top: 0;
    width: 18px;
    height: 18px;
    margin-right: 10px;
    background: #e6e6e6;
    border-radius: 3px;
}

.checkbox label:after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 12px;
    height: 12px;
    border-radius: 2px;
    background: #444;
    opacity: 0;
    pointer-events: none;
}

.checkbox input:checked ~ label:after {
    opacity: 1;
}

.checkbox input:focus ~ label:before {
    background: #e6e6e6;
}

/* Container/Target Styles */

.container {
    min-height: 400px;
}

.container .mix,
.container .gap {
    display: inline-block;
}

.container .mix {
    /* here 05 13 2021 */
}

/* Fail message styles */

.container > li.fail-message {
    width: 100%;
}

.container > li.loading-message {
    width: 100%;
}

.container .fail-message {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    text-align: center;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: 150ms;
    -moz-transition: 150ms;
    transition: 150ms;
}

.container .fail-message:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    height: 100%;
}

.container .fail-message span {
    display: inline-block;
    vertical-align: middle;
    font-size: 20px;
    font-weight: 700;
}

.container .loading-message {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    text-align: center;
    opacity: 1;
    pointer-events: none;
    -webkit-transition: 150ms;
    -moz-transition: 150ms;
    transition: 150ms;
}

.container .loading-message:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
}

.container .loading-message span {
    display: inline-block;
    vertical-align: middle;
    font-size: 20px;
    font-weight: 700;
}

.container.fail .fail-message {
    opacity: 1;
    pointer-events: auto;
}

.loader:before,
.loader:after,
.loader {
    width: 2.5em;
    height: 2.5em;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation: load7 0.9s infinite ease-in-out;
    animation: load7 0.9s infinite ease-in-out;
}

.loader {
    font-size: 10px;
    margin: 80px auto;
    position: relative;
    text-indent: -9999em;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation-delay: -0.08s;
    animation-delay: -0.08s;
}

.loader:before {
    left: -3.5em;
    -webkit-animation-delay: -0.16s;
    animation-delay: -0.16s;
}

.loader:after {
    left: 3.5em;
}

.loader:before,
.loader:after {
    content: '';
    position: absolute;
    top: 0;
}

@-webkit-keyframes load7 {
    0%,
    80%,
    100% {
        box-shadow: 0 2.5em 0 -1.3em #e6e6e6;
    }

    40% {
        box-shadow: 0 2.5em 0 0 #e6e6e6;
    }
}

@keyframes load7 {
    0%,
    80%,
    100% {
        box-shadow: 0 2.5em 0 -1.3em #e6e6e6;
    }

    40% {
        box-shadow: 0 2.5em 0 0 #e6e6e6;
    }
}

#productGrid {
    min-width: 100%;
}

#productGrid td {
    max-width: 15%;
    min-width: 15%;
}

table#productGrid tr.even,
table#productGrid tr.alt,
table#productGrid tr:nth-of-type(even) {
    background: #fff;
}

table#productGrid {
    border: none;
    border-color: #fff;
}

.productList h5 {
    display: inline-block;
    position: relative;
    width: 95%;
}

.productList h5 small {
    font-size: 75%;
    font-weight: 300;
    color: #e6e6e6;
}

.productName_container {
    display: inline-block;
    position: relative;
    width: 95%;
    background-color: #282828;
    padding: 2px 8px 3px 12px;
}

.productName {
    font-size: 0.875rem;
    color: #fff;
}

ul.productList li {
    margin-bottom: 10px;
}

.productName {
    z-index: 9998;
}

.row.effects {
    margin: 0 0;
}
