﻿@import url("core.css") layer(core);
@import url("main.css") layer(main);
@import url("opc.css") layer(opc);
@import url("print.css") layer(print);

@layer core, main, opc, print, responsive;

@layer responsive {

    @media screen, projection {

        div.contentHeader {
            background: url(../images/tabs-top-border-sprite.jpg) no-repeat left;
            background-size: 100% 100%;
        }

        .abbr-text {
            display: none;
        }

        .amountColumn {
            text-align: right;
        }

        .amountTotal {
            float: right;
            margin: 4px 0 8px 0;
            width: auto;
        }

        .amountTotal td {
            padding-right: 4px;
        }

        .container {
            display: flex;
            flex-wrap: wrap;
        }

        .content h3:first-of-type {
            margin-top: 0;
        }

        .field-name {
            display: block;
            margin: 4px 10px 4px 0;
            text-align: right;
        }

        .paymentHistoryEntry {
            border-bottom: 1px solid black;
        }

        .paymentHistoryEntry > td {
            padding-top: 15px;
        }

        .paymentHistoryTable {
            border-collapse: collapse;
        }

        .paymentHistoryTable .paymentHistoryEntry:first-of-type > td {
            padding-top: 0;
        }

        .paymentHistoryEntry table:first-of-type {
            margin-bottom: 5px;
        }

        .small-content {
            display: none;
        }

        #hamburger-nav {
            display: none;
        }

        #header {
            height: auto;
        }

        #help-image {
            float: right;
            border: none;
            padding: 0;
            margin: 10px 0 6px 20px;
        }

        #nav ul li {
            display: flex;
        }

        #nav ul li a {
            text-decoration: underline;
        }

        #number-container {
            width: 250px;
        }

        #opc-abbr-title {
            display: none;
        }

        #recaptcha-branding {
            display: none;
        }

        #top_bar ul {
            margin: 0;
        }

        #top_bar ul li a {
            color: #00006F;
        }

        @media (width <= 960px) {

            #container {
                width: 100%;
            }

            #footer {
                overflow: hidden;
            }

            #footer_decoration {
                margin-left: 50%;
                transform: translateX(-50%);
            }

            #header img {
                height: 120px;
            }

            #help-image {
                width: 100%;
                max-width: 348px;
                margin: 10px 0;
            }

            #SubmitBtn {
                margin: 0 4px;
            }

            #top_bar,
            #header {
                width: 100%;
            }

            @media (width <= 625px) {

                div.content {
                    padding: 0;
                    border: none;
                }

                div.contentHeader {
                    display: none;
                }

                label,
                .field-name,
                .sharedGenericLabel {
                    margin: 4px 5px 4px 0;
                }

                label.mini-label {
                    margin: 4px 10px 4px 0 !important;
                }

                span.site-description {
                    font-size: 24px;
                }

                [data-val="true"] + .field-validation-valid {
                    display: inline !important;
                }

                [data-val="true"] + .field-validation-valid::after {
                    content: "\2217" !important;
                    font-size: 26px !important;
                    top: auto !important;
                }

                .abbr-text {
                    display: revert;
                }

                .full-text {
                    display: none;
                }

                .grecaptcha-badge {
                    visibility: hidden;
                }

                .large-content {
                    display: none;
                }

                .paymentHistoryItem {
                    display: grid;
                    gap: 6px;
                    margin: 6px 0;
                }

                .paymentHistoryItem.orderSection {
                    grid-template-columns: 3fr 1fr;
                }

                .paymentHistoryItem.paymentSection {
                    grid-template-columns: 2fr 1fr;
                }

                .paymentHistoryItem > div:last-child {
                    font-weight: bold;
                    text-align: right;
                }

                .paymentHistoryItem > div > div:first-child {
                    font-weight: bold;
                }

                .paymentHistoryOrderHeader,
                .recordHistoryPaymentsHeader {
                    background-color: #E0E0E0;
                    display: grid;
                    grid-template-columns: 3fr 1fr;
                    padding: 3px 0;
                }

                .paymentHistoryOrderHeader > div:last-child,
                .recordHistoryPaymentsHeader > div:last-child,
                .small-paymentSummaryItem > div:last-child {
                    text-align: right;
                }

                .paymentHistoryOrderHeader > div > div:first-child,
                .recordHistoryPaymentsHeader > div {
                    font-size: 14px;
                    font-weight: bold;
                }

                .paymentHistoryRecord {
                    border-bottom: 1px solid black;
                    margin-bottom: 15px;
                    padding-bottom: 8px;
                }

                .recordHistoryPaymentsHeader {
                    margin-top: 10px;
                }

                .small-content {
                    display: revert;
                }

                .small-paymentSummaryItem {
                    display: grid;
                    grid-template-columns: 3fr 1fr;
                    gap: 10px;
                    margin: 10px 0;
                }

                .small-paymentSummaryItem > div:last-child,
                .small-paymentSummaryItem > div > div:first-child,
                #small-paymentSummaryTotal {
                    font-weight: bold;
                }

                .tabs {
                    display: none;
                }

                #acceptedSet {
                    width: 305px !important;
                }

                #acceptedSet > img {
                    padding: 0;
                }

                #background_top {
                    background: none;
                    padding-top: 0;
                }

                #content {
                    padding: 12px;
                }

                #EPaymentBtn {
                    margin: 4px 0;
                }

                #hamburgerBtn {
                    background: none;
                    border: none;
                    color: #f9c033;
                    cursor: pointer;
                    display: block;
                    font-size: 24px;
                    height: 40px;
                    outline: 1px solid #000066;
                    position: relative;
                    width: 100%;
                }

                #hamburger-nav {
                    background-color: #000080;
                    display: block;
                }

                #hamburger-nav a {
                    display: block;
                    padding: .6rem 0;
                    color: #ffd11a;
                    text-align: center;
                    text-decoration: none;
                }

                #hamburger-nav li {
                    height: 40px;
                    list-style-image: none;
                    outline: 1px solid #000066;
                }

                #hamburger-nav ul {
                    margin: 0;
                    padding: 0;
                    display: none;
                }

                #hamburger-nav ul.open {
                    display: block;
                }

                #header {
                    height: 120px;
                    padding: 10px;
                    border-bottom: 0;
                }

                #header h1 {
                    padding: 5px 0 5px 10px;
                }

                #header img {
                    height: 85px;
                }

                #nav {
                    background: none;
                }

                #nav a {
                    background-image: none;
                    padding: 0;
                }

                #nav > ul {
                    padding-left: 7px;
                }

                #nav ul li {
                    display: flex;
                    padding: 0;
                }

                #number-container {
                    box-sizing: border-box;
                    height: 28px !important;
                    margin: 0 0 0 4px !important;
                    width: 50vw !important;
                    max-width: 250px;
                }

                #opc-abbr-title {
                    display: block;
                }

                #opc-full-title {
                    display: none;
                }

                #recaptcha-branding {
                    display: block;
                    margin: 20px 0 0 0;
                    border: 5px;
                }

                #RemitterInfoForm input[type="text"],
                #Country,
                #EFTInfo_AccountType,
                #State {
                    box-sizing: border-box;
                    width: 50vw !important;
                    max-width: 250px;
                }

                #sample-check {
                    height: 148px !important;
                }

                #securityCode-container {
                    margin: 0 0 0 4px !important;
                }

                #small-paymentSummaryTotal {
                    border-top: 1px solid black;
                    display: grid;
                    gap: 10px;
                    grid-template-columns: 3fr 1fr;
                    padding-top: 10px;
                }

                #small-paymentSummaryTotal div {
                    justify-self: end;
                }

                #top_bar_right {
                    display: none;
                }

                #top_bar ul li:not(:last-child)::after {
                    content: "/";
                    margin: 0 4px;
                }

                @media (width <= 450px) {

                    span.site-description {
                        font-size: 20px;
                    }

                    #header {
                        height: 80px;
                    }

                    #header h1 {
                        margin: 4px;
                        padding: 4px;
                    }

                    #header img {
                        display: none;
                    }
                }
            }
        }

        @media (625px < width <= 690px) {

            #opc-abbr-title {
                display: block;
            }

            #opc-full-title {
                display: none;
            }
        }
    }
}
