/* Font */
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&family=Roboto+Flex:opsz,wght@8..144,300;8..144,400;8..144,500;8..144,700&family=Roboto+Slab:wght@300;400;500;600;700&family=Roboto:wght@300;400;500;700&display=swap');

/* Content Sizing */
span#content2 {
    max-width: 420px;
    width: 100%;
}

span#content3 {
    width: 100%;
    max-width: 840px;
}

.container {
    width: 1300px;
}

/* Campaign */

div[id^="campaignPlaceholder"] ul {
    padding-left: 0px;
}

div[id^="campaignPlaceholder"] ul > div:first-child {
    display: none !important;
}

div[id^="campaignPlaceholder"] span p {
    display: none;
}

div[id^="campaignPlaceholder"] span ul li {
    /* margin-top:20px; */
}

div[id^="campaignPlaceholder"] {
    display: inline-block;
}

div[id^="campaignPlaceholder"] span ul li input[type="radio"]:checked,
input[type="checkbox"]:checked {
    border: 1px solid #D0CFCF;
}

/* details */

button#detailsbutton {
    background: none;
    color: #0098d2;
    text-decoration: none;
    border: none;
    text-shadow: none;
    font-size: 16px;
}

/* more info */
.card.card-body.py-4.border-0.bg-primary {
    background: #0098d2;
    color: #fff;
    padding: 20px;
    border-radius: 10px;
    margin: 0px 0px 20px;
}

.card.card-body.py-4.border-0.bg-primary li {
    list-style: disc;
}

.card.card-body.py-4.border-0.bg-primary ul {
    margin-left: 20px;
}

/* General Rules */

* {
    box-sizing: border-box;
}

body {
    font-family: 'Roboto Slab', serif;
    color: #333232;
}

h1 {
    line-height: normal;
    font-size: 26px;
    margin-bottom: 0px;
    margin-top: 20px;
    color: #333232;
}

span#content2 img {
    width: 100%;
    max-width: 390px;
}

span.sechead {
    font-size: 16px;
    max-width: 77%;
    display: block;
    color: #333232;
    text-transform: uppercase;
    padding: 8px 0px 15px;
    font-weight: 500;
}

input[type="text"],
input[type="password"],
input[type="email"],
select {
    height: 45px;
    border-radius: 6px;
}

div#formFinePrint {
    margin: 20px 0 0;
    border: 2px solid #dee2e6;
    padding: 20px;
    border-radius: 10px;
    background: #f8f8f8;
}

p.mb-1 {
    font-weight: 700;
}

div#formFinePrint a {
    text-decoration: none;
    color: #0098d2;
}

input[type="submit"] {
    width: 100%;
    text-decoration: none;
    text-shadow: none;
    color: #fff;
    background: #0098d2;
    font-size: 16px;
    border: 1px solid #0098d2;
    padding: 12px;
    border-radius: 10px;
}

div#custservdet {
    background: #f8f8f8;
    padding: 10px;
    margin: 10px 0px;
    max-width: 500px;
    border-radius: 7px;
    border: 2px solid #dee2e6;
    font-weight: bold;
}

#p32.addresslabel .questionlabel {
    display: none;
}

span.spanc130.drg-element-type-standard-field.drg-element-sub-type-fieldname-BILLINGADDRIND {
    display: block;
    margin: 10px 0px;
}

ul.navbar-nav.flex-row.justify-content-center.text-center {
    margin: 20px;
}

/* Header */

nav#subscriptionNav a {
    text-align: center;
    vertical-align: middle;
}

div#sec1 {
    display: block;
    border: 1px solid #c8c8c8;
    padding: 20px;
}

.card-header {
    background: #252525;
    padding: 20px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

h4.card_title {
    display: inline-block;
    font-family: 'Roboto Slab', serif;
    color: white;
    width: 49%;
}

nav#subscriptionNav a {
    display: table-cell;
    margin: 0;
    padding: 10px;
    line-height: 1.5;
    text-decoration: none;
    background-color: #252525;
    color: #fff;
    border: 1px solid #0098d2;
}

nav#subscriptionNav a.btn.btn-primary.active {
    background-color: #0098d2;
}

nav#subscriptionNav {
    float: right;
    background: #252525;
}

a.btn.btn-primary.active.aone {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

a.btn.btn-primary.aone {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

a.btn.btn-primary.athree {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

.col-12.col-lg-6.text-center.text-lg-end {
    width: 50%;
}

.card_1 {
    display: flex;
}

/* Country / Term Radios (shared for spanc74, spanc1087, etc.) */

span.drg-element-type-cms-content.drg-element-sub-type-category-1 {
    font-size: 16px;
    max-width: 77%;
    display: inline-block;
    color: #333232;
    font-weight: 500;
}

/* Base pill-style button for all category-1 radios */
span.drg-element-type-cms-content.drg-element-sub-type-category-1 .radiolabel label {
    display: inline-block;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 2px solid #dee2e6;
    font-size: 16px;
    border-radius: 10px;
    color: #252525;
    background: #f8f8f8;
    padding: 11px 13px;
    transition:
        color 0.15s ease-in-out,
        background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out,
        box-shadow 0.15s ease-in-out;
}

/* Hide native radios; use labels as buttons */
span.drg-element-type-cms-content.drg-element-sub-type-category-1 input[type="radio"] {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none;
}

/* Selected state: blue button with white text */
span.drg-element-type-cms-content.drg-element-sub-type-category-1
input[type="radio"]:checked + .radiolabel label {
    margin-bottom: 0;
    background: #0098d2;
    border-color: #0098d2;
    color: #fff;
}

/* Hover / focus for all country/term pills */
span.drg-element-type-cms-content.drg-element-sub-type-category-1 .radiolabel:hover label,
span.drg-element-type-cms-content.drg-element-sub-type-category-1 .radiolabel label:focus {
    text-decoration: none;
    background: #fff;
    border-color: #ffcd78;
    color: #ffcd78;
    box-shadow: none;
}

span.drg-element-type-cms-content.drg-element-sub-type-category-1 .radiolabel label path {
    transition: fill 0.15s ease-in-out;
}

span.drg-element-type-cms-content.drg-element-sub-type-category-1 .radiolabel:hover label path,
span.drg-element-type-cms-content.drg-element-sub-type-category-1 .radiolabel label:focus path {
    fill: #ffcd78;
}

span.drg-element-type-cms-content.drg-element-sub-type-category-1 .radiolabel label:focus,
span.drg-element-type-cms-content.drg-element-sub-type-category-1 .radiolabel label.focus {
    outline: 0;
}

span.drg-element-type-cms-content.drg-element-sub-type-category-1 .radiolabel label:not(:disabled):not(.disabled) {
    cursor: pointer;
}

/* List layout for radio groups (default stacked) */
span.drg-element-type-cms-content.drg-element-sub-type-category-1 li {
    display: block;
    padding: 0 5px;
}

span.drg-element-type-cms-content.drg-element-sub-type-category-1 ul {
    margin: 0;
}

/* =====================================================
   Desktop spacing for spanc74 (US / Canada / Intl)
   ===================================================== */
@media (min-width: 992px) {

    span.spanc74.drg-element-type-cms-content.drg-element-sub-type-category-1 {
        display: block;
        max-width: 77%;
        width: 100%;
        margin-bottom: 8px;   /* space between buttons and rate card */
    }

    /* 3 buttons in a row, tight gap */
    span.spanc74.drg-element-type-cms-content.drg-element-sub-type-category-1 ul {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 4px;
        padding: 0;
        margin: 0;
    }

    span.spanc74.drg-element-type-cms-content.drg-element-sub-type-category-1 li {
        flex: 0 1 auto;
        width: auto;
        margin: 0;
        padding: 0;
    }

    span.spanc74.drg-element-type-cms-content.drg-element-sub-type-category-1 .radiolabel label {
        padding: 8px 14px;
        white-space: nowrap;
        font-size: 15px;
    }
}

/* Small-screen font tweaks for pills */
@media (max-width: 575px) {
    span.drg-element-type-cms-content.drg-element-sub-type-category-1 .radiolabel label,
    .radiolabel label {
        font-size: 16px;
    }
}
@media (max-width: 375px) {
    span.drg-element-type-cms-content.drg-element-sub-type-category-1 .radiolabel label {
        font-size: 13px;
        line-height: 16px;
    }
}
@media (max-width: 360px) {
    .radiolabel label {
        font-size: 14px;
        padding-right: 10px;
        padding-left: 10px;
    }
}

/* Rate */

span#rate {
    color: #0098d2;
    min-width: 71px;
    font-size: 20px;
    text-align: right;
    display: inline-block;
}

span.drg-element-type-cms-content.drg-element-sub-type-category-8 li {
    margin-bottom: 0px;
}

span.drg-element-type-cms-content.drg-element-sub-type-category-8 ul {
    margin: 0px;
}

p.drg-element-sub-type-category-8 {
    display: none;
}

/* Addresses and Payment */

input#id13 {
    margin-bottom: 5px;
}

span.help-text.d-block.fs-6.text-muted.mt-2 {
    font-size: 12px;
}

span.help-text.d-block.fs-6.text-muted.mt-2 a {
    color: #0098d2;
    text-decoration: none;
}

p#p13 {
    max-width: 100%;
    width: 100%;
}

#p127.addresslabel {
    padding-left: 0px;
}

p#p130 {
    display: none;
}

div#addresssec {
    margin-bottom: 20px;
    background: #f8f8f8;
    padding: 20px;
    border: 2px solid #dee2e6;
    border-radius: 7px;
}

body#updatecc {
    margin-left: 0px;
}

p#p32 {
    font-family: Gotham, Helvetica, Verdana, Arial, sans-serif;
}

#p32.addresslabel {
    padding-left: 0px;
}

select#EXPMONTH {
    height: 48px;
    display: inline-block;
    width: 45%;
    margin-right: 10px;
}

select#EXPYEAR {
    height: 48px;
    display: inline-block;
    width: 45%;
}

.addresslabel .questionlabel {
    font-size: 20px;
    color: #111;
    margin-bottom: 10px;
}

.addresslabel {
    margin: 0px;
    display: inline-block;
    max-width: 100%;
    margin-top: var(--bs-gutter-y);
    width: 50%;
    padding-bottom: 0px;
    padding-top: 0px;
    padding-right: 20px;
}

p#p16,
p#p17 {
    display: inline-block;
    margin-bottom: 21px !important;
    max-width: 100%;
    padding-right: 20px;
    margin-top: var(--bs-gutter-y);
    flex: 0 0 auto;
    width: 50%;
    padding-bottom: 0px;
    padding-top: 0px;
}

p#p17 .questionlabel,
p#p16 .questionlabel {
    font-size: 20px;
    color: #111;
    margin-bottom: 10px;
}

p#p8,
p#p81 {
    width: 26%;
}

p#p9,
p#p82 {
    width: 24%;
}

p.drg-element-type-standard-field span.questionlabel {
    display: none;
}

input[type="text"],
input[type="password"],
input[type="email"],
textarea,
select {
    max-width: 100%;
}

@media (max-width: 767px) {
    .addresslabel,
    p#p8,
    p#p9,
    p#p16,
    p#p17,
    p#p81,
    p#p82 {
        width: 100%;
    }
}

span.secsubhead {
    font-size: 16px;
    max-width: 77%;
    display: block;
    color: #333232;
    padding: 12px 0px;
    font-weight: 500;
    font-family: 'Roboto Flex', sans-serif;
}

/* Left Card */

span#riskfree {
    width: 100%;
    display: block;
}

span#riskfree img {
    width: 100%;
    margin: 20px 0px;
}

.proddesc {
    background: #252525;
    padding: 15px;
    border-radius: 10px;
    margin: 15px 0px;
    color: #fff;
}

span#getfree {
    color: #0098d2;
    font-weight: bold;
    font-size: 16px;
    display: block;
}

span#lefttext {
    color: #fff;
    font-size: 28px;
    font-weight: 400;
    display: block;
    padding: 10px 0px;
    line-height: 1.2em;
}

.proddesc span.small {
    font-size: 14px;
    font-weight: 100;
    margin-bottom: 15px;
    display: block;
}

/* Footer */

.sixteen.columns.footer {
    margin-top: 80px;
    display: block;
    text-align: center;
    background: #333232;
    color: #fff;
    border: none;
}

p.gpmfooter {
    margin: 20px auto;
    max-width: 735px;
    text-align: center;
    font-size: 12.5px;
}

.sixteen.columns.footer a {
    text-decoration: none;
    color: #0098d2;
    display: inline-block;
}

p.gpmfooter li {
    display: inline-block;
}

.sixteen.columns.footer li {
    display: inline-block;
    padding: 0px 10px;
    font-size: 14px;
}

p#copyright {
    margin: 0px;
    background: #252525;
    padding: 20px;
    font-size: 14px;
}

/* Responsive Layout */

@media only screen and (max-width: 1200px) {
    .container {
        max-width: 900px;
    }

    span#content2 {
        max-width: 250px;
        text-align: center;
    }

    span#content2 img[alt="LOQ logo"] {
        /* max-width: 65%; */
    }

    img.prodimg {
        width: 100%;
    }

    span#content3 {
        max-width: 600px;
    }

    img {
        max-width: 100%;
    }
}

@media only screen and (max-width: 1200px) {
    .container {
        max-width: 768px;
    }

    span#content2 {
        max-width: 200px;
        text-align: center;
    }

    span#content2 img[alt="LOQ logo"] {
        /* max-width: 80%; */
    }

    span#content3 {
        max-width: 520px;
    }

    /* keep rate rows full width on tablets */
    span.spanc77.drg-element-type-cms-content.drg-element-sub-type-category-8 {
        width: 100%;
        margin: 0px;
    }

    span.drg-element-type-cms-content.drg-element-sub-type-category-8,
    div[id^="campaignPlaceholder"] li {
        margin: 0px;
        width: 100%;
        max-width: 100%;
        margin-bottom: 12px;
    }

    div[id^="campaignPlaceholder"] {
        display: block;
    }
}

@media only screen and (max-width: 767px) {
    .container {
        max-width: 100%;
    }

    span#content2 {
        margin-bottom: 20px;
        max-width: 100%;
        margin: 20px 0px;
    }

    span#content3 {
        max-width: 100%;
        margin: 0px;
        padding: 10px;
    }

    .addresslabel {
        display: block;
        width: 100%;
    }

    p#p8,
    p#p81,
    p#p9 {
        width: 100% !important;
    }

    .proddesc img {
        max-width: 300px;
        width: 100%;
    }

    .card_1 {
        display: block;
        text-align: center;
    }

    h4.card_title {
        width: 100%;
        display: block;
    }

    .card-header {
        display: block;
    }

    nav#subscriptionNav a {
        min-width: 130px;
        display: inline-block;
    }

    nav#subscriptionNav {
        display: block;
        float: none;
    }

    .col-12.col-lg-6.text-center.text-lg-end {
        width: 100%;
        margin: 0 auto;
    }

    div#mobileProd {
        max-width: 500px;
        margin: 0 auto;
        display: block;
    }

    div#content4 {
        text-align: center;
        margin: 0 auto;
        width: 100%;
    }

    p.gpmfooter {
        max-width: 500px;
        width: 100%;
        padding: 0 30px;
    }
}

@media only screen and (max-width: 487px) {
    span.spanc74.drg-element-type-cms-content.drg-element-sub-type-category-1 li {
        padding: 0px;
        width: 100%;
    }

    nav#subscriptionNav a {
        width: 100%;
        border-radius: 0px;
    }
}

/* Rate card & campaign list containers */

span.drg-element-type-cms-content.drg-element-sub-type-category-8 ul li,
div[id^="campaignPlaceholder"] li {
    vertical-align: middle;
    display: inline-block;
    border: 2px solid #dee2e6;
    background: #f8f8f8;
    padding: 10px;
    margin: 0px;
    border-radius: 10px;
    margin-left: 15px;
}

span.drg-element-type-cms-content.drg-element-sub-type-category-8 ul {
    display: inline-block;
}

@media only screen and (max-width: 1200px) {
    span.drg-element-type-cms-content.drg-element-sub-type-category-8 ul li,
    div[id^="campaignPlaceholder"] li {
        margin: 0px;
        width: 100%;
        max-width: 100%;
        margin-bottom: 12px;
    }
}

/* ===== Offer card + "All prices are in USD." (desktop) ===== */

/* ORIGINAL form rate row (spanc77) */
span.spanc77.drg-element-type-cms-content.drg-element-sub-type-category-8 {
    float: left;
    width: auto;
    max-width: calc(100% - 210px);  /* room for "All prices are in USD." on the right */
    margin-top: 10px;
    margin-bottom: 4px !important;
}

/* GIFT form rate row (spanc1302) - full width below COUNTRY & TERM */
span.spanc1302.drg-element-type-cms-content.drg-element-sub-type-category-8 {
    float: none;
    display: block;
    width: 100%;
    max-width: 100%;
    margin-top: 10px;
    margin-bottom: 4px !important;
}

/* USD note (original form only) */
div#disp152481 {
    float: right;
    margin-top: 6px;
    margin-right: 0;
    font-size: 12px;
    white-space: nowrap;
    line-height: 20px;
}

/* Reduce space under rate card */
span.drg-element-type-cms-content.drg-element-sub-type-category-8 ul li {
    margin-bottom: 4px !important;
    padding-bottom: 6px;
}
span.drg-element-type-cms-content.drg-element-sub-type-category-8 {
    margin-bottom: 4px !important;
}

/* ===== MOBILE LAYOUT: stacked country buttons, currency + rate ===== */

/* 1) Base mobile layout up to 767px */
@media (max-width: 767px) {

    /* Stack country buttons full width */
    span.spanc74.drg-element-type-cms-content.drg-element-sub-type-category-1 {
        display: block;
        max-width: 100%;
        width: 100%;
        margin-bottom: 8px;
    }

    span.spanc74.drg-element-type-cms-content.drg-element-sub-type-category-1 ul {
        display: block;
        margin: 0;
        padding: 0;
    }

    span.spanc74.drg-element-type-cms-content.drg-element-sub-type-category-1 li {
        display: block;
        width: 100%;
        padding: 0;
        margin: 0 0 8px;
        text-align: center;
    }

    span.spanc74.drg-element-type-cms-content.drg-element-sub-type-category-1 .radiolabel label {
        display: block;
        width: 100%;
    }

    /* Remove floats for rate + USD note */
    span.spanc77.drg-element-type-cms-content.drg-element-sub-type-category-8,
    span.spanc1302.drg-element-type-cms-content.drg-element-sub-type-category-8,
    div#disp152481 {
        float: none;
        max-width: 100%;
        width: auto;
    }

    /* Default mobile: USD note and rate pill inline (for 415–767px) */
    div#disp152481 {
         text-align: left;
        margin: 0 8px 0 0;
        white-space: nowrap;
        font-size: 12px;
    }

    span.spanc77.drg-element-type-cms-content.drg-element-sub-type-category-8,
    span.spanc1302.drg-element-type-cms-content.drg-element-sub-type-category-8 {
        display: inline-block;
        vertical-align: middle;
        margin-top: 4px;
    }

    /* Rate card inline structure */
    span.drg-element-type-cms-content.drg-element-sub-type-category-8 ul {
        display: inline-block;
        margin: 0;
        padding: 0;
    }

    span.drg-element-type-cms-content.drg-element-sub-type-category-8 ul li {
        display: inline-block;
        margin: 0;
        padding: 12px 14px;   /* taller pill on mobile */
        font-size: 14px;      /* slightly smaller text */
    }

    /* Slightly smaller price on mobile */
    span#rate {
        font-size: 18px;
    }
}

/* 2) Extra-narrow phones (≤414px): stack rate BELOW currency note */
@media (max-width: 414px) {

    /* Currency note full-width above */
    div#disp152481 {
        margin: 0 0 4px;
        text-align: left;
        white-space: normal;   /* allow wrapping if needed */
    }

    /* Rate card full-width below */
    span.spanc77.drg-element-type-cms-content.drg-element-sub-type-category-8,
    span.spanc1302.drg-element-type-cms-content.drg-element-sub-type-category-8 {
        display: block;
        width: 100%;
        margin-top: 4px;
    }

    span.drg-element-type-cms-content.drg-element-sub-type-category-8 ul {
        display: block;
    }

    span.drg-element-type-cms-content.drg-element-sub-type-category-8 ul li {
        display: block;
        width: 100%;
        text-align: left;
        padding: 10px 12px;
        font-size: 13px;       /* slightly smaller again for safety */
    }

    span#rate {
        font-size: 17px;
    }
}
