/**
 * Card payment REDSYS platform - Insite modality.
 *
 * NOTICE OF LICENSE
 *
 * This product is licensed for one customer to use on one installation (test stores and multishop included).
 * Site developer has the right to modify this module to suit their needs, but can not redistribute the module in
 * whole or in part. Any other use of this module constitues a violation of the user agreement.
 *
 * DISCLAIMER
 *
 * NO WARRANTIES OF DATA SAFETY OR MODULE SECURITY
 * ARE EXPRESSED OR IMPLIED. USE THIS MODULE IN ACCORDANCE
 * WITH YOUR MERCHANT AGREEMENT, KNOWING THAT VIOLATIONS OF
 * PCI COMPLIANCY OR A DATA BREACH CAN COST THOUSANDS OF DOLLARS
 * IN FINES AND DAMAGE A STORES REPUTATION. USE AT YOUR OWN RISK.
 *
 *  @author    idnovate
 *  @copyright 2020 idnovate
 *  @license   See above
*/
.redsysinsite-messages-alert {
    padding: 10px 5px 10px 8px;
    margin-bottom: 10px;
    margin-top: 10px;
}

.card-issuer-img {
    height: 56px;
    background-image: url(../img/cards-icons.png);
    background-position: right 0;
    background-repeat: no-repeat;
}

p.payment_module a.gpay {
    background: url(../img/gpay16.png) 15px 12px no-repeat #f1f1f1;
}

p.payment_module a.gpay:after {
    display: block;
    content: "\f054";
    position: absolute;
    right: 15px;
    margin-top: -11px;
    top: 50%;
    font-family: "FontAwesome";
    font-size: 25px;
    height: 22px;
    width: 14px;
    color: #333333;
}

form .card-issuer-img.visa {
    background-position: right -84px;
}

form .card-issuer-img.visa_electron {
    background-position: right -168px;
}

form .card-issuer-img.mastercard {
    background-position: right -252px;
}

form .card-issuer-img.maestro {
    background-position: right -336px;
}

form .card-issuer-img.discover {
    background-position: right -420px;
}

form .card-issuer-img.diners_club_carte_blanche {
    background-position: right -493px;
}

form .card-issuer-img.diners_club_international {
    background-position: right -493px;
}

form .card-issuer-img.amex {
    background-position: right -566px;
}

form .card-issuer-img.jcb {
    background-position: right -640px;
}

form .card-issuer-img.uatp {
    background-position: right -705px;
}

form .card-issuer-img.dankort {
    background-position: right -763px;
}

form .card-issuer-img.laser {
    background-position: right -837px;
}

.redsysinsite_cards div.saved-card-issuer-img {
    background-image: url(../img/cards-icons.png);
    width: 10%;
    height: 28px;
    background-size: 45px;
    float: left;
    position: relative;
    top: -7px;
    margin-right: 7px;
    background-repeat: no-repeat;
}

.redsysinsite_cards div.saved-card-issuer-img.visa {
    background-position: left -42px;
}

.redsysinsite_cards div.saved-card-issuer-img.visa_electron {
    background-position: left -84px;
}

.redsysinsite_cards div.saved-card-issuer-img.mastercard {
    background-position: left -126px;
}

.redsysinsite_cards div.saved-card-issuer-img.maestro {
    background-position: left -168px;
}

.redsysinsite_cards div.saved-card-issuer-img.discover {
    background-position: left -210px;
}

.redsysinsite_cards div.saved-card-issuer-img.diners_club_carte_blanche {
    background-position: left -246px;
}

.redsysinsite_cards div.saved-card-issuer-img.diners_club_international {
    background-position: left -246px;
}

.redsysinsite_cards div.saved-card-issuer-img.amex {
    background-position: left -282px;
}

.redsysinsite_cards div.saved-card-issuer-img.jcb {
    background-position: left -320px;
}

.redsysinsite_cards div.saved-card-issuer-img.uatp {
    background-position: left -355px;
}

.redsysinsite_cards div.saved-card-issuer-img.dankort {
    background-position: left -382px;
}

.redsysinsite_cards div.saved-card-issuer-img.laser {
    background-position: left -419px;
}

.redsysinsite_form_container .card .card-title {
    text-transform: uppercase;
    color: #414141;
    font-size: 20px;
    font-weight: bold;
    margin: 10px 0px;
    padding-bottom: 10px;
}

.redsysinsite_form_container .card {
    font-family: 'Open Sans', sans-serif;
    box-shadow: 2px 2px 11px 0px rgba(0, 0, 0, 0.1);
    padding: 10px 20px;
    margin-bottom: 20px;
}

.redsysinsite_cards { padding: 0px !important; margin-bottom: 15px;}
.redsysinsite_cards.my-account { padding: 0px !important; margin-bottom: 15px;display: block;}
.redsysinsite_cards .btn-group-vertical { padding: 0px !important;}
.redsysinsite_cards .saved-card-expiry { padding: 0px !important;}
.redsysinsite_cards div.alert {margin-top: 1rem;}
.redsysinsite_cards .card-label {
    border: 1px solid #428bca;
    padding: 10px;
    border-radius: 5px;
}
.redsysinsite_cards label {vertical-align: inherit;}
.redsysinsite_cards span.custom-radio {vertical-align: sub;margin-right:5px!important;}
.redsysinsite_cards input {vertical-align: middle;}
.redsysinsite_cards td {vertical-align: baseline;padding: 10px 0 0 15px;}

.redsysinsite_cards.my-account .customer_saved_cards_table {max-width: 80%; margin: 0 auto; text-align: center;}
.redsysinsite_cards.my-account .customer_saved_cards_table td {padding: 4px 0 4px 15px!important;}
.redsysinsite_cards.hook_payment label {display: inline-block!important;}
.customer_saved_card_save_new_card {display: inline-block!important;}
input#customer_saved_card_save_new_card {
    margin-left: 10px;
    margin-right: 0!important;
    vertical-align: sub!important;
}
span.customer_saved_card_save_new_card span {
    margin-left: 10px;
    margin-right: 0!important;
    vertical-align: sub!important;
}
span.customer_saved_card_save_new_card {font-size: .8rem;vertical-align: text-bottom;}
@media (max-width:575px) {
    .redsysinsite_cards.hook_payment span {font-size: 0.827em}
}
@media (max-width:412px) {
    .redsysinsite_cards.hook_payment span {font-size: 0.7em}
}

.redsysinsite_responsive_label {text-align: left;margin-bottom: 0;}
.redsysinsite_responsive_radio {vertical-align: super;}
.redsysinsite_responsive_cards_table {font-size: 0.8em;}

@media (max-width:414px) {
    .ri-customer_saved_card_save_new_card_checkbox_label {zoom: 0.9;text-align: inherit;}
    #HOOK_PAYMENT .ri-customer_saved_card_save_new_card_checkbox_label {zoom: 1;vertical-align: text-top;}
}
@media (max-width:393px) {
    #HOOK_PAYMENT .ri-customer_saved_card_save_new_card_checkbox_label {zoom: 0.94;}
}
@media (max-width:375px) {
    .ri-customer_saved_card_save_new_card_checkbox_label {zoom: 0.9;text-align: inherit;}
    #HOOK_PAYMENT .ri-customer_saved_card_save_new_card_checkbox_label {zoom: 0.85;vertical-align: text-top;}
}
@media (max-width:360px) {
     #HOOK_PAYMENT .ri-customer_saved_card_save_new_card_checkbox_label {zoom: 0.82;}
}
button.redsys-hosted-pay-button {position: relative;height: 55px!important;background-color: transparent!important;border: 0px!important;}
.ri-customer_saved_card_save_new_card_container {margin-bottom: 5px;margin-top: 10px;}
div.redsysinsite_form_container .container .row div {padding: 0;}
div.redsysinsite_form_container .container .row div.input-wrapper {height: 45px;}
.ri-customer_saved_card_save_new_card_checkbox {
    float: left;
}
.ri-customer_saved_card_save_new_card_checkbox input[type=checkbox] {
    margin-top: .25rem;
    cursor: pointer;
    margin-right: 5px;
}
span.ri-customer_saved_card_save_new_card_checkbox span#save_card_checkbox {position: relative;}
#redsysinsite_pay_with_card_button button {
    margin: 0 auto;
    display: block;
    margin-top: 10px;
}
span.redsysinsite_pay_with_card_myaccount {font-size: 0.75rem!important;}
form#redsysinsite_savedcard_form .redsysinsite-card-icon {vertical-align: text-bottom;}
div.redsysinsite_form_container .visa-mc-icons {margin-bottom: 5px;}
div.redsysinsite_form_container .cvv-icon {margin-bottom: -14px;padding-left: 18px;display: block;float: left;position: relative;bottom: 7px;}
.redsysinsite_form_container .modal-header {padding: 0!important;}
.redsysinsite_form_container .modal-body {height: 100%;height: -moz-available;height: -webkit-fill-available;height: fill-available;}
#ri_auth_modal_content {height: inherit;}
#ri_auth_modal_content iframe {width: 100%;border: 0;min-height: 500px!important;height: -webkit-fill-available!important;height: fill-available!important;}
.redsysinsite_form_container .modal-dialog {height: 100%;}
.redsysinsite_form_container .modal-content {height: inherit;}
div#onepagecheckoutps span, div#onepagecheckoutps em, div#onepagecheckoutps table.customer_saved_cards_table label {
    font-size: 11px;
}
div.redsysinsite_form_container div.ri-container div.field-container label {display: inline!important;}
/*** PS16 ***/
#HOOK_PAYMENT .redsysinsite_form_container {
    width: 100%;
    border: 1px solid #d6d4d4;
    display: block;
    padding-left: 15px;
    padding-right: 15px;
}
#HOOK_PAYMENT .redsysinsite_form_container > div {
    margin: 10px;
}
#HOOK_PAYMENT .redsysinsite_form_container .ri-customer_saved_card_save_new_card_container {margin: 15px 0 7px 0;}
#HOOK_PAYMENT .redsysinsite_cards.hook_payment a {text-decoration: underline;}
a.redsysinsite.ri_opened:after {transform: rotate(90deg);}
.redsysinsite_form_container .icon-credit-card {font-size: larger;float: left; margin-right: 5px;}
.redsysinsite_form_container h4 {font-weight: 600;padding-left: 12px;text-align: left;}
#HOOK_PAYMENT #redsysinsite_pay_with_card_button button {display: inline-block;}
.redsysinsite_ok h1, .redsysinsite_ko h1 {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    color: #414141;
    font-weight: bold;
    padding: 10px 10px 10px 40px;
    text-transform: uppercase;
    font-size: 20px;
}
.redsysinsite_ok h1 {background: url(../img/icon-valid.png) no-repeat 0 center;}
.redsysinsite_ko h1 {background: url(../img/icon-cancel.png) no-repeat 0 center;}
.redsysinsite_ok h2 {display: inline;vertical-align: middle;}
.redsysinsite_ok p, .redsysinsite_ko p {
    font-size: 15px;
    color: #878787;
    font-weight: 400;
}
#HOOK_PAYMENT #ri_auth_modal_content iframe {
	width: 100%;
	height: 300px!important;
	height: -moz-available!important;
	height: -webkit-fill-available!important;
	height: fill-available!important;
	border: 0;
}
/*** OPC PS ***/
#onepagecheckoutps #redsysinsite_pay_with_card_button button {zoom: 0.85;}
/*** THEMES CUSTOM***/
.steco_container .redsysinsite_cards.hook_payment {zoom: 0.9;}
/*.steco_container #redsys-hosted-pay-button {height: 265px!important;}*/
.steco_container .redsys-hosted-pay-button #redsys-hosted-pay-button {height: inherit!important;}

/**** NEW DESIGN ***/
/*
* Copyright (c) 2021 by Adam Quinlan (https://codepen.io/quinlo/pen/YONMEa)
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
.redsysinsite_form_container .payment-title {
    width: 100%;
    text-align: center;
}

.redsysinsite_form_container .form-container .field-container:nth-of-type(1) {
    grid-area: number;
}

.redsysinsite_form_container .form-container .field-container:nth-of-type(2) {
    grid-area: expiration_month;
}

.redsysinsite_form_container .form-container .field-container:nth-of-type(3) {
    grid-area: expiration_year;
}

.redsysinsite_form_container .form-container .field-container:nth-of-type(4) {
    grid-area: security;
}

.redsysinsite_form_container .field-container input {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.redsysinsite_form_container .field-container {
    position: relative;
}

.redsysinsite_form_container .form-container {
    display: grid;
    grid-column-gap: 5px;
    grid-row-gap: 5px;
    grid-template-columns: auto auto auto;
    grid-template-rows: 90px 90px;
    grid-template-areas: "number number number""expiration_month expiration_year security";
    max-width: 85%;
    color: #707070;
}

@media (max-width: 768px) {
    .redsysinsite_form_container .form-container {
        display: grid;
        grid-column-gap: 0;
        grid-row-gap: 5px;
        grid-template-columns: auto auto auto;
        grid-template-rows: 90px 90px 90px;
        grid-template-areas: "number number number""expiration_month expiration_month expiration_year""security security blank";
        max-width: 100%;
        color: #707070;
    }
    .redsysinsite_form_container .cvvicon {
        right: 35px!important;
        top: calc(48% - 10px)!important;
    }
}

/*
@media (max-width: 413px) {
    .redsysinsite_form_container .form-container .field-container:nth-of-type(2) label {
        zoom: 0.8;
    }

    .redsysinsite_form_container .form-container .field-container:nth-of-type(3) label {
        zoom: 0.8;
    }
}
*/

.redsysinsite_form_container label {
    padding-bottom: 5px;
    font-size: 13px;
}

.redsysinsite_form_container input {
    margin-top: 3px;
    padding: 15px;
    font-size: 16px;
    width: 100%;
    border-radius: 3px;
    border: 1px solid #dcdcdc;
}

.redsysinsite_form_container .ccicon {
    height: 50px;
    position: absolute;
    right: 3px;
    top: calc(43% - 10px);
    width: 73px;
}

/*
.redsysinsite_form_container .cvvicon {
    height: 52px;
    position: absolute;
    right: 3px;
    top: calc(42% - 10px);
    width: 75px;
}
*/

.redsysinsite_form_container .cvvicon {
    height: 52px;
    position: absolute;
    right: 21px;
    top: calc(48% - 10px);
    width: 75px;
}

.redsysinsite_form_container .preload * {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -ms-transition: none !important;
    -o-transition: none !important;
}

.redsysinsite_form_container .container {
    width: 100%;
    max-width: 400px;
    max-height: 251px;
    height: 54vw;
    padding: 20px;
}

.redsysinsite_form_container #ccsingle {
    position: absolute;
    right: 15px;
    top: 20px;
}

.redsysinsite_form_container #ccsingle svg {
    width: 100px;
    max-height: 60px;
}

.redsysinsite_form_container .creditcard svg#cardfront,
.redsysinsite_form_container .creditcard svg#cardback {
    width: 100%;
    -webkit-box-shadow: 1px 5px 6px 0px black;
    box-shadow: 1px 5px 6px 0px black;
    border-radius: 22px;
}

.redsysinsite_form_container #generatecard{
    cursor: pointer;
    float: right;
    font-size: 12px;
    color: #fff;
    padding: 2px 4px;
    background-color: #909090;
    border-radius: 4px;
}

.redsysinsite_form_container .creditcard .lightcolor,
.redsysinsite_form_container .creditcard .darkcolor {
    -webkit-transition: fill .5s;
    transition: fill .5s;
}

.redsysinsite_form_container .creditcard .lightblue {
    fill: #03A9F4;
}

.redsysinsite_form_container .creditcard .lightbluedark {
    fill: #0288D1;
}

.redsysinsite_form_container .creditcard .red {
    fill: #ef5350;
}

.redsysinsite_form_container .creditcard .reddark {
    fill: #d32f2f;
}

.redsysinsite_form_container .creditcard .purple {
    fill: #ab47bc;
}

.redsysinsite_form_container .creditcard .purpledark {
    fill: #7b1fa2;
}

.redsysinsite_form_container .creditcard .cyan {
    fill: #26c6da;
}

.redsysinsite_form_container .creditcard .cyandark {
    fill: #0097a7;
}

.redsysinsite_form_container .creditcard .green {
    fill: #66bb6a;
}

.redsysinsite_form_container .creditcard .greendark {
    fill: #388e3c;
}

.redsysinsite_form_container .creditcard .lime {
    fill: #d4e157;
}

.redsysinsite_form_container .creditcard .limedark {
    fill: #afb42b;
}

.redsysinsite_form_container .creditcard .yellow {
    fill: #ffeb3b;
}

.redsysinsite_form_container .creditcard .yellowdark {
    fill: #f9a825;
}

.redsysinsite_form_container .creditcard .orange {
    fill: #ff9800;
}

.redsysinsite_form_container .creditcard .orangedark {
    fill: #ef6c00;
}

.redsysinsite_form_container .creditcard .grey {
    fill: #bdbdbd;
}

.redsysinsite_form_container .creditcard .greydark {
    fill: #616161;
}

.redsysinsite_form_container #svgname {
    text-transform: uppercase;
}

.redsysinsite_form_container .container {
    perspective: 1000px;
}
