@charset "utf-8";
/*! CSS Document */
/* ============================================ FORM STYLES ===========================================*/

input[type="text"], input[type="password"], input[type="submit"], label, textarea, select {
    display:block;
    transition: border 0.25s;
}
input[type="text"]:hover, input[type="password"]:hover, input[type="submit"]:hover, textarea:hover, select:hover {
    border: 1px solid #000;
}
input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type=number] {
    -moz-appearance: textfield;
    -ms-appearance: textfield;
}
input[type="text"], input[type="password"], select, textarea {
    background-color: #f7f7f7;
    border: 1px solid #8F8F8F;
    font-size: 13px;
    line-height: 130%;
    color: #343434;
    padding: 9px 12px 9px 12px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
}
input.datepicker {
    -moz-appearance: menu;
    -webkit-appearance: menulist;
    appearance: menu;
}
button:disabled, button:disabled:hover, input:disabled, select:disabled {
    background-color: #d8d8d8;
    color: #969696;
}
button:disabled:hover {
    cursor: default;
}
input[type="checkbox"]:disabled + label:before {
    background-color: #e3e3e3;
}
label, fieldset legend {
    font-size: 14px;
    line-height: 120%;
    font-weight: bold;
    margin: 0 0 10px 0;
}
fieldset {
    border: none;
    padding: 0;
}
/* Hidden labels only for accessiblity */
label.hiddenLbl {
    font-size: 0;
    margin: 0;
}
#cwsForm h3 {
    background-color: #f4f4f4;
    margin: 0 0 25px 0;
    padding: 10px;
    font-size: 18px;
    font-weight: normal
}
.headerNotation {
    margin: 0 0 28px 0;
}
/*================ LOADING SPINNING WHEEL ================ */
.loading {
    min-width: 50px;
    min-height: 50px;
    background-repeat: no-repeat;
    background-size: 50px;
}
#loadContent {
    display: none;
}

/* ================ CUSTOM CHECKBOX/RADIO ================ */
input[type=checkbox] + label {
    padding-left: 20px;
    line-height: 130%;
    position: relative;
}
input[type=checkbox] + label:before {
    position: absolute;
    left: 0;
}
input[type="checkbox"]:focus + label {
    text-decoration: underline;
}
input[type="radio"]:focus + label {
    text-decoration: underline;
    outline: none;
}
input[type="checkbox"], input[type="radio"] {
    position: absolute;
    left: -9999px;
}
input[type="checkbox"] + label, input[type="radio"] + label {
    cursor: pointer;
    text-transform: none;
    font-weight: normal;
}
input[type="checkbox"] + label:before, input[type="radio"] + label:before {
    font-size: 18px;
    line-height: 80%;
    padding: 2px;
    font-weight: bold;
    color: #000;
    width: 10px;
    height: 10px;
    border: 1px solid #8F8F8F;
    display: inline-block;
    vertical-align: middle;
    margin: 0 5px 0 0;
    background-color: #fff;
    transition: border 0.25s;
}
input[type="checkbox"] + label:hover:before, input[type="radio"] + label:hover:before {
    border: 1px solid #000;
}
input[type="checkbox"] + label:before {
    content: " ";
}
input[type="checkbox"]:checked + label:before {
    content: "\2713";
    font-size: 13px;
    color: #15ad15;
}
input[type="radio"] + label {
    position: relative;
    padding: 0 0 0 20px;
}
input[type="radio"] + label:before {
    border-radius: 100%;
    content: " ";
    float: left;
    clear: both;
    position: absolute;
    left: 0;
}
input[type="radio"]:focus + label {
    position: relative;
    padding: 0 0 0 20px;
}
input[type="radio"]:focus + label:before {
    outline: -webkit-focus-ring-color auto 5px;
}
input[type="radio"]:checked + label:before {
    content: "";
    background-color: #2d2d2d;
    box-shadow: inset 0 0 0 3px #fff;
    border: 1px solid #000;
}
.radios .val {
    position: static;
    float: left;
    display: block;
    margin: 2px 0 0 10px;
}
.radio_label {
    float: left;
}
.radios {
    padding: 8px 0 8px 0;
}

/* ============================================ FORM WRAPPER STYLES ===========================================*/
.form {
    margin: 0 0 35px 0;
}
.field, .half_field {
    width: 100%; 
    margin:0 0 17px 0;
    position:relative;
    clear:both;
}
.field {
    max-width:380px; 
}
.checkField {
    margin-top: 30px;
    position: relative;
}
.half_field {
    max-width:190px; 
}
.half_field .val {
    width: 200%;
    left: 0;
    text-align: left;
    right: initial;
}
.field60 {
    width: 57%;
    margin: 0 6% 20px 0;
    float: left;
    position: relative;
}
.field40 {
    width: 34%;
    float: left;
    margin: 0 0 20px 0;
    position: relative;
}
html[lang='fr'] .field40 {
    width: 38%;
}
html[lang='fr'] .field60 {
    width: 53%;
}
.float_left {
    float: left;
}

/* ================ BUTTON STYLES ================ */
button, .btn, input[type='submit'] {
    display: block;
    background-color: #b4b4b4;
    color: #FFF;
    text-align: center;
    border: none;
    font-size: 14px;
    line-height: 120%;
    font-weight: bold;
    padding: 13px 27px;
    margin: 0;
    background-position: right;
    background-size: 24px 15px;
    background-repeat: no-repeat;
    cursor: pointer;
    font-family: 'Open Sans', Arial, sans-serif;
}
.btn.accordion-toggle, .btn.accordion-toggle:hover {
    background-color: #b4b4b4;
}
a.btn {
    display: inline-block;
    text-decoration: none;
}
.btn:hover, input[type='submit']:hover {
    box-shadow: inset 0 0 100px 100px rgba(255, 255, 255, 0.1);
    color: #fff;
}

.btn .material-icons {
    font-size: 18px;
    vertical-align: top;
    margin: 0 5px 0 0;
}
.editLink {
    color: #a9a9a9;
    text-decoration: underline;
    display: inline-block;
}
.editLink:hover {
    cursor: pointer;
    text-decoration: none;
}
.editLink .material-icons {
    font-size: 13px;
}

/* ================ VALIDATION ================ */
input[type="text"].invalid, input[type="number"].invalid, input[type="password"].invalid, select.invalid {
    border: 1px solid #aa0d0d;
}

input[type="text"].invalid, input[type="password"].invalid {
    background-image: url(/cws4.0/global-unix/images/forms/icon--x.svg);
    background-repeat: no-repeat;
    background-size: 14px 14px;
    background-position: 98% center;
}
input[type="text"].valid, input[type="password"].valid {
    background-image: url(/cws4.0/global-unix/images/forms/icon--check.svg);
    background-repeat: no-repeat;
    background-position: 98% center;
    background-size: 14px 14px;
    border: 1px solid #a1a1a1;
}

input.datepicker.invalid, input.datepicker.valid {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
}
select.valid {
    border: 1px solid #a1a1a1;
}
select.invalid, select.valid {
    background-position: 92% center;
}
input[type="text"].invalid + span.val, select.invalid ~ span.val {
    display: block;
}
input[type="password"].invalid + span.val {
    display: block;
}
.val {
    text-align: right;
    position: absolute;
    right: 2%;
    bottom: -18px;
    font-size: 13px;
    display: none;
    color: #aa0d0d;
    font-style: italic;
    line-height: 150%;
}
button.btn ~ .val {
    position: static;
    text-align: left;
}

#cws_val_fileUpload{
    right: unset;
    bottom: -22px;
}

#cws_api_errors, .api_error {
    font-size: 13px;
    font-style: italic;
    color: #aa0d0d;
    padding: 10px 0 10px 0;
    display: none;
}
#greeting {
    font-weight: normal;
}
span.val.submit {
    display: none;
}
input[type="submit"] {
    -webkit-appearance: none;
}
input[type="submit"].invalid ~ span.submit, button.btn ~ span.submit {
    display: none;
    position: static;
    text-align: left;
    margin: 15px 0 0 0;
}
input[type="submit"] ~ span.submit, button.btn ~ span.submit {
    display: none;
    position: static;
    text-align: left;
    margin: 15px 0 0 0;
}
input[type="checkbox"]  ~ span.valIcon {
    display: none;
    position: absolute;
    right: -23px;
    top: 9px;
    width: 13px;
    height: 13px;
    display: block;
    background-repeat: no-repeat;
}
input[type="checkbox"].invalid  ~ span.val {
    display: block;
    right: auto;
    text-align: left;
}
.ajaxErrorOverlay {
    position: fixed;
    top: 186px;
    left: 42.5%;
    width: 200px;
    border: 1px solid #aa0d0d;
    padding: 50px;
    text-align: center;
    color: #aa0d0d;
    font-size: 16px;
    font-weight: bold;
    display: none;
    background-color: #e1bfbf;
    z-index: 9999;
}

/* ==================================== LOGOUT ====================================*/

.utilityNav #logout {
    display: none;
}

/* =============================== QUESTION ICON ============================== */

.questionIcon {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 2px 0 0 8px;
    cursor: pointer;
    background-image: url(/cws4.0/global-unix/images/forms/question-icon.png);
    background-size: 20px;
    background-repeat: no-repeat;
    position: relative;
}

.questionIcon.captcha {
    margin: 5px 0 0 8px;
}
.questionIcon.captcha a {
    display: inline-block;
    width: 16px;
    height: 16px;
}

.questionIcon:hover .questionBox,
.questionIcon:hover .sideArrow,
.question:hover .questionBox,
.question:hover .sideArrow,
.questionIcon:focus .questionBox,
.questionIcon:focus .sideArrow {
  display: block;
  z-index: 6000;
}

.questionBox {
    position: absolute;
    display: none;
    width: 230px;
    padding: 8px;
    font-size: 11px;
    border: 1px solid #a1a1a1;
    background-color: #FFF;
    color: #000;
    left: -10px;
    right: 0;
    margin: 0 auto;
    bottom: 125%;
    text-align: left;
    line-height: 150%;
}
.question {
    position: relative;
}
.questionBox:after {
    content: "";
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 10px solid #a1a1a1;
    display: block;
    position: absolute;
    bottom: -10px;
    left: 10px;
    right: 0;
    width: 0;
}
#ativOrderForm .questionBox {
    left: -10px;
}
#ativOrderForm .questionBox:after {
    margin: 0 auto;
}
.questionTxt {
    display: inline-block;
    margin: 0 3% 0 0;
}

/*=============================== DYNAMIC MESSAGES ===============================*/
#cws_dynamic_inactiveMsg, #cws_dynamic_tempPw, #cws_dynamic_loggedOutMsg {
    color: #aa0d0d;
    display: none;
    font-size: 14px;
    line-height: 18px;
    padding: 10px 0 20px 0;
}
#cws_output_action {
    display: none;
}
.success_pane {
    border: 1px solid #00a651;
    background-color: #dcf6d9;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 20px;
    margin: 0 0 30px 0;
}

/*=============================== ORDER TOTALS ===============================*/
#goToCart {
    margin: 0 0 15px 0;
    display: inline-block;
    font-size: 14px;
    line-height: 100%;
}
#goToCart .material-icons {
    font-size: 16px;
}
#discountLine, #orderFee, #bonusAmtLine, #bonusPtsLine, #bonusEcertLine {
    display: none;
}
.discountPromo, .bonusAmtPromo, .bonusPtsPromo {
    display: inline-block;
    max-width: 60%;
    font-size: 12px;
    line-height: 16px;
}
.totalsOutput {
    float: right;
}
#orderTotalLine .totalsOutput {
    font-weight: bold;
}
#bonusAmtLine .totalsOutput, #discountLine .totalsOutput {
    color: #000;
}
#totalsContent #orderTotalLine {
    font-size: 16px;
    padding-top: 8px;
    border-top: 1px solid #bdbdbd;
}
#totalsContent p {
    margin: 0 0 15px 0;
}
.currency {
    font-size: 13px;
    font-weight: bold;
    margin: 0 0 0 5px;
}
.discountDiv {
    background-color: #ddf7de;
    padding: 5px;
}
#discountLine div+div {
    margin-top: 2px;
}
.bonusAmtDiv + .bonusAmtDiv {
    margin-top: 10px;
}
.bonusAmtDiv {
    border: 1px solid #14a218;
    box-sizing: border-box;
    padding: 5px;
}

/*=============================== FIELD HINTS ===============================*/
input[type="text"].invalid ~ .fieldHint, input[type="text"].valid ~ .fieldHint {
    display: none;
}

/*=============================== GREY BOXES ===============================*/
.greyBox {
    background: #f7f7f7;
    padding: 10px 15px;
}
.greyBox input[type="text"], .greyBox input[type="password"], .greyBox select, .greyBox textarea {
    background: #fff;
}

/* =============================== CHECKOUT =============================== */
.wizard {
    border-bottom: 1px solid #ccc;
    margin: 0 0 40px 0;
    padding: 0 0 15px 0;
    text-align: center;
    line-height: 160%;
}
.wizard span {
    color: #000;
    font-size: 14px;
}
.wizard span ~ span:before {
    content: ">";
    margin: 0px 5px 0;
}
.wizard .inactiveStep {
    color: #565656cf;
}
.wizard #currentStep {
    color: #000;
}
.checkoutClm {
    width: 50%;
    float: left;
    box-sizing: border-box;
}
.checkoutClm h2 {
    margin: 0 0 15px 0;
}
#support {
    margin: 60px 0 0 0;
    padding: 35px 5% 15px 5%;
    border-top: 1px solid #ccc;
    font-size: 14px;
    text-align: center;
}
#support h3 {
    font-size: 16px;
    background: none;
    padding: 0;
    margin: 0 0 10px 0;
}

/* =============================== TRANSACTIONS TABLE =============================== */ 
.dataTable, #onHoldCardsHold table {
    width: 100%;
    border-left: 1px solid #b4b4b4;
    border-top: 1px solid #b4b4b4;
    font-size: 13px;
    line-height: 140%;
}
#onHoldCardsHold table#cws_output_onHoldCards {
    border-top: none;
}
.dataTable th { 
    text-align: left;
    font-size: 14px;
    font-weight: bold;
    margin: 0 0 20px 0;
    padding: 7px 10px 7px 10px;
    box-sizing: border-box;
}
.dataTable thead tr {
    border-bottom: 1px solid #000;
    padding: 0 0 20px 0;
}
.dataTable td {
    text-align: left;
    border-right: 1px solid #b4b4b4;
    border-bottom: 1px solid #b4b4b4;
    padding: 5px 2% 5px 2%;
    vertical-align: top;
}
.dataTable tr:nth-child(odd), #onHoldCardsHold tr:nth-child(odd) {
    background-color: #FFF;
}
.dataTable tr:nth-child(even), #onHoldCardsHold tr:nth-child(even) {
    background-color: #f7f7f7;
}
#transactionsHold .dataTable tr td:nth-child(4) {
    color: #14a218;
}
#transactionsHold .dataTable tr td.negative {
    color: #aa0d0d;
}
.dataTable tr:hover, #onHoldCardsHold tr:hover {
    background-color: #fdfee3;
    -webkit-transition: background-color 700ms linear;
    -moz-transition: background-color 700ms linear;
    -o-transition: background-color 700ms linear;
    -ms-transition: background-color 700ms linear;
    transition: background-color 700ms linear;
    cursor: pointer;
}

/* =============================== Data Table =============================== */ 
#transactionsHold .dataTable th:nth-child(2), #transactionsHold .dataTable tr.odd td:nth-child(2), #transactionsHold .dataTable tr.even td:nth-child(2) {
    display: none;
}
.sorting, .sorting_desc, .sorting_asc {
    background-repeat: no-repeat;
    background-position: 96% center;
}

.sorting {
    background-image: url(/cws4.0/global-unix/images/check-card-balance/sortingOff.png);
}
.sorting_asc {
    background-image: url(/cws4.0/global-unix/images/check-card-balance/sortingDown.png);
}
.sorting_desc {
    background-image: url(/cws4.0/global-unix/images/check-card-balance/sortingUp.png);
}

.dataTables_info {
    font-size: 12px;
    display: inline-block;
    padding: 10px 0 0 0;
    font-style: italic;
}
.paginate_button {
    font-size: 12px;
    display: inline-block;
    cursor: pointer;
    vertical-align: top;
    color: #000;
}
.paginate_button.disabled {
    display: none;
}
.paginate_button.current {
    text-decoration: none;
    font-weight: bold;
    cursor: default;
}
.paginate_button.current:hover {
    color: #000;
}
.paginate_button + .paginate_button {
    margin-left: 5px;
}
.paginate_button.previous, .paginate_button.last {
    margin: 0 0 0 10px;
}
.paginate_button.next.disabled, .paginate_button.previous.disabled {
    display:none;
}
.dataTables_paginate .previous + span {
    margin: 0 15px;
}
.paginate_button.borderBtn {
    padding: 2px 5px;
}
.ellipsis {
    margin: 0 5px;
}
.dataTables_length {
    padding: 0 0 20px 0;
    float: left;
}
.dataTables_length select {
    width: 75px;
    display: inline-block;
    margin: 0 5px 0 5px;
}
.dataTables_info {
    float: left;
}
#recaptcha {
    margin: 0 0 30px 0;
}
.dataTables_paginate {
    float: right;
    margin: 10px 0 0 0;
}

/* ================== UNSUBSCRIBE ================== */
.marquiformcontainer input[type='text'] {
    margin: 0 0 15px 0;
}
.marquiformcontainer span br {
    display: none;
}

/* ================== HEADER ================== */
#greeting {
    padding: 0 0 10px 0;
}

/*=============================== MEDIA QUERIES ===============================*/

@media (max-width:768px) {
    .sortBtns, .showLocInfo { 
        display: none; 
    } 
    .dynamicTable th { 
        font-size: 13px; 
    } 
} 

@media (max-width: 600px) {
    .field { 
        width: 100%; 
    }
}

@media (max-width:500px) {
    .dataTable th, .dataTable td, .dataTables_info, .dataTables_paginate, .paginate_button {
        font-size: 12px;
    }
    #cws_list_gcNum {
        font-size: 11px;
    }
}