/* CSS Document */
.clear {
    clear: both;
}

.error {
    color: #F00;
    text-align: left;
}

.subscribe_container {
    width: 100%;
    height: auto;
    float: left;
    margin: 0;
    box-sizing: border-box;
    padding: 10px;
}

.subscribe_container h1, .subscribe_container h2, .subscribe_container h3 {
    color: #0066CB;
    margin: 0 0 5px;
}

.subscribe_container h1 {
    font-size: 21px;
    padding-bottom: 5px;
    margin-bottom: 15px;
}

.subscribe_container h2 {
    font-size: 16px;
}

.subscribe_container p {
    margin: 0 0 10px;
}

.subscribe_container ul {
    margin-bottom: 10px;
    line-height: 18px;
    float: none;
}

.subscribe_container label {
    width: 100%;
    float: none;
    text-align: left;
    margin-right: 0;
    line-height: 28px;
    box-sizing: border-box;
}

label.m-label-block {
    display: block;
}

span.PurchaseSubscriptionPrice, span.PurchaseSubscriptionPrice24 {
    font-size: 1.4em;
    display: block;
    text-align: center;
    margin: 0 !important;
}

span.PurchaseSubscriptionPrice + span, span.PurchaseSubscriptionPrice24 + span {
    display: block;
    text-align: center;
    margin: 0;
}

.subscribe_container input[type="text"], 
.subscribe_container input[type="password"],
.subscribe_container input[type="email"],
.subscribe_container input[type="tel"],
.subscribe_container select {
    width: 100% !important;
    margin-bottom: 0px;
    color: #A2A2A6;
    font-size: 12px;
    padding: 0.3em;
    display: block;
    box-sizing: border-box;
    font-size: 1em;
}

.subscribe_container > input {
    margin-bottom: 0;
}

.subscribe_container input[type="text"]:focus {
    color: #000;
}

.subscribe_container input[type="radio"], .subscribe_container input[type="checkbox"], .subscribe_container span {
    line-height: 19px;
    margin-top: 7px;
    float: none;
    margin-bottom: 15px;
    margin-left: 0 !important;
}

.subscribe_container button {
    float: none;
    cursor: pointer;
    margin: 1rem auto;
    padding: 12px 25px;
    font-size: 16px;
    display: block;
}

.m-cellblock {
    display: block;
    box-sizing: border-box;
}

.left_subscribe_container {
    width: 100%;
    height: auto;
    float: none;
    padding: 0;
    box-sizing: border-box;
    padding: 0px;
    opacity: 0;
    visibility: hidden;
    height: 0;
    transition: .2s opacity ease;
}

.right_subscribe_container {
    width: 695px;
    height: auto;
    float: none;
    padding: 0px;
    border-left: none;
    box-sizing: border-box;
    margin-top: 0 !important;
    opacity: 0;
    visibility: hidden;
    height: 0;
    transition: .2s opacity ease;
}

.right_subscribe_container h3 {
    margin-bottom: 10px;
    color: #000;
}

.left_subscribe_container p {
    padding: 0px 10px;
}

.left_subscribe_container form {
    width: 100%;
    margin: auto;
    text-align: left;
}

.left_subscribe_container form a {
    float: none;
    display: block;
    text-align: center;
    margin-bottom: 1em;
}

.right_subscribe_container form {
    width: 100%;
    float: none;
    box-sizing: border-box;
}

.reset_password .back_to_login {
    text-align: center;
    margin:10px auto;
}

.subscribe_container form input[type="submit"] {
    margin-left: auto !important;
    width: 100%;
    margin-top: 1em;
    padding: 0.8em;
}

.feature_list {
    width: 100%;
    float: none;
    margin-left: 0;
    margin-top: 2em;
    box-sizing: border-box;
}

.branding {
    width: calc(100%);
    height: auto;
    float: left;
    padding: 5px;
    box-sizing: border-box;
}

.branding p {
    float: left;
    margin: 10px 0 0;
}

.branding hr {
    margin: 15px 0 0;
    z-index: -999;
    border-color: #FB959C;
}

.branding small {
    font-weight: bold;
    color: #0066cb;
    float: left;
    font-size: 12px;
    z-index: 999;
    background: url(tcps_graphics/tcps.png) no-repeat left center #fff;
    text-transform: uppercase;
    padding: 5px 10px 5px 20px;
    margin-top: -15px;
}

.subscribe_container table {
    width: 100%;
    margin: 10px 0px;
    float: left;
    border-collapse: collapse;
}

.subscribe_container table thead {
    background: #333;
    border: 1px solid #000;
}

.subscribe_container table thead th {
    color: #99CCFF;
    text-align: left;
    font-size: 13px;
    padding: 5px 10px;
}

.subscribe_container table tr td {
    color: #000;
    padding: 2px 10px;
}

.subscribe_container table tr td.alert {
    color: #F00;
}

.subscribe_container table tr td a {
    color: #429BF5;
}

.subscribe_container tbody {
    border: 1px solid #CCC;
    border-top: none;
    line-height: 18px;
}

.sc_box {
    width: 49.9%;
    float: left;
    margin-bottom: 15px;
}

.lineheader {
    color: #99CCFF;
    background: #333;
    width: 100%;
    float: left;
    margin-bottom: 15px;
}

.lineheader span {
    font-weight: bold;
    font-size: 13px;
    padding: 5px 10px;
    margin: 0px;
}

#sub_personal_information input[type="text"], #sub_detail input[type="text"] {
    width: 335px;
    float: left;
}

#sub_personal_information input[readonly="readonly"], #sub_detail input[readonly="readonly"] {
    background: #F2F5F7;
    border: 1px solid #999999;
    width: 334px;
    color: #666;
}

#sub_detail span {
    color: #A2A2A6;
}

#sub_detail button {
    margin-right: 135px;
    margin-top: 50px;
}

.m-login-tabs {
    display: flex;
    width: 100%;
    flex-direction: row;
    margin-bottom: 5px;
    box-shadow: 0 0 13px rgb(0 0 0 / 18%);
    background: rgb(255 255 255);
}

.m-login-tabs >div {
    font-size: 14.5px;
    text-transform: uppercase;
    font-weight: 700;
    flex-grow: 1;
    text-align: center;
    padding: 1em;
    letter-spacing: 1.5px;
    color: grey;
}

.m-login-tabs >div.active {
    border-bottom: 3px solid rgb(0 102 203);
    color: rgb(0 102 203);
}

.right_subscribe_container.show {
    opacity: 1;
    visibility: visible;
    height: auto;
    padding: 10px;
}

.left_subscribe_container.show {
    opacity: 1;
    visibility: visible;
    height: auto;
    padding: 10px;
}

.input_wrapper .show_password {
    position: absolute;
    bottom: 0.2em;
    right: 0.3em;
    margin: 0;
}

.input_wrapper {
    position: relative;
}

.input_wrapper .show_password input {
    margin: 0 !important;
    opacity: 0;
    height: 1.9em;
    width: 1.9em;
}

.input_wrapper.input_type_password span.show_password {
    background-image: url('tcps_graphics/showhidepassword.png');
    background-size: 100%;
    opacity: 0.4;
}

.input_wrapper.input_type_password input:focus + span.show_password {
    opacity: 1;
}

.input_wrapper.input_type_password > input {
    padding-right: 2em;
}

.input_wrapper.input_type_password.shown span.show_password {
    background-position: bottom;
}

.input_wrapper.fancy .input_wrapper_inner > span {
    line-height: 1.1;
    position: relative;
    margin: 0;
    border: 2px solid rgb(241 241 241);
    padding: .5em;
    border-radius: 3px;
    background: rgb(249 249 249);
    display: flex;
    align-items: center;
    position: relative;
    padding-left: 34px;
}

.input_wrapper.fancy .input_wrapper_inner input {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99;
    margin: 0 !important;
    width: 100%;
    height: 100%;
}

.input_wrapper.fancy .input_wrapper_inner input + span:before {
    content: '';
    height: 20px;
    width: 20px;
    border: 1.4px solid rgb(118 118 118);
    border-radius: 50%;
    display: block;
    position: absolute;
    left: 7px;
    box-sizing: border-box;
}

.input_wrapper.fancy .input_wrapper_inner input:checked + span.cb_label:after {
    content: '';
    height: 9.3px;
    width: 14.9px;
    border-top: 0 !important;
    border-right: 0 !important;
    border-left: 3px solid rgb(227 241 255);
    border-bottom: 3px solid rgb(227 241 255);
    border-radius: 0;
    display: block;
    position: absolute;
    left: 7.5px;
    box-sizing: border-box;
    transform: rotate(-51deg) translate(3px, 0px);
}

.input_wrapper.fancy .input_wrapper_inner input:checked + span:before {
    border: 4.5px solid rgb(0 102 203);
}

.input_wrapper.fancy .input_wrapper_inner input:checked + span.cb_label:before {
    border: 4.5px solid rgb(0 102 203);
    background: rgb(0 102 203);
}

.input_wrapper.fancy .input_wrapper_inner input:checked + span {
    border: 2px solid rgb(0 102 203);
    background: rgb(153 204 255 / 28%);
}

.input_wrapper.fancy {
    margin-bottom: 1em;
}

.input_wrapper.fancy.twocol {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap
}

.input_wrapper.fancy.twocol .input_wrapper_inner {
    width: calc(50% - 3px);
    margin-right: 3px;
    position: relative;
}

.input_wrapper.fancy.twocol .input_wrapper_inner + .input_wrapper_inner {
    width: calc(50% - 3px);
    margin-right: 0;
    margin-left: 3px;
}

span.cb_label:before {
    border-radius: 3px !important;
    border-width: thin !important;
}

.input_wrapper_inner {
    position: relative
}

span.subscription-price-box {
    justify-content: space-around;
}

span.subscription-price-box span {
    margin: 0;
}

.input_wrapper.fancy.tworows .input_wrapper_inner {
    padding-top: 7px;
}

span.subscription-term {
    font-weight: 700;
    color: #767676
}

a.m-topmargin {
    margin-top: 1em;
}

.m-alreadysubscribed {
    text-align: center;
    margin-bottom: 0.75em;
    font-size: 16px;
}

.m-alreadysubscribed a {
    margin-left: .25em;
    text-decoration: underline;
}

.subscribe_container .input_wrapper {
    padding-bottom: 15px;
}

.subscribe_container .input_cc {
    width: 100%;
    margin-bottom: 0 !important;
}

.subscribe_container .feedback-message {
    display: block;
    font-size: 12px;
    color: red;
    position: absolute;
    bottom: 0;
    margin: 0;
    line-height: 1;
}

.subscribe_container .input_cc.bambora-checkoutfield-error {
    border: 1px solid red !important;
}

div#StateProvince {
    width: 100%;
}

.subscribe_container .input_wrapper.input_type_password {
    padding: 0;
    margin-bottom: 15px;
}