﻿/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
for details on configuring this project to bundle and minify static web assets. */

@-webkit-keyframes sk-rotateplane {
    0% { -webkit-transform: perspective(120px); }
    25% { -webkit-transform: perspective(120px) rotateY(180deg); }
    50% { -webkit-transform: perspective(120px) rotateY(180deg) rotateX(180deg); }
    75% { -webkit-transform: perspective(120px) rotateY(360deg) rotateX(180deg); }
    100% { -webkit-transform: perspective(120px) rotateY(360deg) rotateX(360deg); }
}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */ color: #aaa; opacity: 1; /* Firefox */ }
:-ms-input-placeholder { /* Internet Explorer 10-11 */ color: #aaa; }
::-ms-input-placeholder { /* Microsoft Edge */ color: #aaa; }

.footerClass { position: absolute !important; width: 100% !important; }

a.navbar-brand { white-space: normal; text-align: center; word-break: break-all; }

/* Provide sufficient contrast against white background */
a { color: #0366d6; }
.btn-primary { color: #fff; background-color: #1b6ec2; border-color: #1861ac; }
.nav-pills .nav-link.active, .nav-pills .show > .nav-link { color: #fff; background-color: #1b6ec2; border-color: #1861ac; }

/* Sticky footer styles
-------------------------------------------------- */
html { font-size: 14px; }

@media (min-width: 768px) {
    html { font-size: 16px; }
}

.border-top { border-top: 1px solid #e5e5e5; }
.border-bottom { border-bottom: 1px solid #e5e5e5; }
.box-shadow { box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05); }
button.accept-policy { font-size: 1rem; line-height: inherit; }

/* Sticky footer styles
-------------------------------------------------- */

html { position: relative; min-height: 100%; }
body { /* Margin bottom by footer height */ margin-bottom: 60px; }

.footer { position: absolute; bottom: 0; width: 100%; white-space: nowrap; line-height: 60px; /* Vertically center the text there */ }

#policy-title { margin-top: 2rem; margin-bottom: 2.5rem; }
.hide { display: none; }
.static-content { border: none; }
.upper { text-transform: uppercase !important; }

.main-form-key { width: 265px; border: solid 1px lightgray; text-align: center; }
.main-form-submit { background-color: white; border: none; }

.header-logo { max-width: 150px; max-height: 50px; float: left; }

.document-issuer { border: solid 0px gray; display: inline-block; width: 600px; margin: 20px; }
.document-information { margin: 100px 20px 40px; border: solid 0px gray; width: 600px !important; display: inline-block; }
.document-issuer-info { text-align: right; }
.document-issuer-name { /*float: left; clear: left;*/ font-size: 18px; text-align: right; /*font-weight: bold;*/ }
.document-issuer-logo { max-width: 250px; max-height: 100px; float: left; }
.document-issuer-address { /*float: right;*/ text-align: right; padding-left: 0; }
.document-issuer-taxid { float: left; clear: left; }
.document-header { text-align: left; margin-bottom: 30px; }
.document-header-number { /*float: left;*/ font-size: 20px; font-weight: 600; text-align: right; }
.document-header-amount { /*float: right;*/ text-align: right; }
.document-header-status { /*float: right; clear: right;*/ text-align: right; }
    .document-header-status img { margin-left: 5px; cursor: pointer; }
.document-header-receipt-icon { width: 38px; height: 38px; }
.document-header-status-icon { width: 35px; height: 35px; }
.document-header-warning { border-style: solid; border-width: 1px; border-color: gray; padding-top: 10px; margin: 25px 0; }
    .document-header-warning p { font-weight: 600; }

.document-lines { border-top: solid 1px gray; display: inline-block; width: 95%; /*margin: 10px;*/ }
.document-lines-container { width: 100% !important; }
.document-line { float: left; margin: 3px; }
.document-line-header { float: left; font-weight: bolder; margin: 3px 5px; }
.document-line-quantity { clear: left; margin: 3px 5px; width: 65px; }
.document-line-value { text-align: right; float: right; width: 100px; }

.mbway-mandates-container { max-width: 650px !important; border-top: solid 1px gray; margin: 20px auto; }
    .mbway-mandates-container hr { margin: 0; padding: 0; }
.mbway-mandates-title { font-weight: 600; font-size: 18px; margin: 10px 0 20px 0; }
.mbway-mandates { display: table; width: 100%; }
.mbway-mandate { display: table-row; }
.mbway-mandate-cell { display: table-cell; padding: 0 3px; }
.mbway-mandate:not(:last-child) .mbway-mandate-cell { border-bottom: 1px solid #ddd; }
.mbway-mandate-header { font-weight: bolder; border-bottom: 1px solid #aaa; }
.mbway-mandate-telephone { text-align: left; }
.mbway-mandate-amountlimit { text-align: right; }
.mbway-mandate-status { text-align: center; }
.mbway-mandates-warning { border-style: solid; border-width: 1px; border-color: gray; padding: 10px 15px 0 15px; margin: 25px 0; }
    .mbway-mandates-warning p { font-weight: 600; text-align: left; }

.payment-method-header { }
.payment-methods { max-width: 650px !important; border: solid 1px gray; display: inline-block; margin: 20px; }
.payment-method { float: left; padding: 10px; min-width: 160px; min-height: 130px; }
.payment-method-icon { height: 80px; overflow: hidden; margin-bottom: 5px; display: flex; justify-content: center; align-items: center; }
    .payment-method-icon img { object-fit: contain; object-position: center center; max-height: 100%; }
.payment-method-button { width: 120px; border: 1px solid #ddd; }
    .payment-method-button:hover { filter: brightness(0.8); }
    .payment-method-button > span { display: block; text-align: center; }
.payment-personalization { float: left; width: 100%; margin-top: 25px; }
.payment-mb { max-width: 550px; }
.payment-personalization img { max-width: 100px; margin: 0px 10px; }
.payment-mb-entity { font-size: larger; padding: 10px; }
.payment-mb-reference { font-size: larger; padding: 10px; }
.payment-mb-value { font-size: larger; padding: 10px; }
.payment-mbway { margin-top: 100px; max-width: 550px; }
.payment-reference { margin-top: 100px; text-align: -webkit-center; }
.payment-reference-title { min-width: 150px; text-align: right; color: darkgray; float: left; clear: both; padding-right: 15px; }
.payment-reference-value { text-align: left; float: left; }
.payment-notice { color: #003164; text-align: center; width: 80%; max-width: 550px; font-size: larger; }
.payment-single-button { clear: both; margin-top: 20px; }
.payment-details { float: right; clear: right; margin-bottom: 20px; overflow: hidden; text-align: left; display: none; max-width: 50%; min-width: 35%; background-color: white; border: solid 1px gray; padding: 20px; }
    .payment-details span { min-width: 90px; display: inline-block; }
.payment-details-value { font-size: larger; margin-bottom: 20px; font-weight: bold; }
.payment-details-mode { margin-bottom: 10px; font-weight: bold; }
.payment-details-status { margin-bottom: 5px; }
.payment-details-button { display: inline-block; border-radius: 12px; background-color: #ee323a; border: none; color: #FFFFFF; text-align: center; font-size: 17px; padding: 5px 8px; width: 70px; transition: all 0.5s; float: right; }
    .payment-details-button span { min-width: 0; cursor: pointer; display: inline-block; position: relative; transition: 0.5s; }

.payment-processing { max-width: 550px !important; border: solid 1px gray; display: inline-block; width: 520px; margin: 20px; padding: 20px; }
    .payment-processing .payment-processing-notice { font-size: 1.25rem; font-weight: 600; margin-bottom: 20px; }

.document-line-align_center { text-align: center; }
.document-line-align_right { text-align: right; }
.document-line-align_left { text-align: left; }

.notVisible { display: none; }

.r-buttons { text-align: center; margin-top: 15px; }
    .r-buttons button { display: inline-block; font-weight: 400; color: #444; text-align: center; vertical-align: middle; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-color: transparent; border: 1px solid transparent; padding: 0.375rem 0.75rem; font-size: 1rem; line-height: 1.5; border-radius: 12px; transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out; }
        .r-buttons button:hover { filter: brightness(0.8); }
        .r-buttons button.r-b-default { color: #555; background-color: #fff; border-color: #aaa; }
        .r-buttons button.r-b-primary { color: #fff; background-color: #1b6ec2; border-color: #1b6ec2; }


input.telephone::-webkit-outer-spin-button, input.telephone::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input.telephone { -moz-appearance: textfield; }

.telephone-group { display: flex; gap: 10px; justify-content: center; }
    .telephone-group > div:nth-child(1) { flex: 0 0 92px; }
    .telephone-group > div:nth-child(2) { }
    .telephone-group > div input { width: 100%; justify-content: center; }


/* Media Queries
------------------------------------------------------------------------------------------------------------------------*/
@media only screen {
    .gp .gp-overlay { position: fixed; top: 0; left: 0; bottom: 0; right: 0; z-index: 9500; -ms-user-select: none; user-select: none; display: flex; flex-direction: column; justify-content: center; align-items: center; align-content: flex-start; }
        .gp .gp-overlay p { text-transform: uppercase; font-size: 1rem; font-weight: 600; }

        .gp .gp-overlay .gp-spinner, .gp .gp-overlay .gp-spinner:after { width: 64px; height: 64px; border-radius: 0%; }
            .gp .gp-overlay .gp-spinner[data-type='1'] { margin: 16px auto; position: relative; text-indent: 0; border-width: 1px; border-style: solid; -webkit-transform: translateZ(0); -ms-transform: translateZ(0); transform: translateZ(0); -webkit-animation: sk-rotateplane 2.4s infinite ease-in-out; animation: sk-rotateplane 2.4s infinite ease-in-out; text-align: center; line-height: 64px; }
                .gp .gp-overlay .gp-spinner[data-type='1']:after { }

        .gp .gp-overlay .gp-spinner { display: none; }
        .gp .gp-overlay[data-type='1'] .gp-spinner[data-type='1'] { display: block; }

        .gp .gp-overlay .gp-warning { }
        .gp .gp-overlay .gp-progress-bar { width: 304px; margin: 16px auto; }
            .gp .gp-overlay .gp-progress-bar[data-progress] { transition: opacity 250ms; }
            .gp .gp-overlay .gp-progress-bar[data-progress='0'] { opacity: 0 !important; transition: opacity 2000ms !important; }
            .gp .gp-overlay .gp-progress-bar[data-progress='100'] { opacity: 0 !important; transition: opacity 2000ms !important; }
            .gp .gp-overlay .gp-progress-bar[aria-hidden='true'] { opacity: 0; transition: opacity 2000ms; }
            .gp .gp-overlay .gp-progress-bar[aria-hidden='false'] { opacity: 1; transition: opacity 250ms; }
            .gp .gp-overlay .gp-progress-bar > div { border-radius: 1px; border-style: solid; border-width: 1px; height: 16px; position: relative; }
                .gp .gp-overlay .gp-progress-bar > div > div { height: 100%; }
                    .gp .gp-overlay .gp-progress-bar > div > div:after { content: attr(data-progress) "%"; position: absolute; top: 15px; left: 0; right: 0; bottom: 0; font-size: 0.875rem; font-weight: normal; text-align: center; }

    .gp .gp-overlay { background-color: rgba(0, 0, 0, 0.25); color: #ffffff; }
        .gp .gp-overlay .gp-spinner[data-type='1'] { border-color: rgba(255,255,255,0.5); background-color: #9F281F; }
        .gp .gp-overlay .gp-progress-bar > div { border-color: #000000; background-color: #ffffff; }
            .gp .gp-overlay .gp-progress-bar > div > div { background-color: #9F281F; }
                .gp .gp-overlay .gp-progress-bar > div > div:after { color: #ffffff; }
}

@media screen and (min-width: 768px) {

    .payment-details-button span:after { top: 0; opacity: 0; right: -10px; transition: 0.5s; content: '\00bb'; position: absolute; -webkit-transform: rotate(-90deg); }
    .payment-details-button:hover span { padding-right: 24px; }
        .payment-details-button:hover span:after { opacity: 1; right: 10px; }
}

@media screen and (max-width: 768px) {

    .document-issuer-address { float: left; text-align: left; margin-top: 15px; margin-bottom: 25px; }

    .document-header-issuer_div { order: 1; }
    .document-header-amount { order: 2; }
    .document-header-status { order: 2; }
    .document-header-number { text-align: center; }

    .payment-details-spacing { order: 3; }
    .payment-methods { width: 95%; margin: 20px 0; }
    .payment-details-button { font-size: 15px; }
    .payment-details { order: 3; max-width: none; margin: 0 25px 20px; }

    .document-issuer { text-align: center; margin: 30px 2rem; display: block; width: 95%; }
    .document-isser-logo { float: none; }
    .document-issuer-name { text-align: center; }
    .document-information { width: 100% !important; margin: 90px 20px 90px; padding: 0 20px 0 20px !important; }
    .document-header { margin: 0 2rem; }
    .document-header-receipt-icon { width: 33px; height: 33px; }
    .document-header-status-icon { width: 30px; height: 30px; }
}

/* Mobile */
@media screen and (max-width: 575px) {
    #policy-title { margin: 2rem auto; font-size: 28px; }
    #policy-body { width: 85%; margin: auto; font-size: 13px; }

    .document-issuer-name { margin-top: 5px; }
    .document-header-receipt-icon { width: 27px; height: 27px; }
    .document-header-status-icon { width: 25px; height: 25px; }
    .document-header-status img { margin-left: 3px; }
    .document-header-status-payment_status { /*float: right;*/ }
    .document-header-status-get_receipt { clear: both; float: right; white-space: nowrap; }
    #document-header-status-info_icon { float: right; }

    .payment-details-button { font-size: 14px; padding: 5px 6px; width: 60px; }
}

@media only screen and (max-width: 400px) {
    html { font-size: 13px; }

    .document-issuer { display: block; margin: 20px 1rem; }
    .document-header { margin: 0 1rem; }
    .document-issuer-name { font-size: 15px; }
    .document-issuer-address { display: block; font-size: 12px !important; }
    .document-header-amount { float: left; clear: left; font-size: 12px !important; }
    .document-lines-row_details { font-size: 11px; }

    .payment-details { width: 100%; font-size: 11px; max-width: none; margin: 0 10px 20px; }
    .payment-details-button { width: 55px; font-size: 12px; }
    .payment-details-value { margin-bottom: 0px; }

    .document-header-status-payment_status { font-size: 12px; }
    .document-header-status img { margin-left: 3px; }
    .document-line-header { font-size: 10px !important; }
}
