body {
    padding: 0;
    margin: 0;
    font-family:Arial, Helvetica, sans-serif;
}

body #content {
    position: absolute;
    width: 100%;
    overflow: auto;
    top: 7%;
    right: 0;
}

menu {
    text-align: center;
    margin: 0;
    position: fixed;
    top: 0;
    width: 100%;
    margin-left: 50%;
    margin-right: 50%;
    white-space: nobreak;
    background-color: #dddddd;
    z-index: 1;
    padding: 1%;
    margin-left: auto;
    margin-right: auto;
}

span {
    margin-bottom: 10px;
}

p {
    font-size: 120%;
}

menu span {
    margin-left: 65px;
    margin-right: 65px;
}

.strong {
    font-weight: bold;
}

.big {
    font-size: larger;
}

#payment:focus {
    background-color: rgba(0, 0, 0, 0.15);
}

#products {
    text-align: center;
    margin: 15px;
    margin-top: 0;
}

#contact {
    font-size: 150%;
}


menu>span {
    font-weight: bold;
}

.Web:before,
.WebRefund:before,
.Dom:before,
.ARPrv:before {
    content: "$";
}

.Web:after {
    content: "500.00";
}

.Dom:after {
    content: "179.00";
}

.ARPrv:after {
    content: "130.00";
}

.WebRefund:after {
    content: "100.00";
}

.payment-style td {
    text-align: center;
}

.as-button {
    padding-left: 24px;
    padding-right: 24px;
    background-color: #FFC439;
    color: black;
    font-weight: bold;
    display: inline-block;
    border-radius: 1em;
    padding-top: 5px;
    padding-bottom: 5px;
    border: 0;
    text-decoration: none;
    cursor: pointer;
}

.as-button-blue {
    padding-left: 24px;
    padding-right: 24px;
    background-color: #2c73f8;
    color: white;
    font-weight: bold;
    border-radius: 1em;
    display: inline-block;
    padding-top: 5px;
    padding-bottom: 5px;
    border: 0;
    text-decoration: none;
    cursor: pointer;
}

.payment-style {
    margin: 20px;
    margin-right: 100px;
}

.payment-style thead th,
.payment-style tbody td {
    padding-right: 175px;
    vertical-align: top;
}

.payment-style thead th:last-child,
.payment-style tbody td:last-child {
    padding-right: 0;
}

.anchor-container {
    position: relative;
}

.anchor-target {
    position: absolute;
    top: -20vh;
    left: 0;
}

.info-box {
    position: fixed;
    display: block;
    width: 60vw;
    height: 60vh;
    top:100vh;
    left:15vw;
    text-align: center;
    opacity: 0.0;
    background: white;
    border-radius: 15px;
    border: 8px solid #444444;
    padding: 15px;
    overflow-y: scroll;
    transition: opacity 0.6s cubic-bezier(0.08, 1.02, 1, 1), top 0.6s ease-in-out;
}

input:checked ~.info-box {
    top: 15vh;
    opacity: 1.0;
    transition: opacity 0.6s cubic-bezier(1, 0.04, 1, 1), top 0.6s ease-in-out;
}

.clicktrap {
    position: fixed;
    display: none;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
}

input:checked ~.clicktrap {
    display:block;
}


#payment>#webasto:checked~#card:checked~#result>#webasto-card,
#payment>#dometic:checked~#card:checked~#result>#dometic-card,
#payment>#custom:checked~#card:checked~#result>#custom-card,
#payment>#webasto:checked~#paypal:checked~#result>#webasto-paypal,
#payment>#dometic:checked~#paypal:checked~#result>#dometic-paypal
{
    display: block !important;
}


#payment>#custom:checked~#paypal+label
{
    display: none;
}


#payment {
    display: grid;
    width: 700px;
    justify-items: stretch;
    align-items: stretch;
    grid-template-columns: 33% 34% 33%;
    grid-row-gap: 15px;
    grid-template-areas:
        "product product product"
        "webasto custom dometic"
        "payment payment payment"
        "card check paypal"
        "result result result";
    margin-bottom: 15px;
}

#payment>* {
    text-align: center;
}

#payment #product-header {
    grid-area: product;
    margin-top:10px;
}

#payment #payment-header {
    grid-area: payment;
    margin-top:40px;
}

#payment label {
    padding: 10px;
    font-size: 120%;
    font-weight: bold;
    border: 1px lightgray solid;
}

#product-header,
#payment-header {
    font-size: 150%;
}

#payment input:checked+label {
    background: #75bbfc;
}

#payment>.first {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

#payment>.last {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

#payment [for="webasto"] {
    grid-area: webasto;
    place-self: center end;
    display: inline-block;
    max-width: 220px;
}

#payment [for="dometic"] {
    grid-area: dometic;
    place-self: center start;
    display: inline-block;
    max-width: 220px;
}

#payment [for="custom"] {
    grid-area: custom;
    display: inline-block;
    max-width: 220px;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {  
#payment [for="custom"] {
    vertical-align: top;
    min-height: 2.45em;
}
}

#payment [for="card"] {
    grid-area: card;
    display: inline-block;
    min-width: 200px;
}

#payment [for="paypal"] {
    grid-area: paypal;
    display: inline-block;
    min-width: 200px;
}

#payment [for="check"] {
    grid-area: check;
    display: inline-block;
    min-width: 200px;
}

#payment #result {
    grid-area: result;
    margin-top:15px;

}

#payment #result [id^="submit-"] {
    font-size: 130%;
    margin-top: 20px;
    margin-bottom: 15px;
}

#payment #result [id^="submit-"],
#payment label {
    cursor:pointer;
}