/* styling for clickshare specific overrides */
/* color scheme */
:root {
    --c-submit: #f7941e;
    --c-submit-accent: #e68108;

    --c-secondary: #1a9ccb;
    --c-secondary-accent: #19accb;   
}

body {
    height: 100vh;
}

#main-head
{
    margin-bottom: 10px;
}

.main-wrap {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.body-container {
    flex: 1;
    margin-bottom: 2em;
}

h1
{
    text-align: center;
    font-size: 48px;
    font-family: Times, "Times New Roman", Georgia, serif;
    font-weight: bold;
    margin-bottom: 0.5em;
}
h2
{
    display: none;
}
.messageDisplay h2
{
    display: block;
    border-bottom: none !important;
    font-size: 20px;
}
h2, h3
{
    margin: 0 0 21px;
    font-size: 25px;
    line-height: 1.3;
    text-transform: uppercase;
    padding: 0;
    border: none;
}

.subhead {
    text-align: center;
    font-size: 18px;
}

a
{
    color: #077da2;
}

/* Subscription Center */
.sub-boxes-container
{
    display: flex;
    flex-flow: row wrap;
    justify-content: space-evenly;
    margin: 2em auto;
    gap: 2em;
}

.sub-box {
    display: flex;
    flex-flow: column nowrap;
    flex-basis: 30%;
    min-width: 300px;
    align-items: center;
    align-self: stretch;
    padding-bottom: 1em;
    border: 1px solid #ccc;
    border-radius: 5px;
    position: relative;
}

.sub-box-banner {
    align-self: stretch;
    text-align: center;
    padding: 5px 0 3px 0;
    font-weight: bold;
    margin-bottom: 1em;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}
.sub-box-banner.popular {
    background-color: #ef6659;
    color: white;
}

.sub-box-title {
    font: bold 24px Times, "Times New Roman", Georgia, serif;
}

.sub-box-price {
    font: bold 48px Times, "Times New Roman", Georgia, serif;
}
.sub-box-price .term {
    font-size: smaller;
}

.sub-box-bullets {
    margin-bottom: 2em;
    flex: 1;
    max-width: 66%;
}

.sub-box-bullets ul {
    list-style-type: '\2713\0020'; /* check-mark + space */
}
.sub-box-bullets ul li::marker {
    color: #a1c873;
    font-weight: bold;
}

.sub-box-button {
    text-align: center;
    border-radius: 6px;
    width: 66%;
    padding: 0.5em 0;
    font-size: 16px;
}

/* Special styles for the promo code 'sub box' */
.sub-box.promo {
    --c-submit: var(--c-secondary);
    --c-submit-accent: var(--c-secondary-accent);
    
    margin-top: 2em;
}

.sub-box.promo .sub-box-banner {
    background-color: var(--c-secondary);
    color: white;
}

.sub-box.promo form {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    row-gap: .5em;
    max-width: 80%;
}

.sub-box.promo form > div {
    margin-bottom: 0;
}

.sub-box.promo .promo-wrapper {
    display: flex;
    flex-flow: row nowrap;
    column-gap: .5em;
}

.sub-box.promo input[type="submit"] {
    margin: 0;
    text-transform: none;
}
.sub-box.promo input[type="text"] {
    text-transform: uppercase;
}

/* Login + New User */
#LoginForm h3 {
    color: #098904;
    font-family:"Open Sans", Arial, sans-serif;
    font-size: 18px;
    margin: 0;
}

#LoginForm label, #LoginForm .forgotpwdlink {
    text-transform: uppercase;
}

#LoginForm label {
    font-size: smaller;
    margin: 0;
}

div#login {
    display: flex;
    flex-flow: column wrap;
    justify-content: space-evenly;
    max-width: 50%;
    margin: 0 auto;
}

.loginbox {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    margin: 0;
    row-gap: 2em;
}

.loginRow  {
    display: flex;
    flex-flow: column nowrap;
    width: 100%;
}

.loginRow input[type="email"], .loginRow input[type="password"], .loginRow input[type="submit"] {
    width: auto;
    padding: .75em 1em;
    margin: 0;
    font-size: larger;
}

.forgotAndRememberMe {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}

input.rememberMe {
    vertical-align: middle;
}
label.rememberMe {
    display: inline-block;
    margin: 0;
}

.separator {
    display: flex;
    align-items: center;
    text-align: center;
    width: 61%;
    margin: 2em auto;
    font-size: smaller;
}
.separator.half {
    width: 50%;
}

.separator::before,
.separator::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid #ccc;
}

.separator:not(:empty)::before {
    margin-right: .5em;
}
.separator:not(:empty)::after {
    margin-left: .5em;
}

/* New User Form */
#newUserForm {
    text-align: center;
}

.csMsgSubDiv {
    text-transform: uppercase;
    font-weight: bold;
}

.csMsgSubDiv p {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    gap: 0.25em 0.5em;
}

.csMsgSubDiv i.fa {
    align-self: center;
}

#newUserForm h3 {
    display: none;
}

/* Large Tablet Layout: 800px. - fluid */
@media only screen and (min-width: 800px) and (max-width: 940px) {
    div#login {
        max-width: 80%;
    }
}

/* Mobile + Small Tablet shared rules */
@media only screen and (max-width: 799px) {
    #subscriptionCenter h1 {
        font-size: 30px;
    }
    
    div#login {
        max-width: 80%;
    }

    .separator {
        width: 80%;
    }
}
/* Mobile */
@media (max-width: 480px) {
    .separator {
        width: 100%;
    }

    .main-head .right {
        display: none;
    }   
}

/* Fix the styles on the masthead links, so adding border-bottom on :hover works better */
#b_ad-1 {
    width: auto;
}
#b_ad-1 ul li a
{
    border-bottom: 3px solid transparent;
}

.clear
{
    clear: both;
}
.messageDisplay
{
    margin: 10px 0;
}
.errorForProperty
{
    display: inline;
    color: red;
}
label
{
    display: block;
    margin-top: 15px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 18px;
}
label.error
{
    font: inherit; /* from body */
}
input[type="text"], input[type="email"], input[type="password"], #addGift textarea
{
    width: 65%;
    font-size: 14px;
}

#newsletters{
    margin: 15px 0;
}
#newsletters input[type="checkbox"]{
    margin-right: 5px;
    width: 18px;
    height: 18px;
    vertical-align: text-top;
}
#newsletters label{
    display: inline-block;
    margin-top: 0;
}
#newsletters span{
    display: block;
    margin-left: 23px;
}
#notYouMsg
{
    text-transform: uppercase;
    margin: 0 10px;
}
#notYouMsg a
{
    color: #555;
}
#notYouMsg a:hover
{
    color: #19accb;
}
form > div
{
    margin-bottom: 2em;
}
h3.accountAddressLabel {
    margin-top: 1em;
}
/* Standard 'button' defaults */
a.button,
input[type="button"],
input[type="submit"]
{
    cursor: pointer;
    transition: 150ms ease-in-out;
}

input[type="button"],
input[type="submit"]
{
    font-size: 14px;
    border: 1px solid;
    border-radius: 5px;
    margin: 5px 10px;
    float: left;
    text-transform: uppercase;
    padding: 5px 10px;
}

#subscriptionCenter .subscriptionLevel .linkBtn
{
    padding: 0 10px;
}

input[type="submit"]
{
    margin-left: 0;
    color: #fff;
    background-color: var(--c-submit);
    border-color: var(--c-submit);
}
input[type="submit"]:hover, input[type="submit"]:focus, input[type="submit"]:active
{
    background-color: var(--c-submit-accent);
    border-color: var(--c-submit-accent);
}
.button,
.secondaryButton
{
    background-color: #1a9ccb;
    color: #fff;
}
.button:hover, .button:focus, .button:active,
.secondaryButton:hover, .secondaryButton:focus, .secondaryButton:active
{
    background-color: #19accb;
}
#copyAddressButton
{
    float: none;
    margin: 0;
}

label.rememberMeLabel
{
    margin-top: 0;
    display: inline-block;
    font-size: 14px;
    margin-left: 0.5em;
}

div#accountHead
{
    margin-bottom: 2em;
}
div.updateBillingInfoBox > div, #updateAccountForm, #updateAddressForm
{
    margin-bottom: 2em;
}
ul.paymentMethod
{
    margin-bottom: 2em;
}

#subscriptionCenter #subscriptionOptions
{
    display: inline-block;
    width: 70%;
    border-right: 5px solid #000;
}
#subscriptionCenter .subscriptionLevel
{
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    margin: 5px 0 20px;
    background-color: #E8E9EA;
    border-radius: 5px;
    padding: 15px;
    width: 90%;
    text-decoration: none;
    font-size: 20px;
    color: #000;
}
#subscriptionCenter .subscriptionLevel:hover
{
    text-decoration: none;
}
#subscriptionCenter .subscriptionLevel .description
{
    color: #0E76BC;
}
#subscriptionCenter h2
{
    display: block;
}
#subscriptionCenter #loginMsg h2
{
    border-bottom: 5px solid #000;
    padding-bottom: 20px;
}
#subOptions .termLabel
{
    display: inline-block;
    margin-left: 0.5em;
}
.termDescription
{
    max-width: 66%;
    margin-top: 1em;
    text-align: justify;
}
#accountInfo
{
    display: inline-block;
    float: left;
}
#accountInfo label
{
    display: inline-block;
    margin-top: 0;
    width: 200px;
}
#sideLinks
{
    display: inline-block;
    margin-left: 250px;
}
#findSubscriber .registrationFormMsg
{
    display: none;
}
#myhome .showTerminate a
{
    display: block;
}
#billingStateHelpMsg
{
    display: block;
}
#addGift .giftRecipientsFields, #addGift #accountFields
{
    padding: 20px 0;
}
#addGift .giftRecipientsFields .giftRecipientsControls
{
    text-align: center;
    padding: 10px 0;
    width: 65%;
}
#addGift .giftRecipientsFields .giftRecipientsControls input[type="button"]
{
    float: none;
}
#addGift .giftRecipientsAutoRenew label span
{
    display: inline-block;
}
#addGift .giftRecipientsAutoRenew span
{
    display: block;
}
#addGift .giftRecipientsAutoRenew span label
{
    margin-top: 0;
    display: inline;
}
#addAccount-confirm .giftRecipientList
{
    padding-left: 40px;
    list-style: unset;
}

.phoneTypeOptions label
{
    display: inline-block;
    padding-right: 3em;
}

.subscriptionDescription {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    margin-top: 1.5em;
    column-gap: 1em;
}
.subscriptionDescription .termSummary {
    display: flex;
    flex-flow: column nowrap;
}
.subscriptionDescription .termProduct {
    font-weight: bold;
}
