From 8ee00f8e0710e3a276335b5818a842e7094abbc9 Mon Sep 17 00:00:00 2001 From: Gabrielle Alvim Date: Mon, 20 Mar 2023 16:42:49 -0300 Subject: [PATCH 001/156] ci: migrate cd to githubactions --- .circleci/config.yml | 193 ------------------ .github/workflows/cd.yml | 72 +++++++ {.circleci/data => devops}/.htaccess | 0 {.circleci/data => devops}/Dockerfile | 0 .../data => devops}/update-wp-config.php | 0 {.circleci/data => devops}/wait-for-mysql.sh | 0 6 files changed, 72 insertions(+), 193 deletions(-) delete mode 100644 .circleci/config.yml create mode 100644 .github/workflows/cd.yml rename {.circleci/data => devops}/.htaccess (100%) rename {.circleci/data => devops}/Dockerfile (100%) rename {.circleci/data => devops}/update-wp-config.php (100%) rename {.circleci/data => devops}/wait-for-mysql.sh (100%) diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 2c1fe588..00000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,193 +0,0 @@ -version: 2.1 - -_run: - pull_sonar_image: &pull_sonar_image - name: Pull Docker sonar-scanner image - command: | - echo ${DOCKER_PASSWORD} | docker login -u ${DOCKER_USERNAME} --password-stdin - docker pull pagarme/sonar-scanner - pull_sonar_check_quality_gate_image: &pull_sonar_check_quality_gate_image - name: Pull Docker check-sonar-quality-gate image - command: | - echo ${DOCKER_PASSWORD} | docker login -u ${DOCKER_USERNAME} --password-stdin - docker pull pagarme/check-sonar-quality-gate - -parameters: - machine_image: - type: string - default: ubuntu-2004:202010-01 - working_dir: - type: string - default: '~/woocommerce' - -jobs: - build: - working_directory: /app - docker: - - image: php:7.2-apache - environment: - APP_ENV: test - steps: - - checkout - - run: - name: Install system packages - command: apt-get update && apt-get -y install zip git zlib1g-dev wget - - run: - name: Install PHP extensions - command: | - docker-php-ext-install pdo - docker-php-ext-install zip - - run: - name: Install Composer - command: | - php -r "copy('http://getcomposer.org/installer', 'composer-setup.php');" - php composer-setup.php --version=1.10.13 - - run: - name: Display PHP information - command: | - php -v - php composer.phar --version - - run: - name: Check PHP sintax - command: find . -name \*.php -exec php -l "{}" \; - - run: - name: Install project dependencies - command: | - cd /app - php composer.phar install - - store_artifacts: - path: /app - destination: app-artifact - - persist_to_workspace: - root: / - paths: - - app - - sonar: - working_directory: << pipeline.parameters.working_dir >> - machine: - image: << pipeline.parameters.machine_image >> - steps: - - checkout - - run: *pull_sonar_image - - run: - name: Run Sonar - command: make sonar BRANCH=$CIRCLE_BRANCH - - persist_to_workspace: - root: << pipeline.parameters.working_dir >> - paths: - - '*' - - check_quality_gate_sonar: - working_directory: << pipeline.parameters.working_dir >> - machine: - image: << pipeline.parameters.machine_image >> - steps: - - attach_workspace: - at: << pipeline.parameters.working_dir >> - - run: *pull_sonar_check_quality_gate_image - - run: - name: Check quality gate - command: make sonar-check-quality-gate - - publish: - working_directory: / - docker: - - image: docker:17.05.0-ce-git - steps: - - setup_remote_docker - - attach_workspace: - at: / - - run: - name: Copy CI files to root - command: | - cd /app - cp .circleci/data/.htaccess . - cp .circleci/data/Dockerfile . - cp .circleci/data/update-wp-config.php . - cp .circleci/data/wait-for-mysql.sh . - - run: - name: Build image base for modifications - command: | - cd /app && ls - docker build -t ${DOCKER_ACCOUNT}/${PROJECT_NAME}:latest . - docker run --name newimage -d -p3306:3306 -p80:80 ${DOCKER_ACCOUNT}/${PROJECT_NAME}:latest - - run: - name: Wait for MySQL Service - command: | - docker exec -it newimage sh /app/wp-content/plugins/${PLUGIN_NAME}/wait-for-mysql.sh - docker exec -it newimage rm /app/wp-content/plugins/${PLUGIN_NAME}/wait-for-mysql.sh - - run: - name: Activate and setup Plugin - command: | - docker exec -it newimage wp plugin activate ${PLUGIN_NAME} --allow-root - docker exec -it newimage chmod -R 777 /app/wp-content/plugins/${PLUGIN_NAME} - docker exec -it newimage mysql -u root -D wordpress -e "REPLACE INTO wp_options (option_name,option_value) VALUES ('${PLUGIN_META_NAME}','${PLUGIN_CONFIG}');" - docker exec -i newimage curl -X GET "http://localhost/wp-content/plugins/${PLUGIN_NAME}/update-wp-config.php?url=${STAGING_URL}" - docker exec -it newimage rm /app/wp-content/plugins/${PLUGIN_NAME}/update-wp-config.php - docker exec -it newimage touch test5.txt - - run: - name: Clear useless files - command: | - docker exec -it newimage sh -c "cd /app/wp-content/plugins/${PLUGIN_NAME}" && \ - rm -rf .github .circleci .plugin-data .git .gitignore .editorconfig && \ - rm -rf Dockerfile update-wp-config.php wait-for-mysql.sh LICENSE *.MD - - deploy: - name: Commit and push Docker image - command: | - sleep 5 && docker stop newimage - docker login ${DOCKER_ACCOUNT} -u ${DOCKER_USERNAME} -p ${DOCKER_PASSWORD} - docker commit newimage ${DOCKER_ACCOUNT}/${PROJECT_NAME}:latest - docker tag ${DOCKER_ACCOUNT}/${PROJECT_NAME} "${DOCKER_ACCOUNT}/${PROJECT_NAME}:latest" - docker tag ${DOCKER_ACCOUNT}/${PROJECT_NAME} "${DOCKER_ACCOUNT}/${PROJECT_NAME}:${CIRCLE_BRANCH}" - docker tag ${DOCKER_ACCOUNT}/${PROJECT_NAME} "${DOCKER_ACCOUNT}/${PROJECT_NAME}:${CIRCLE_SHA1:0:8}" - docker push "${DOCKER_ACCOUNT}/${PROJECT_NAME}" - - deploy_staging: - machine: true - steps: - - run: - name: Send deployment webhook to Rancher - command: | - BODY='{"push_data":{"tag":"'"${CIRCLE_BRANCH}"'"},"repository":{"repo_name":"'"${DOCKER_ACCOUNT}/${PROJECT_NAME}"'"}}' - curl -X POST ${RANCHER_STG_DEPLOY_URL} -H 'Content-Type: application/json' -d "${BODY}" - -workflows: - version: 2 - build_publish_deploy: - jobs: - - build - - sonar: - context: dockerhub - - check_quality_gate_sonar: - context: dockerhub - requires: - - sonar - filters: - branches: - ignore: - - master - - develop - - publish: - context: acceptance - requires: - - build - - sonar - filters: - branches: - only: - - test - - stg - - develop - - master - - deploy_staging: - context: acceptance - requires: - - publish - filters: - branches: - only: - - test - - stg - - develop - - master diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml new file mode 100644 index 00000000..84197ae7 --- /dev/null +++ b/.github/workflows/cd.yml @@ -0,0 +1,72 @@ +name: Continuous Delivery + +on: + push: + branches: + - master + - test + - stg + - develop + +concurrency: + group: ${{github.workflows}}-${{github.ref}} + cancel-in-progress: true + +jobs: + publish: + name: Publish + runs-on: ubuntu-latest + container: + image: docker:17.05.0-ce-git + steps: + - + name: Checkout Code + uses: actions/checkout@v3 + - + name: Copy CI files to root + run: | + cd /app + cp devops/.htaccess . + cp devops/Dockerfile . + cp devops/update-wp-config.php . + cp devops/wait-for-mysql.sh . + - + name: Build image base for modifications + run: | + cd /app && ls + docker build -t ${{ secrets.DOCKER_ACCOUNT }}/${{ github.repository }}:latest . + docker run --name newimage -d -p3306:3306 -p80:80 ${{ secrets.DOCKER_ACCOUNT }}/${{ github.repository }}:latest + - + name: Wait for MySQL Service + run: | + docker exec -it newimage sh /app/wp-content/plugins/${{ secrets.PLUGIN_NAME }}/wait-for-mysql.sh + docker exec -it newimage rm /app/wp-content/plugins/${{ secrets.PLUGIN_NAME }}/wait-for-mysql.sh + - + name: Activate and setup Plugin + run: | + docker exec -it newimage wp plugin activate ${{ secrets.PLUGIN_NAME }} --allow-root + docker exec -it newimage chmod -R 777 /app/wp-content/plugins/${{ secrets.PLUGIN_NAME }} + docker exec -it newimage mysql -u root -D wordpress -e "REPLACE INTO wp_options (option_name,option_value) VALUES ('${{ secrets.PLUGIN_META_NAME }}','${{ secrets.PLUGIN_CONFIG }}');" + docker exec -i newimage curl -X GET "http://localhost/wp-content/plugins/${{ secrets.PLUGIN_NAME }}/update-wp-config.php?url=${{ secrets.STAGING_URL }}" + docker exec -it newimage rm /app/wp-content/plugins/${{ secrets.PLUGIN_NAME }}/update-wp-config.php + docker exec -it newimage touch test5.txt + - + name: Clear useless files + run: | + docker exec -it newimage sh -c "cd /app/wp-content/plugins/${{ secrets.PLUGIN_NAME }}" && \ + rm -rf .github .plugin-data .git .gitignore .editorconfig && \ + rm -rf Dockerfile update-wp-config.php wait-for-mysql.sh LICENSE *.MD + - + name: Commit and push Docker image + run: | + sleep 5 && docker stop newimage + docker login ${{ secrets.DOCKER_ACCOUNT }}} -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} + docker commit newimage ${{ secrets.DOCKER_ACCOUNT }}}/${{ github.repository }}:latest + docker tag ${{ secrets.DOCKER_ACCOUNT }}}/${{ github.repository }} "${{ secrets.DOCKER_ACCOUNT }}}/${{ github.repository }}:latest" + docker tag ${{ secrets.DOCKER_ACCOUNT }}}/${{ github.repository }} "${{ secrets.DOCKER_ACCOUNT }}}/${{ github.repository }}:${{ github.ref }}" + docker push "${{ secrets.DOCKER_ACCOUNT }}}/${{ github.repository }}" + - + # name: Send deployment webhook to Rancher + # run: | + # BODY='{"push_data":{"tag":"'"${{ github.ref }}"'"},"repository":{"repo_name":"'"${{ secrets.DOCKER_ACCOUNT }}/${{ github.repository }}"'"}}' + # curl -X POST ${{ secrets.RANCHER_STG_DEPLOY_URL }} -H 'Content-Type: application/json' -d "${BODY}" diff --git a/.circleci/data/.htaccess b/devops/.htaccess similarity index 100% rename from .circleci/data/.htaccess rename to devops/.htaccess diff --git a/.circleci/data/Dockerfile b/devops/Dockerfile similarity index 100% rename from .circleci/data/Dockerfile rename to devops/Dockerfile diff --git a/.circleci/data/update-wp-config.php b/devops/update-wp-config.php similarity index 100% rename from .circleci/data/update-wp-config.php rename to devops/update-wp-config.php diff --git a/.circleci/data/wait-for-mysql.sh b/devops/wait-for-mysql.sh similarity index 100% rename from .circleci/data/wait-for-mysql.sh rename to devops/wait-for-mysql.sh From 6e6d2d6a1bdf96665bfdefdd489e6d9e7b343e12 Mon Sep 17 00:00:00 2001 From: Gabrielle Alvim Date: Tue, 21 Mar 2023 17:46:55 -0300 Subject: [PATCH 002/156] Migrate ci and cd from githubactions --- {devops => .github/data}/.htaccess | 0 {devops => .github/data}/Dockerfile | 0 {devops => .github/data}/update-wp-config.php | 0 {devops => .github/data}/wait-for-mysql.sh | 0 .github/workflows/cd.yml | 18 +++--- .github/workflows/pr.yml | 61 +++++++++++++++++++ 6 files changed, 70 insertions(+), 9 deletions(-) rename {devops => .github/data}/.htaccess (100%) rename {devops => .github/data}/Dockerfile (100%) rename {devops => .github/data}/update-wp-config.php (100%) rename {devops => .github/data}/wait-for-mysql.sh (100%) create mode 100644 .github/workflows/pr.yml diff --git a/devops/.htaccess b/.github/data/.htaccess similarity index 100% rename from devops/.htaccess rename to .github/data/.htaccess diff --git a/devops/Dockerfile b/.github/data/Dockerfile similarity index 100% rename from devops/Dockerfile rename to .github/data/Dockerfile diff --git a/devops/update-wp-config.php b/.github/data/update-wp-config.php similarity index 100% rename from devops/update-wp-config.php rename to .github/data/update-wp-config.php diff --git a/devops/wait-for-mysql.sh b/.github/data/wait-for-mysql.sh similarity index 100% rename from devops/wait-for-mysql.sh rename to .github/data/wait-for-mysql.sh diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 84197ae7..bfc4f925 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -26,10 +26,10 @@ jobs: name: Copy CI files to root run: | cd /app - cp devops/.htaccess . - cp devops/Dockerfile . - cp devops/update-wp-config.php . - cp devops/wait-for-mysql.sh . + cp .github/data/.htaccess . + cp .github/data/Dockerfile . + cp .github/data/update-wp-config.php . + cp .github/data/wait-for-mysql.sh . - name: Build image base for modifications run: | @@ -65,8 +65,8 @@ jobs: docker tag ${{ secrets.DOCKER_ACCOUNT }}}/${{ github.repository }} "${{ secrets.DOCKER_ACCOUNT }}}/${{ github.repository }}:latest" docker tag ${{ secrets.DOCKER_ACCOUNT }}}/${{ github.repository }} "${{ secrets.DOCKER_ACCOUNT }}}/${{ github.repository }}:${{ github.ref }}" docker push "${{ secrets.DOCKER_ACCOUNT }}}/${{ github.repository }}" - - - # name: Send deployment webhook to Rancher - # run: | - # BODY='{"push_data":{"tag":"'"${{ github.ref }}"'"},"repository":{"repo_name":"'"${{ secrets.DOCKER_ACCOUNT }}/${{ github.repository }}"'"}}' - # curl -X POST ${{ secrets.RANCHER_STG_DEPLOY_URL }} -H 'Content-Type: application/json' -d "${BODY}" + # - + # # name: Send deployment webhook to Rancher + # # run: | + # # BODY='{"push_data":{"tag":"'"${{ github.ref }}"'"},"repository":{"repo_name":"'"${{ secrets.DOCKER_ACCOUNT }}/${{ github.repository }}"'"}}' + # # curl -X POST ${{ secrets.RANCHER_STG_DEPLOY_URL }} -H 'Content-Type: application/json' -d "${BODY}" diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml new file mode 100644 index 00000000..2ebf0f88 --- /dev/null +++ b/.github/workflows/pr.yml @@ -0,0 +1,61 @@ +name: PR Steps +on: + pull_request: + push: + branches: + - master + +concurrency: + group: ${{github.workflows}}-${{github.ref}} + cancel-in-progress: true + +jobs: + lint: + name: Lint + runs-on: ubuntu-latest + container: + image: php:7.2-apache + steps: + - + name: Checkout + uses: actions/checkout@v3 + - + name: install system packages + run: apt-get update && apt-get -y install zip git zlib1g-dev wget + - + name: Install PHP extensions + run: | + docker-php-ext-install pdo + docker-php-ext-install zip + - + name: Install Composer + run: | + php -r "copy('http://getcomposer.org/installer', 'composer-setup.php');" + php composer-setup.php --version=1.10.13 + - + name: Display PHP Information + run: | + php -v + php composer.phar --version + - + name: Check PHP sintax + run: find . -name \*.php -exec php -l "{}" \; + - + name: Install project dependences + run: + php composer.phar install + + sonar: + name: Sonar + runs-on: ubuntu-latest + steps: + - name: Checkout project + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Run Sonar + uses: sonarsource/sonarcloud-github-action@master + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} From caad88d0b0dde0bcd2135d64d4d01d9f5c791109 Mon Sep 17 00:00:00 2001 From: Gabrielle Alvim <115567405+gabriellealvim@users.noreply.github.com> Date: Mon, 27 Mar 2023 15:33:33 -0300 Subject: [PATCH 003/156] Migrate ci and cd from githubactions (#196) --- .github/data/Dockerfile | 4 +-- .github/workflows/cd.yml | 65 ++++++++++++++++++++++++---------------- 2 files changed, 41 insertions(+), 28 deletions(-) diff --git a/.github/data/Dockerfile b/.github/data/Dockerfile index d6b2af55..e653fcfb 100644 --- a/.github/data/Dockerfile +++ b/.github/data/Dockerfile @@ -1,7 +1,7 @@ FROM thiagobarradas/woocommerce:3.5.3-wp5.0.2-php7.2 MAINTAINER Open Source Team -COPY . /app/wp-content/plugins/woo-pagarme-payments -RUN mv /app/wp-content/plugins/woo-pagarme-payments/.htaccess /app/.htaccess +COPY . /app/wp-content/plugins/pagarme-payments-for-woocommerce +RUN mv /app/wp-content/plugins/pagarme-payments-for-woocommerce/.htaccess /app/.htaccess WORKDIR /app diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index bfc4f925..1dbf6701 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -3,10 +3,10 @@ name: Continuous Delivery on: push: branches: - - master + - develop - test - stg - - develop + - master concurrency: group: ${{github.workflows}}-${{github.ref}} @@ -15,9 +15,11 @@ concurrency: jobs: publish: name: Publish - runs-on: ubuntu-latest container: - image: docker:17.05.0-ce-git + image: docker:rc-git + runs-on: ubuntu-latest + env: + DOCKER_BUILDKIT: 0 steps: - name: Checkout Code @@ -25,7 +27,6 @@ jobs: - name: Copy CI files to root run: | - cd /app cp .github/data/.htaccess . cp .github/data/Dockerfile . cp .github/data/update-wp-config.php . @@ -33,40 +34,52 @@ jobs: - name: Build image base for modifications run: | - cd /app && ls - docker build -t ${{ secrets.DOCKER_ACCOUNT }}/${{ github.repository }}:latest . - docker run --name newimage -d -p3306:3306 -p80:80 ${{ secrets.DOCKER_ACCOUNT }}/${{ github.repository }}:latest + docker build -t ${{ github.repository }}:latest . + docker run --name newimage -d -p3306:3306 -p80:80 ${{ github.repository }}:latest - name: Wait for MySQL Service run: | - docker exec -it newimage sh /app/wp-content/plugins/${{ secrets.PLUGIN_NAME }}/wait-for-mysql.sh - docker exec -it newimage rm /app/wp-content/plugins/${{ secrets.PLUGIN_NAME }}/wait-for-mysql.sh + ls -la + docker exec newimage sh /app/wp-content/plugins/pagarme-payments-for-woocommerce/wait-for-mysql.sh + docker exec newimage rm /app/wp-content/plugins/pagarme-payments-for-woocommerce/wait-for-mysql.sh - name: Activate and setup Plugin - run: | - docker exec -it newimage wp plugin activate ${{ secrets.PLUGIN_NAME }} --allow-root - docker exec -it newimage chmod -R 777 /app/wp-content/plugins/${{ secrets.PLUGIN_NAME }} - docker exec -it newimage mysql -u root -D wordpress -e "REPLACE INTO wp_options (option_name,option_value) VALUES ('${{ secrets.PLUGIN_META_NAME }}','${{ secrets.PLUGIN_CONFIG }}');" - docker exec -i newimage curl -X GET "http://localhost/wp-content/plugins/${{ secrets.PLUGIN_NAME }}/update-wp-config.php?url=${{ secrets.STAGING_URL }}" - docker exec -it newimage rm /app/wp-content/plugins/${{ secrets.PLUGIN_NAME }}/update-wp-config.php - docker exec -it newimage touch test5.txt + run: | + docker exec newimage wp plugin activate pagarme-payments-for-woocommerce --allow-root + docker exec newimage chmod -R 777 /app/wp-content/plugins/pagarme-payments-for-woocommerce + docker exec newimage mysql -u root -D wordpress -e "REPLACE INTO wp_options (option_name,option_value) VALUES ('wcmp_pagarme_settings','pagarme-payments-for-woocommerce');" + docker exec newimage curl -X GET "http://localhost/wp-content/plugins/pagarme-payments-for-woocommerce/update-wp-config.php?url=${{ secrets.STAGING_URL }}" + docker exec newimage rm /app/wp-content/plugins/pagarme-payments-for-woocommerce/update-wp-config.php + docker exec newimage touch test5.txt - name: Clear useless files run: | - docker exec -it newimage sh -c "cd /app/wp-content/plugins/${{ secrets.PLUGIN_NAME }}" && \ + docker exec newimage sh -c "cd /app/wp-content/plugins/pagarme-payments-for-woocommerce" && \ rm -rf .github .plugin-data .git .gitignore .editorconfig && \ rm -rf Dockerfile update-wp-config.php wait-for-mysql.sh LICENSE *.MD - - name: Commit and push Docker image + name: Log in to Docker Hub + uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 + with: + registry: mpdockerregistry.azurecr.io + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - + name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v2 + with: + images: mpdockerregistry.azurecr.io/woocommerce-pagarme + - + name: Deploy run: | sleep 5 && docker stop newimage - docker login ${{ secrets.DOCKER_ACCOUNT }}} -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} - docker commit newimage ${{ secrets.DOCKER_ACCOUNT }}}/${{ github.repository }}:latest - docker tag ${{ secrets.DOCKER_ACCOUNT }}}/${{ github.repository }} "${{ secrets.DOCKER_ACCOUNT }}}/${{ github.repository }}:latest" - docker tag ${{ secrets.DOCKER_ACCOUNT }}}/${{ github.repository }} "${{ secrets.DOCKER_ACCOUNT }}}/${{ github.repository }}:${{ github.ref }}" - docker push "${{ secrets.DOCKER_ACCOUNT }}}/${{ github.repository }}" + docker commit newimage mpdockerregistry.azurecr.io/woocommerce-pagarme:latest + docker tag mpdockerregistry.azurecr.io/woocommerce-pagarme "mpdockerregistry.azurecr.io/woocommerce-pagarme:latest" + docker tag mpdockerregistry.azurecr.io/woocommerce-pagarme "mpdockerregistry.azurecr.io/woocommerce-pagarme:${{ github.ref_name }}" + docker push "mpdockerregistry.azurecr.io/woocommerce-pagarme" # - # # name: Send deployment webhook to Rancher # # run: | - # # BODY='{"push_data":{"tag":"'"${{ github.ref }}"'"},"repository":{"repo_name":"'"${{ secrets.DOCKER_ACCOUNT }}/${{ github.repository }}"'"}}' - # # curl -X POST ${{ secrets.RANCHER_STG_DEPLOY_URL }} -H 'Content-Type: application/json' -d "${BODY}" + # # BODY='{"push_data":{"tag":"'"${{ github.ref_name }}"'"},"repository":{"repo_name":"'"${{ secrets.DOCKER_ACCOUNT }}/${{ github.repository }}"'"}}' + From 42c0bc1b7ade87eae2a87a4306a1df34bfd2591e Mon Sep 17 00:00:00 2001 From: Mauricio Haygert <5089722+mauriciohaygert@users.noreply.github.com> Date: Tue, 28 Mar 2023 15:22:02 -0300 Subject: [PATCH 004/156] Update cd.yml --- .github/workflows/cd.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 1dbf6701..ac79a539 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -40,28 +40,28 @@ jobs: name: Wait for MySQL Service run: | ls -la - docker exec newimage sh /app/wp-content/plugins/pagarme-payments-for-woocommerce/wait-for-mysql.sh - docker exec newimage rm /app/wp-content/plugins/pagarme-payments-for-woocommerce/wait-for-mysql.sh + docker exec newimage sh /app/wp-content/plugins/${{ vars.PLUGIN_NAME }}/wait-for-mysql.sh + docker exec newimage rm /app/wp-content/plugins/${{ vars.PLUGIN_NAME }}/wait-for-mysql.sh - name: Activate and setup Plugin run: | - docker exec newimage wp plugin activate pagarme-payments-for-woocommerce --allow-root - docker exec newimage chmod -R 777 /app/wp-content/plugins/pagarme-payments-for-woocommerce - docker exec newimage mysql -u root -D wordpress -e "REPLACE INTO wp_options (option_name,option_value) VALUES ('wcmp_pagarme_settings','pagarme-payments-for-woocommerce');" - docker exec newimage curl -X GET "http://localhost/wp-content/plugins/pagarme-payments-for-woocommerce/update-wp-config.php?url=${{ secrets.STAGING_URL }}" - docker exec newimage rm /app/wp-content/plugins/pagarme-payments-for-woocommerce/update-wp-config.php + docker exec newimage wp plugin activate ${{ vars.PLUGIN_NAME }} --allow-root + docker exec newimage chmod -R 777 /app/wp-content/plugins/${{ vars.PLUGIN_NAME }} + docker exec newimage mysql -u root -D wordpress -e "REPLACE INTO wp_options (option_name,option_value) VALUES ('${{ vars.PLUGIN_META_NAME }}','${{ secrets.PLUGIN_CONFIG }}');" + docker exec newimage curl -X GET "http://localhost/wp-content/plugins/${{ vars.PLUGIN_NAME }}/update-wp-config.php?url=https://${{ github.ref_name }}${{ secrets.STAGING_URL }}" + docker exec newimage rm /app/wp-content/plugins/${{ vars.PLUGIN_NAME }}/update-wp-config.php docker exec newimage touch test5.txt - name: Clear useless files run: | - docker exec newimage sh -c "cd /app/wp-content/plugins/pagarme-payments-for-woocommerce" && \ + docker exec newimage sh -c "cd /app/wp-content/plugins/${{ vars.PLUGIN_NAME }}" && \ rm -rf .github .plugin-data .git .gitignore .editorconfig && \ rm -rf Dockerfile update-wp-config.php wait-for-mysql.sh LICENSE *.MD - name: Log in to Docker Hub uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 with: - registry: mpdockerregistry.azurecr.io + registry: ${{ secrets.DOCKER_ACCOUNT }} username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - @@ -69,15 +69,15 @@ jobs: id: meta uses: docker/metadata-action@v2 with: - images: mpdockerregistry.azurecr.io/woocommerce-pagarme + images: ${{ secrets.DOCKER_ACCOUNT }}/${{ vars.PROJECT_NAME }} - name: Deploy run: | sleep 5 && docker stop newimage - docker commit newimage mpdockerregistry.azurecr.io/woocommerce-pagarme:latest - docker tag mpdockerregistry.azurecr.io/woocommerce-pagarme "mpdockerregistry.azurecr.io/woocommerce-pagarme:latest" - docker tag mpdockerregistry.azurecr.io/woocommerce-pagarme "mpdockerregistry.azurecr.io/woocommerce-pagarme:${{ github.ref_name }}" - docker push "mpdockerregistry.azurecr.io/woocommerce-pagarme" + docker commit newimage ${{ secrets.DOCKER_ACCOUNT }}/${{ vars.PROJECT_NAME }}:${{ github.ref_name }} + docker tag ${{ secrets.DOCKER_ACCOUNT }}/${{ vars.PROJECT_NAME }} "${{ secrets.DOCKER_ACCOUNT }}/${{ vars.PROJECT_NAME }}:latest" + docker tag ${{ secrets.DOCKER_ACCOUNT }}/${{ vars.PROJECT_NAME }} "${{ secrets.DOCKER_ACCOUNT }}/${{ vars.PROJECT_NAME }}:${{ github.ref_name }}" + docker push "${{ secrets.DOCKER_ACCOUNT }}/${{ vars.PROJECT_NAME }}" # - # # name: Send deployment webhook to Rancher # # run: | From 58da60002e5a719fe1a99f3e8092337f70657a9b Mon Sep 17 00:00:00 2001 From: Mauricio Haygert <5089722+mauriciohaygert@users.noreply.github.com> Date: Tue, 28 Mar 2023 16:37:08 -0300 Subject: [PATCH 005/156] Update cd.yml --- .github/workflows/cd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index ac79a539..6b3d8421 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -47,7 +47,7 @@ jobs: run: | docker exec newimage wp plugin activate ${{ vars.PLUGIN_NAME }} --allow-root docker exec newimage chmod -R 777 /app/wp-content/plugins/${{ vars.PLUGIN_NAME }} - docker exec newimage mysql -u root -D wordpress -e "REPLACE INTO wp_options (option_name,option_value) VALUES ('${{ vars.PLUGIN_META_NAME }}','${{ secrets.PLUGIN_CONFIG }}');" + docker exec newimage mysql -u root -D wordpress -e "REPLACE INTO wp_options (option_name,option_value) VALUES (\"${{ vars.PLUGIN_META_NAME }}\",\"${{ secrets.PLUGIN_CONFIG }}\");" docker exec newimage curl -X GET "http://localhost/wp-content/plugins/${{ vars.PLUGIN_NAME }}/update-wp-config.php?url=https://${{ github.ref_name }}${{ secrets.STAGING_URL }}" docker exec newimage rm /app/wp-content/plugins/${{ vars.PLUGIN_NAME }}/update-wp-config.php docker exec newimage touch test5.txt From 046edb01a77446c7209cca7bad1a87c26f82ee3e Mon Sep 17 00:00:00 2001 From: Mauricio Haygert <5089722+mauriciohaygert@users.noreply.github.com> Date: Tue, 28 Mar 2023 16:43:21 -0300 Subject: [PATCH 006/156] Update cd.yml --- .github/workflows/cd.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 6b3d8421..c313bca5 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -75,9 +75,7 @@ jobs: run: | sleep 5 && docker stop newimage docker commit newimage ${{ secrets.DOCKER_ACCOUNT }}/${{ vars.PROJECT_NAME }}:${{ github.ref_name }} - docker tag ${{ secrets.DOCKER_ACCOUNT }}/${{ vars.PROJECT_NAME }} "${{ secrets.DOCKER_ACCOUNT }}/${{ vars.PROJECT_NAME }}:latest" - docker tag ${{ secrets.DOCKER_ACCOUNT }}/${{ vars.PROJECT_NAME }} "${{ secrets.DOCKER_ACCOUNT }}/${{ vars.PROJECT_NAME }}:${{ github.ref_name }}" - docker push "${{ secrets.DOCKER_ACCOUNT }}/${{ vars.PROJECT_NAME }}" + docker push "${{ secrets.DOCKER_ACCOUNT }}/${{ vars.PROJECT_NAME }}:${{ github.ref_name }}" # - # # name: Send deployment webhook to Rancher # # run: | From e2b8acfabdb5ebf1aeb20121790be317f3ce54c9 Mon Sep 17 00:00:00 2001 From: Aislan Cedraz Date: Mon, 7 Nov 2022 15:37:27 -0300 Subject: [PATCH 007/156] :sparkles: architecture, voucher, pix and billet --- src/Controller/Gateways.php | 3 + src/Controller/Gateways/AbstractGateway.php | 204 ++++++++++++++++++ src/Controller/Gateways/Billet.php | 89 ++++++++ src/Controller/Gateways/Pix.php | 64 ++++++ src/Controller/Gateways/Voucher.php | 105 +++++++++ src/Controller/Settings.php | 38 +++- src/Helper/Utils.php | 5 +- src/Model/Gateway.php | 45 ++++ src/Model/Payment/AbstractPayment.php | 76 +++++++ src/Model/Payment/Billet.php | 32 +++ src/Model/Payment/Billet/AbstractBank.php | 57 +++++ src/Model/Payment/Billet/BankInterface.php | 31 +++ src/Model/Payment/Billet/Banks.php | 49 +++++ .../Payment/Billet/Banks/BancoDoBrasil.php | 33 +++ src/Model/Payment/Billet/Banks/Bradesco.php | 30 +++ .../Billet/Banks/CaixaEconomicaFederal.php | 36 ++++ src/Model/Payment/Billet/Banks/Citibank.php | 30 +++ src/Model/Payment/Billet/Banks/Itau.php | 30 +++ src/Model/Payment/Billet/Banks/Santander.php | 30 +++ src/Model/Payment/PaymentInterface.php | 36 ++++ src/Model/Payment/Pix.php | 32 +++ src/Model/Payment/Voucher.php | 32 +++ src/Model/Payment/Voucher/AbstractBrands.php | 43 ++++ src/Model/Payment/Voucher/Brands.php | 49 +++++ src/Model/Payment/Voucher/Brands/Alelo.php | 30 +++ src/Model/Payment/Voucher/Brands/Sodexo.php | 30 +++ src/Model/Payment/Voucher/Brands/VR.php | 30 +++ src/Model/Payment/Voucher/BrandsInterface.php | 31 +++ templates/checkout/common-voucher-item.php | 4 +- templates/checkout/default.php | 41 ++++ templates/checkout/environment.phtml | 20 ++ templates/checkout/main.php | 4 + templates/checkout/payment/billet.phtml | 39 ++++ templates/checkout/payment/pix.phtml | 39 ++++ templates/checkout/payment/voucher.phtml | 39 ++++ 35 files changed, 1478 insertions(+), 8 deletions(-) create mode 100644 src/Controller/Gateways/AbstractGateway.php create mode 100644 src/Controller/Gateways/Billet.php create mode 100644 src/Controller/Gateways/Pix.php create mode 100644 src/Controller/Gateways/Voucher.php create mode 100644 src/Model/Payment/AbstractPayment.php create mode 100644 src/Model/Payment/Billet.php create mode 100644 src/Model/Payment/Billet/AbstractBank.php create mode 100644 src/Model/Payment/Billet/BankInterface.php create mode 100644 src/Model/Payment/Billet/Banks.php create mode 100644 src/Model/Payment/Billet/Banks/BancoDoBrasil.php create mode 100644 src/Model/Payment/Billet/Banks/Bradesco.php create mode 100644 src/Model/Payment/Billet/Banks/CaixaEconomicaFederal.php create mode 100644 src/Model/Payment/Billet/Banks/Citibank.php create mode 100644 src/Model/Payment/Billet/Banks/Itau.php create mode 100644 src/Model/Payment/Billet/Banks/Santander.php create mode 100644 src/Model/Payment/PaymentInterface.php create mode 100644 src/Model/Payment/Pix.php create mode 100644 src/Model/Payment/Voucher.php create mode 100644 src/Model/Payment/Voucher/AbstractBrands.php create mode 100644 src/Model/Payment/Voucher/Brands.php create mode 100644 src/Model/Payment/Voucher/Brands/Alelo.php create mode 100644 src/Model/Payment/Voucher/Brands/Sodexo.php create mode 100644 src/Model/Payment/Voucher/Brands/VR.php create mode 100644 src/Model/Payment/Voucher/BrandsInterface.php create mode 100644 templates/checkout/default.php create mode 100644 templates/checkout/environment.phtml create mode 100644 templates/checkout/payment/billet.phtml create mode 100644 templates/checkout/payment/pix.phtml create mode 100644 templates/checkout/payment/voucher.phtml diff --git a/src/Controller/Gateways.php b/src/Controller/Gateways.php index 19fcf604..749f002a 100644 --- a/src/Controller/Gateways.php +++ b/src/Controller/Gateways.php @@ -16,6 +16,9 @@ use Woocommerce\Pagarme\Helper\Utils; use Woocommerce\Pagarme\Model\Gateway; +/** + * @deprecated Class for backward compatibility. Will be removed someday + */ class Gateways extends WC_Payment_Gateway { /** diff --git a/src/Controller/Gateways/AbstractGateway.php b/src/Controller/Gateways/AbstractGateway.php new file mode 100644 index 00000000..c1d56a86 --- /dev/null +++ b/src/Controller/Gateways/AbstractGateway.php @@ -0,0 +1,204 @@ +model = new Gateway(); + $this->id = 'woo-pagarme-payments-' . $this->method; + $this->method_title = __($this->getPaymentMethodTitle(), 'woo-pagarme-payments'); + $this->method_description = __('Payment Gateway Pagar.me', 'woo-pagarme-payments') . ' ' . $this->getPaymentMethodTitle(); + $this->has_fields = false; + $this->icon = Core::plugins_url('assets/images/logo.png'); + $this->init_form_fields(); + $this->form_fields = array_merge($this->form_fields,$this->append_form_fields()); + $this->init_settings(); + $this->enabled = $this->get_option('enabled', 'no'); + $this->title = $this->getTitle(); + $this->has_fields = true; + if (is_admin()) { + add_action('woocommerce_update_options_payment_gateways_' . $this->id, array($this, 'process_admin_options')); + } + add_action('woocommerce_receipt_' . $this->id, array($this, 'receipt_page')); + add_action('woocommerce_thankyou_' . $this->vendor, array($this, 'thank_you_page')); + } + + public function payment_fields() + { + $this->model->payment = $this->method; + echo (Utils::get_template_as_string( + 'templates/checkout/default', + array( + 'model' => $this->model, + ) + )); + } + + /** + * @param $order_id + * @return void + */ + public function receipt_page($order_id) + { + $this->checkout_transparent($order_id); + } + + /** + * @param $order_id + * @return void + */ + public function checkout_transparent($order_id) + { + $wc_order = new WC_Order($order_id); + require_once Core::get_file_path($this->method . '-item.php', 'templates/checkout/'); + } + + /** + * @param $order_id + * @return void + */ + public function thank_you_page($order_id) + { + $order = new WC_Order($order_id); + require_once Core::get_file_path('thank-you-page.php', 'templates/'); + } + + /** + * @return string + */ + public function getTitle() + { + if ($title = $this->get_option('title')) { + return $title; + } + return $this->vendor . ' ' . $this->method; + } + + /** + * @return string + */ + public function getPaymentMethodTitle() + { + return ucfirst($this->method); + } + + public function init_form_fields() + { + $this->form_fields = [ + 'hub_environment' => $this->field_hub_environment(), + 'title' => $this->field_title() + ]; + } + + /** + * @return array + */ + public function append_form_fields() + { + return []; + } + + /** + * @return array + */ + public function field_title() + { + return [ + 'title' => __('Checkout title', 'woo-pagarme-payments'), + 'description' => __('Name shown to the customer in the checkout page.', 'woo-pagarme-payments'), + 'desc_tip' => true, + 'default' => __($this->getPaymentMethodTitle(), 'woo-pagarme-payments'), + ]; + } + + /** + * @return array + */ + public function field_hub_environment() + { + return array( + 'title' => __('Integration environment', 'woo-pagarme-payments'), + 'type' => 'hub_environment', + ); + } + + public function generate_hub_environment_html($key, $data) + { + ob_start(); + ?> + + + + + + model->settings->hub_environment); ?> + + + model->settings->hub_install_id) : ?> + + + +
+ + + +
+ + + + + model->is_sandbox_mode()) : ?> + + + +
+ + + +
+ + + + + $this->field_billet_bank(), + 'billet_deadline_days' => $this->field_billet_deadline_days(), + 'billet_instructions' => $this->field_billet_instructions(), + ]; + } + + public function field_billet_bank() + { + $options = []; + $banks = new Banks; + foreach ($banks->getBanks() as $class) { + /** @var BankInterface $bank */ + $bank = new $class; + $options[$bank->getBankId()] = $bank->getName(); + } + return [ + 'type' => 'select', + 'title' => __('Bank', 'woo-pagarme-payments'), + 'class' => 'wc-enhanced-select', + 'default' => 0, + 'options' => $options, + 'custom_attributes' => [ + 'data-field' => 'billet-bank', + ] + ]; + } + + public function field_billet_deadline_days() + { + return [ + 'title' => __('Default expiration days', 'woo-pagarme-payments'), + 'description' => __('Number of days until the expiration date of the generated boleto.', 'woo-pagarme-payments'), + 'desc_tip' => true, + 'placeholder' => 5, + 'default' => 5, + 'custom_attributes' => [ + 'data-mask' => '##0', + 'data-mask-reverse' => 'true', + ], + ]; + } + + public function field_billet_instructions() + { + return [ + 'title' => __('Payment instructions', 'woo-pagarme-payments'), + 'type' => 'text', + 'description' => __('Instructions printed on the boleto.', 'woo-pagarme-payments'), + 'desc_tip' => true, + ]; + } +} diff --git a/src/Controller/Gateways/Pix.php b/src/Controller/Gateways/Pix.php new file mode 100644 index 00000000..9ee5d593 --- /dev/null +++ b/src/Controller/Gateways/Pix.php @@ -0,0 +1,64 @@ + $this->field_pix_qrcode_expiration_time(), + 'pix_additional_data' => $this->field_pix_additional_data() + ]; + } + + public function field_pix_qrcode_expiration_time() + { + return [ + 'title' => __('QR code expiration time', 'woo-pagarme-payments'), + 'description' => __('Expiration time in seconds of the generated pix QR code.', 'woo-pagarme-payments'), + 'desc_tip' => true, + 'placeholder' => 3500, + 'default' => 3500, + 'custom_attributes' => [ + 'data-mask' => '##0', + 'data-mask-reverse' => 'true', + ] + ]; + } + + public function field_pix_additional_data() + { + return [ + 'title' => __('Additional information', 'woo-pagarme-payments'), + 'description' => __('Set of key and value used to add information to the generated pix. This will be visible to the buyer during the payment process.', 'woo-pagarme-payments'), + 'desc_tip' => true, + 'type' => 'pix_additional_data', + ]; + } +} diff --git a/src/Controller/Gateways/Voucher.php b/src/Controller/Gateways/Voucher.php new file mode 100644 index 00000000..f8938e2e --- /dev/null +++ b/src/Controller/Gateways/Voucher.php @@ -0,0 +1,105 @@ + $this->field_voucher_soft_descriptor(), + 'field_voucher_flags' => $this->field_voucher_flags(), + 'voucher_card_wallet' => $this->field_voucher_card_wallet() + ]; + } + + /** + * @return array + */ + public function field_voucher_soft_descriptor() + { + return [ + 'title' => __('Soft descriptor', 'woo-pagarme-payments'), + 'desc_tip' => __('Description that appears on the voucher bill.', 'woo-pagarme-payments'), + 'description' => sprintf(__("Max length of %s characters.", 'woo-pagarme-payments'), 13), + 'custom_attributes' => [ + 'data-field' => 'voucher-soft-descriptor', + 'data-action' => 'voucher-soft-descriptor', + 'data-element' => 'validate', + 'maxlength' => 22, + 'data-error-msg' => __('This field is required.', 'woo-pagarme-payments') + ] + ]; + } + + /** + * @return array + */ + public function field_voucher_flags() + { + $options = []; + $brands = new Brands; + foreach ($brands->getBrands() as $class) { + /** @var BrandsInterface $bank */ + $brand = new $class; + $options[$brand->getBrandCode()] = $brand->getName(); + } + return [ + 'type' => 'multiselect', + 'title' => __('Voucher Card Brands', 'woo-pagarme-payments'), + 'select_buttons' => false, + 'class' => 'wc-enhanced-select', + 'options' => $options, + 'custom_attributes' => [ + 'data-field' => 'voucher-flags-select', + 'data-element' => 'voucher-flags-select', + 'data-action' => 'flags' + ] + ]; + } + + /** + * @return array + */ + public function field_voucher_card_wallet() + { + return [ + 'title' => __('Card Wallet', 'woo-pagarme-payments'), + 'desc_tip' => __('Enable Card Wallet', 'woo-pagarme-payments'), + 'type' => 'checkbox', + 'label' => __('Card Wallet', 'woo-pagarme-payments'), + 'default' => 'no', + 'custom_attributes' => [ + 'data-field' => 'voucher-card-wallet', + ] + ]; + } +} diff --git a/src/Controller/Settings.php b/src/Controller/Settings.php index 177013f5..523d59b8 100644 --- a/src/Controller/Settings.php +++ b/src/Controller/Settings.php @@ -12,6 +12,9 @@ class Settings { + + const WC_PAYMENT_GATEWAY = 'WC_Payment_Gateway'; + public function __construct() { add_filter(Core::plugin_basename('plugin_action_links_'), array($this, 'plugin_link')); @@ -35,23 +38,48 @@ public function plugin_link($links) __('Settings', 'woo-pagarme-payments') ), ); - return array_merge($plugin_links, $links); } public function gateway_load() { - if (!class_exists('WC_Payment_Gateway')) { + if (!class_exists(self::WC_PAYMENT_GATEWAY)) { return; } - add_filter('woocommerce_payment_gateways', array($this, 'add_payment_gateway')); } + /** + * @param $methods + * @return mixed + */ public function add_payment_gateway($methods) { - $methods[] = __NAMESPACE__ . '\Gateways'; - + foreach ($this->getGateways() as $gateway) { + $methods[] = $gateway; + } return $methods; } + + /** + * @return array + */ + private function getGateways() + { + $this->autoLoad(); + $gateways = []; + foreach(get_declared_classes() as $class){ + if(is_subclass_of( $class, Gateways\AbstractGateway::class)) { + $gateways[] = $class; + } + } + return $gateways; + } + + public function autoLoad() + { + foreach(glob( __DIR__ . '/Gateways/*.php') as $file) { + include_once($file); + } + } } diff --git a/src/Helper/Utils.php b/src/Helper/Utils.php index 65f1679f..d2cbc127 100644 --- a/src/Helper/Utils.php +++ b/src/Helper/Utils.php @@ -561,7 +561,10 @@ public static function get_template($file, $args = array()) $locale = Core::plugin_dir_path() . $file . '.php'; if (!file_exists($locale)) { - return; + $locale = Core::plugin_dir_path() . $file . '.phtml'; + if (!file_exists($locale)) { + return; + } } include $locale; diff --git a/src/Model/Gateway.php b/src/Model/Gateway.php index 54276c9b..67c8cc7b 100644 --- a/src/Model/Gateway.php +++ b/src/Model/Gateway.php @@ -10,9 +10,11 @@ use Exception; use Pagarme\Core\Hub\Services\HubIntegrationService; +use ReflectionClass; use Woocommerce\Pagarme\Concrete\WoocommerceCoreSetup as CoreSetup; use Woocommerce\Pagarme\Core; use Woocommerce\Pagarme\Helper\Utils; +use Woocommerce\Pagarme\Model\Payment\PaymentInterface; use Woocommerce\Pagarme\Model\Setting; // WooCommerce @@ -240,4 +242,47 @@ public function is_sandbox_mode(): bool strpos($this->settings->production_public_key, 'pk_test') !== false ); } + + /** + * @param $paymentCode + * @return PaymentInterface + * @throws Exception + */ + public function getPaymentInstace($paymentCode) + { + foreach ($this->getPayments() as $class) { + /** @var PaymentInterface $payment */ + $payment = new $class; + if ($payment->getMethodCode() === $paymentCode) { + return $payment; + } + } + throw new \Exception(__('Invalid payment method: ', 'woo-pagarme-payments') . $paymentCode); + } + + /** + * @return array + */ + private function getPayments() + { + $this->autoLoad(); + $payments = []; + foreach (get_declared_classes() as $class) { + try { + $reflect = new ReflectionClass($class); + if($reflect->implementsInterface(PaymentInterface::class)) { + $explodedFileName = explode(DIRECTORY_SEPARATOR, $reflect->getFileName()); + $payments[end($explodedFileName)] = $class; + } + } catch (\ReflectionException $e) {} + } + return $payments; + } + + private function autoLoad() + { + foreach(glob( __DIR__ . '/Payment/*.php') as $file) { + include_once($file); + } + } } diff --git a/src/Model/Payment/AbstractPayment.php b/src/Model/Payment/AbstractPayment.php new file mode 100644 index 00000000..22850571 --- /dev/null +++ b/src/Model/Payment/AbstractPayment.php @@ -0,0 +1,76 @@ +suffix) { + return $this->suffix; + } + return $this->error($this->suffix); + } + + /** + * @return string + * @throws \Exception + */ + public function getName() + { + if ($this->name) { + return $this->name; + } + return $this->error($this->name); + } + + /** + * @return string + * @throws \Exception + */ + public function getMethodCode() + { + if ($this->code) { + return $this->code; + } + return $this->error($this->code); + } + + /** + * @param $field + * @return mixed + * @throws \Exception + */ + private function error($field) + { + throw new \Exception(__('Invalid data for payment method: ', 'woo-pagarme-payments') . $field); + } +} diff --git a/src/Model/Payment/Billet.php b/src/Model/Payment/Billet.php new file mode 100644 index 00000000..78422756 --- /dev/null +++ b/src/Model/Payment/Billet.php @@ -0,0 +1,32 @@ +id; + } + + /** + * @return string + */ + public function getName() + { + $name = ''; + if ($this->prefix) { + $name .= __('Bank ', 'woo-pagarme-payments'); + } + $name .= $this->name; + if ($this->isSA) { + $name .= __(' S.A.', 'woo-pagarme-payments'); + } + return $name; + } +} diff --git a/src/Model/Payment/Billet/BankInterface.php b/src/Model/Payment/Billet/BankInterface.php new file mode 100644 index 00000000..ddd6929f --- /dev/null +++ b/src/Model/Payment/Billet/BankInterface.php @@ -0,0 +1,31 @@ +autoLoad(); + $banks = []; + foreach (get_declared_classes() as $class) { + try { + $reflect = new ReflectionClass($class); + if($reflect->implementsInterface(BankInterface::class)) { + $explodedFileName = explode(DIRECTORY_SEPARATOR, $reflect->getFileName()); + $banks[end($explodedFileName)] = $class; + } + } catch (\ReflectionException $e) {} + } + return $banks; + } + + private function autoLoad() + { + foreach(glob( __DIR__ . '/Banks/*.php') as $file) { + include_once($file); + } + } +} diff --git a/src/Model/Payment/Billet/Banks/BancoDoBrasil.php b/src/Model/Payment/Billet/Banks/BancoDoBrasil.php new file mode 100644 index 00000000..a4ddc944 --- /dev/null +++ b/src/Model/Payment/Billet/Banks/BancoDoBrasil.php @@ -0,0 +1,33 @@ +code; + } + + /** + * @return string + */ + public function getName() + { + return $this->name; + } +} diff --git a/src/Model/Payment/Voucher/Brands.php b/src/Model/Payment/Voucher/Brands.php new file mode 100644 index 00000000..03463621 --- /dev/null +++ b/src/Model/Payment/Voucher/Brands.php @@ -0,0 +1,49 @@ +autoLoad(); + $banks = []; + foreach (get_declared_classes() as $class) { + try { + $reflect = new ReflectionClass($class); + if($reflect->implementsInterface(BrandsInterface::class)) { + $explodedFileName = explode(DIRECTORY_SEPARATOR, $reflect->getFileName()); + $banks[end($explodedFileName)] = $class; + } + } catch (\ReflectionException $e) {} + } + return $banks; + } + + private function autoLoad() + { + foreach(glob( __DIR__ . '/Brands/*.php') as $file) { + include_once($file); + } + } +} diff --git a/src/Model/Payment/Voucher/Brands/Alelo.php b/src/Model/Payment/Voucher/Brands/Alelo.php new file mode 100644 index 00000000..ae408b65 --- /dev/null +++ b/src/Model/Payment/Voucher/Brands/Alelo.php @@ -0,0 +1,30 @@ + @@ -61,4 +61,4 @@

- \ No newline at end of file + diff --git a/templates/checkout/default.php b/templates/checkout/default.php new file mode 100644 index 00000000..4dc55d55 --- /dev/null +++ b/templates/checkout/default.php @@ -0,0 +1,41 @@ + +
+
    +
    + $model) +); ?> +payment, + array('model' => $model) +); ?> + + diff --git a/templates/checkout/environment.phtml b/templates/checkout/environment.phtml new file mode 100644 index 00000000..47c1eb86 --- /dev/null +++ b/templates/checkout/environment.phtml @@ -0,0 +1,20 @@ + +is_sandbox_mode()) : ?> +
    + + + +
    + diff --git a/templates/checkout/main.php b/templates/checkout/main.php index b7ce7d1f..6616abfb 100644 --- a/templates/checkout/main.php +++ b/templates/checkout/main.php @@ -1,4 +1,8 @@ payment; +?> +
    +

    + O Boleto bancário será exibido após a confirmação da compra e poderá ser pago em qualquer agência bancária, pelo seu smartphone ou computador através de serviços digitais de bancos. +

    + + +
    + diff --git a/templates/checkout/payment/pix.phtml b/templates/checkout/payment/pix.phtml new file mode 100644 index 00000000..8b291b12 --- /dev/null +++ b/templates/checkout/payment/pix.phtml @@ -0,0 +1,39 @@ +payment; +?> +
    +

    + O QR Code para seu pagamento através de PIX será gerado após a confirmação da compra. Aponte seu celular para a tela para capturar o código ou copie e cole o código em seu aplicativo de pagamentos. +

    + + +
    + diff --git a/templates/checkout/payment/voucher.phtml b/templates/checkout/payment/voucher.phtml new file mode 100644 index 00000000..80bb09fb --- /dev/null +++ b/templates/checkout/payment/voucher.phtml @@ -0,0 +1,39 @@ +payment; +?> +
    + $model->getPaymentInstace($type), 'cardType' => [TransactionType::VOUCHER]]); ?> + + 6, 'type' => $type]); ?> +
    From 41b7555bb84b883093a3f21bb8b8ce4d1767537d Mon Sep 17 00:00:00 2001 From: Aislan Cedraz Date: Mon, 7 Nov 2022 15:54:41 -0300 Subject: [PATCH 008/156] :sparkles: voucher --- templates/checkout/payment/voucher.phtml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/templates/checkout/payment/voucher.phtml b/templates/checkout/payment/voucher.phtml index 80bb09fb..1271ce60 100644 --- a/templates/checkout/payment/voucher.phtml +++ b/templates/checkout/payment/voucher.phtml @@ -22,18 +22,18 @@ $ref = sha1((string)random_int(1, 1000)); $type = $model->payment; ?>
    - $model->getPaymentInstace($type), 'cardType' => [TransactionType::VOUCHER]]); ?> + $model->getPaymentInstace($type)->getSuffix(), 'cardType' => [TransactionType::VOUCHER]]); ?> - 6, 'type' => $type]); ?> + $model->getPaymentInstace($type)->getSuffix(), 'type' => $type]); ?>
    From 7802c34e60adf4c3600c42fd8ef99ac1a1d146eb Mon Sep 17 00:00:00 2001 From: Aislan Cedraz Date: Mon, 31 Oct 2022 17:05:49 -0300 Subject: [PATCH 009/156] :sparkles: add sort order by date in migration --- ...> 2021-10-28-0000-TypeInSavedCardTable.php} | 0 src/DB/Migration/Migrator.php | 18 ++++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) rename src/DB/Migration/Migrations/{TypeInSavedCardTable.php => 2021-10-28-0000-TypeInSavedCardTable.php} (100%) diff --git a/src/DB/Migration/Migrations/TypeInSavedCardTable.php b/src/DB/Migration/Migrations/2021-10-28-0000-TypeInSavedCardTable.php similarity index 100% rename from src/DB/Migration/Migrations/TypeInSavedCardTable.php rename to src/DB/Migration/Migrations/2021-10-28-0000-TypeInSavedCardTable.php diff --git a/src/DB/Migration/Migrator.php b/src/DB/Migration/Migrator.php index 803bf297..22447ba2 100644 --- a/src/DB/Migration/Migrator.php +++ b/src/DB/Migration/Migrator.php @@ -29,6 +29,7 @@ public function execute() { $this->autoLoad(); $migrationsClasses = $this->getMigrations(); + $this->sort($migrationsClasses); if (count($migrationsClasses)) { foreach ($migrationsClasses as $class) { /** @var MigrationInterface $migration */ @@ -58,9 +59,22 @@ private function getMigrations() $implements = []; foreach($classes as $klass) { $reflect = new ReflectionClass($klass); - if($reflect->implementsInterface(MigrationInterface::class)) - $implements[] = $klass; + if($reflect->implementsInterface(MigrationInterface::class)) { + $explodedFileName = explode(DIRECTORY_SEPARATOR, $reflect->getFileName()); + $implements[end($explodedFileName)] = $klass; + } } return $implements; } + + /** + * @param $migrationsClasses + * @return void + */ + private function sort(&$migrationsClasses) + { + if (is_array($migrationsClasses)) { + ksort($migrationsClasses); + } + } } From ee8ac1e1f386a79c364798185659e71d4aad8c81 Mon Sep 17 00:00:00 2001 From: "mauricio.haygert.ext" Date: Sun, 6 Nov 2022 22:06:06 -0300 Subject: [PATCH 010/156] Menu Pagarme + Paginca de configuracao principal --- src/View/Admin/html-checkbox-field.php | 18 +++++ src/View/Admin/html-hub-enviroment.php | 19 +++++ .../Admin/html-hub-integration-button.php | 80 +++++++++++++++++++ src/View/Admin/html-select-field.php | 19 +++++ src/View/Admin/html-settings-page.php | 27 +++++++ src/View/Admin/html-text-field.php | 18 +++++ src/View/Settings.php | 27 +++++++ 7 files changed, 208 insertions(+) create mode 100644 src/View/Admin/html-checkbox-field.php create mode 100644 src/View/Admin/html-hub-enviroment.php create mode 100644 src/View/Admin/html-hub-integration-button.php create mode 100644 src/View/Admin/html-select-field.php create mode 100644 src/View/Admin/html-settings-page.php create mode 100644 src/View/Admin/html-text-field.php create mode 100644 src/View/Settings.php diff --git a/src/View/Admin/html-checkbox-field.php b/src/View/Admin/html-checkbox-field.php new file mode 100644 index 00000000..56bf817c --- /dev/null +++ b/src/View/Admin/html-checkbox-field.php @@ -0,0 +1,18 @@ + + /> + + + + +

    + +

    + +
    + + + +
    + diff --git a/src/View/Admin/html-hub-integration-button.php b/src/View/Admin/html-hub-integration-button.php new file mode 100644 index 00000000..590f9473 --- /dev/null +++ b/src/View/Admin/html-hub-integration-button.php @@ -0,0 +1,80 @@ + +
    + +
    + +
    + +
    + + diff --git a/src/View/Admin/html-select-field.php b/src/View/Admin/html-select-field.php new file mode 100644 index 00000000..8e5423a7 --- /dev/null +++ b/src/View/Admin/html-select-field.php @@ -0,0 +1,19 @@ + + + +

    + + +
    +

    + + + +
    + +
    +
    + + + + + + + +

    + + +
    +

    + + + +
    + +
    +
    + + Date: Wed, 16 Nov 2022 11:23:23 -0300 Subject: [PATCH 011/156] configuracoes pagamentos --- src/Controller/Gateways.php | 2 +- src/Controller/Gateways/BilletCreditCard.php | 58 ++++ src/Controller/Gateways/CreditCard.php | 287 ++++++++++++++++++ src/Controller/Gateways/TwoCreditCard.php | 54 ++++ src/Core.php | 2 +- src/Model/Payment/CreditCard.php | 32 ++ .../Payment/CreditCard/AbstractBrands.php | 43 +++ src/Model/Payment/CreditCard/Brands.php | 49 +++ src/Model/Payment/CreditCard/Brands/Amex.php | 30 ++ src/Model/Payment/CreditCard/Brands/Aura.php | 30 ++ .../Payment/CreditCard/Brands/Banese.php | 30 ++ src/Model/Payment/CreditCard/Brands/Cabal.php | 30 ++ src/Model/Payment/CreditCard/Brands/Credz.php | 30 ++ .../Payment/CreditCard/Brands/Diners.php | 30 ++ .../Payment/CreditCard/Brands/Discover.php | 30 ++ src/Model/Payment/CreditCard/Brands/Elo.php | 30 ++ .../Payment/CreditCard/Brands/HiperCard.php | 30 ++ src/Model/Payment/CreditCard/Brands/JCB.php | 30 ++ .../Payment/CreditCard/Brands/MasterCard.php | 30 ++ src/Model/Payment/CreditCard/Brands/Visa.php | 30 ++ .../Payment/CreditCard/BrandsInterface.php | 31 ++ 21 files changed, 916 insertions(+), 2 deletions(-) create mode 100644 src/Controller/Gateways/BilletCreditCard.php create mode 100644 src/Controller/Gateways/CreditCard.php create mode 100644 src/Controller/Gateways/TwoCreditCard.php create mode 100644 src/Model/Payment/CreditCard.php create mode 100644 src/Model/Payment/CreditCard/AbstractBrands.php create mode 100644 src/Model/Payment/CreditCard/Brands.php create mode 100644 src/Model/Payment/CreditCard/Brands/Amex.php create mode 100644 src/Model/Payment/CreditCard/Brands/Aura.php create mode 100644 src/Model/Payment/CreditCard/Brands/Banese.php create mode 100644 src/Model/Payment/CreditCard/Brands/Cabal.php create mode 100644 src/Model/Payment/CreditCard/Brands/Credz.php create mode 100644 src/Model/Payment/CreditCard/Brands/Diners.php create mode 100644 src/Model/Payment/CreditCard/Brands/Discover.php create mode 100644 src/Model/Payment/CreditCard/Brands/Elo.php create mode 100644 src/Model/Payment/CreditCard/Brands/HiperCard.php create mode 100644 src/Model/Payment/CreditCard/Brands/JCB.php create mode 100644 src/Model/Payment/CreditCard/Brands/MasterCard.php create mode 100644 src/Model/Payment/CreditCard/Brands/Visa.php create mode 100644 src/Model/Payment/CreditCard/BrandsInterface.php diff --git a/src/Controller/Gateways.php b/src/Controller/Gateways.php index 749f002a..4f512d97 100644 --- a/src/Controller/Gateways.php +++ b/src/Controller/Gateways.php @@ -1076,7 +1076,7 @@ public function generate_hub_button_integration_html($key, $data)

    diff --git a/src/Controller/Gateways/BilletCreditCard.php b/src/Controller/Gateways/BilletCreditCard.php new file mode 100644 index 00000000..e8661812 --- /dev/null +++ b/src/Controller/Gateways/BilletCreditCard.php @@ -0,0 +1,58 @@ + $this->field_multimethods_billet_card(), + ]; + } + + /** + * @return array + */ + public function field_multimethods_billet_card() + { + return array( + 'title' => __('Multi-means
    (Boleto + Credit card)', 'woo-pagarme-payments'), + 'type' => 'checkbox', + 'label' => __('Enable multi-means (Boleto + Credit card)', 'woo-pagarme-payments'), + 'default' => 'no', + 'custom_attributes' => array( + 'data-action' => 'enable-multimethods-billet-card', + 'data-requires-field' => 'billet-bank', + ), + ); + } +} diff --git a/src/Controller/Gateways/CreditCard.php b/src/Controller/Gateways/CreditCard.php new file mode 100644 index 00000000..0eab6d99 --- /dev/null +++ b/src/Controller/Gateways/CreditCard.php @@ -0,0 +1,287 @@ + $this->field_enable_credit_card(), + 'cc_operation_type' => $this->field_cc_operation_type(), + 'cc_soft_descriptor' => $this->field_cc_soft_descriptor(), + 'cc_flags' => $this->field_cc_flags(), + 'cc_allow_save' => $this->field_cc_allow_save(), + 'cc_installment_type' => $this->field_cc_installment_type(), + 'cc_installments_maximum' => $this->field_cc_installment_fields('maximum'), + 'cc_installments_min_amount' => $this->field_cc_installment_fields('installment_min_amount'), + 'cc_installments_interest' => $this->field_cc_installment_fields('interest'), + 'cc_installments_interest_increase' => $this->field_cc_installment_fields('interest_increase'), + 'cc_installments_without_interest' => $this->field_cc_installment_fields('without_interest'), + 'cc_installments_by_flag' => $this->field_cc_installment_fields('flags'), + 'section_antifraud' => $this->section_antifraud(), + 'antifraud_enabled' => $this->antifraud_enabled(), + 'antifraud_min_value' => $this->antifraud_min_value(), + ]; + } + + /** + * @return array + */ + public function field_enable_credit_card() + { + return array( + 'title' => __('Credit card', 'woo-pagarme-payments'), + 'type' => 'checkbox', + 'label' => __('Enable credit card', 'woo-pagarme-payments'), + 'default' => 'yes', + ); + } + + /** + * @return array + */ + public function field_cc_operation_type() + { + return array( + 'type' => 'select', + 'title' => __('Operation Type', 'woo-pagarme-payments'), + 'class' => 'wc-enhanced-select', + 'default' => 1, + 'options' => array( + 1 => __('Authorize', 'woo-pagarme-payments'), + 2 => __('Authorize and Capture', 'woo-pagarme-payments'), + ), + ); + } + + /** + * @return array + */ + public function field_cc_soft_descriptor() + { + return array( + 'title' => __('Soft descriptor', 'woo-pagarme-payments'), + 'desc_tip' => __('Description that appears on the credit card bill.', 'woo-pagarme-payments'), + 'description' => sprintf(__("Max length of %s characters.", 'woo-pagarme-payments'), 13), + 'custom_attributes' => array( + 'data-field' => 'soft-descriptor', + 'data-action' => 'soft-descriptor', + 'data-element' => 'validate', + 'maxlength' => 13, + 'data-error-msg' => __('This field is required.', 'woo-pagarme-payments'), + ), + ); + } + + /** + * @return array + */ + public function field_cc_allow_save() + { + return array( + 'title' => __('Card wallet', 'woo-pagarme-payments'), + 'type' => 'checkbox', + 'label' => __('Enable card wallet', 'woo-pagarme-payments'), + 'default' => 'no', + 'description' => __('Allows for cards to be saved for future purchases.', 'woo-pagarme-payments'), + 'desc_tip' => true, + 'custom_attributes' => array( + 'data-field' => 'cc-allow-save', + ), + ); + } + + /** + * @return array + */ + public function field_cc_flags() + { + return array( + 'type' => 'multiselect', + 'title' => __('Card Brands', 'woo-pagarme-payments'), + 'select_buttons' => false, + 'class' => 'wc-enhanced-select', + 'options' => $this->model->settings->get_flags_list(), + 'custom_attributes' => array( + 'data-field' => 'flags-select', + 'data-element' => 'flags-select', + 'data-action' => 'flags', + ), + ); + } + + /** + * @return array + */ + public function field_cc_installment_type() + { + return array( + 'title' => __('Installment configuration', 'woo-pagarme-payments'), + 'type' => 'select', + 'class' => 'wc-enhanced-select', + 'label' => __('Choose the installment configuration', 'woo-pagarme-payments'), + 'default' => 1, + 'options' => array( + Gateway::CC_TYPE_SINGLE => __('For all card brands', 'woo-pagarme-payments'), + Gateway::CC_TYPE_BY_FLAG => __('By card brand', 'woo-pagarme-payments'), + ), + 'custom_attributes' => array( + 'data-element' => 'installments-type-select', + 'data-action' => 'installments-type', + ), + ); + } + + /** + * @return array + */ + public function field_cc_installment_fields($field) + { + $installments = array(); + + $installments['maximum'] = array( + 'title' => __('Max number of installments', 'woo-pagarme-payments'), + 'type' => 'select', + 'default' => 12, + 'options' => $this->model->get_installment_options(), + 'custom_attributes' => array( + 'data-field' => 'installments-maximum', + ), + ); + + $installments['installment_min_amount'] = array( + 'title' => __('Minimum installment amount', 'woo-pagarme-payments'), + 'type' => 'text', + 'description' => __('Defines the minimum value that an installment can assume', 'woo-pagarme-payments'), + 'desc_tip' => true, + 'placeholder' => '0.00', + 'custom_attributes' => array( + 'data-field' => 'installments-min-amount', + 'data-mask' => '##0.00', + 'data-mask-reverse' => 'true', + ), + ); + + $installments['interest'] = array( + 'title' => __('Initial interest rate (%)', 'woo-pagarme-payments'), + 'type' => 'text', + 'description' => __('Interest rate applied starting with the first installment with interest.', 'woo-pagarme-payments'), + 'desc_tip' => true, + 'placeholder' => '0.00', + 'custom_attributes' => array( + 'data-field' => 'installments-interest', + 'data-mask' => '##0.00', + 'data-mask-reverse' => 'true', + ), + ); + + $installments['interest_increase'] = array( + 'title' => __('Incremental interest rate (%)', 'woo-pagarme-payments'), + 'type' => 'text', + 'description' => __('Interest rate added for each installment with interest.', 'woo-pagarme-payments'), + 'desc_tip' => true, + 'placeholder' => '0.00', + 'custom_attributes' => array( + 'data-field' => 'installments-interest-increase', + 'data-mask' => '##0.00', + 'data-mask-reverse' => 'true', + ), + ); + + $installments['without_interest'] = array( + 'title' => __('Number of installments without interest', 'woo-pagarme-payments'), + 'type' => 'select', + 'default' => 3, + 'options' => $this->model->get_installment_options(), + 'custom_attributes' => array( + 'data-field' => 'installments-without-interest', + ), + ); + + $installments['flags'] = array( + 'title' => __('Settings by card brand', 'woo-pagarme-payments'), + 'type' => 'installments_by_flag', + ); + + return $installments[$field]; + } + + /** + * @return array + */ + public function section_antifraud() + { + return array( + 'title' => __('Anti fraud settings', 'woo-pagarme-payments'), + 'type' => 'title', + 'custom_attributes' => array( + 'data-field' => 'antifraud-section', + ) + ); + } + + /** + * @return array + */ + public function antifraud_enabled() + { + return array( + 'title' => __('Enable', 'woo-pagarme-payments'), + 'type' => 'checkbox', + 'label' => __('Enable anti fraud', 'woo-pagarme-payments'), + 'default' => 'no', + 'custom_attributes' => array( + 'data-field' => 'antifraud-enabled', + ) + ); + } + + /** + * @return array + */ + public function antifraud_min_value() + { + return array( + 'title' => __('Minimum amount', 'woo-pagarme-payments'), + 'type' => 'text', + 'description' => __('Minimum order amount to send it to the anti fraud', 'woo-pagarme-payments'), + 'desc_tip' => true, + 'placeholder' => '100,00', + 'custom_attributes' => array( + 'data-mask' => '#.##0,00', + 'data-mask-reverse' => 'true', + 'data-field' => 'antifraud-min-value', + ), + ); + } +} diff --git a/src/Controller/Gateways/TwoCreditCard.php b/src/Controller/Gateways/TwoCreditCard.php new file mode 100644 index 00000000..623a2f6f --- /dev/null +++ b/src/Controller/Gateways/TwoCreditCard.php @@ -0,0 +1,54 @@ + $this->field_multimethods_2_cards(), + ]; + } + + /** + * @return array + */ + public function field_multimethods_2_cards() + { + return array( + 'title' => __('Multi-means
    (2 Credit cards)', 'woo-pagarme-payments'), + 'type' => 'checkbox', + 'label' => __('Enable multi-means (2 Credit cards)', 'woo-pagarme-payments'), + 'default' => 'no', + ); + } +} diff --git a/src/Core.php b/src/Core.php index fc9893e6..2fb97c2e 100644 --- a/src/Core.php +++ b/src/Core.php @@ -196,7 +196,7 @@ public static function filemtime($path) public static function get_page_link() { - return Utils::get_admin_url('admin.php') . '?page=wc-settings&tab=checkout§ion=' . self::SLUG; + return Utils::get_admin_url('admin.php') . '?page=' . self::SLUG; } public static function tag_name($name = '') diff --git a/src/Model/Payment/CreditCard.php b/src/Model/Payment/CreditCard.php new file mode 100644 index 00000000..8da781a7 --- /dev/null +++ b/src/Model/Payment/CreditCard.php @@ -0,0 +1,32 @@ +code; + } + + /** + * @return string + */ + public function getName() + { + return $this->name; + } +} diff --git a/src/Model/Payment/CreditCard/Brands.php b/src/Model/Payment/CreditCard/Brands.php new file mode 100644 index 00000000..03463621 --- /dev/null +++ b/src/Model/Payment/CreditCard/Brands.php @@ -0,0 +1,49 @@ +autoLoad(); + $banks = []; + foreach (get_declared_classes() as $class) { + try { + $reflect = new ReflectionClass($class); + if($reflect->implementsInterface(BrandsInterface::class)) { + $explodedFileName = explode(DIRECTORY_SEPARATOR, $reflect->getFileName()); + $banks[end($explodedFileName)] = $class; + } + } catch (\ReflectionException $e) {} + } + return $banks; + } + + private function autoLoad() + { + foreach(glob( __DIR__ . '/Brands/*.php') as $file) { + include_once($file); + } + } +} diff --git a/src/Model/Payment/CreditCard/Brands/Amex.php b/src/Model/Payment/CreditCard/Brands/Amex.php new file mode 100644 index 00000000..3a79f56c --- /dev/null +++ b/src/Model/Payment/CreditCard/Brands/Amex.php @@ -0,0 +1,30 @@ + Date: Wed, 16 Nov 2022 11:06:43 -0300 Subject: [PATCH 012/156] :sparkles: provide checkout process --- src/Controller/Gateways/AbstractGateway.php | 55 +++++- src/Model/Charge.php | 3 +- src/Model/Payment/AbstractPayment.php | 31 +++ src/Model/Payment/Billet.php | 10 + src/Model/Payment/BilletCard.php | 77 ++++++++ src/Model/Payment/PaymentInterface.php | 10 + src/Model/Payment/Pix.php | 10 + src/Model/Payment/PostFormatter.php | 197 ++++++++++++++++++++ src/Model/Payment/TwoCards.php | 65 +++++++ src/Model/Payment/Voucher.php | 16 ++ src/Model/WooOrderRepository.php | 49 +++++ src/View/Orders.php | 3 +- 12 files changed, 518 insertions(+), 8 deletions(-) create mode 100644 src/Model/Payment/BilletCard.php create mode 100644 src/Model/Payment/PostFormatter.php create mode 100644 src/Model/Payment/TwoCards.php create mode 100644 src/Model/WooOrderRepository.php diff --git a/src/Controller/Gateways/AbstractGateway.php b/src/Controller/Gateways/AbstractGateway.php index c1d56a86..a9634a69 100644 --- a/src/Controller/Gateways/AbstractGateway.php +++ b/src/Controller/Gateways/AbstractGateway.php @@ -13,9 +13,12 @@ use WC_Payment_Gateway; use WC_Order; +use Woocommerce\Pagarme\Controller\Checkout; use Woocommerce\Pagarme\Core; use Woocommerce\Pagarme\Helper\Utils; use Woocommerce\Pagarme\Model\Gateway; +use Woocommerce\Pagarme\Model\Payment\PostFormatter; +use Woocommerce\Pagarme\Model\WooOrderRepository; defined( 'ABSPATH' ) || exit; @@ -29,9 +32,7 @@ */ abstract class AbstractGateway extends WC_Payment_Gateway { - /** - * @var Object - */ + /** @var Gateway|null */ public $model; /** @var string */ @@ -40,9 +41,34 @@ abstract class AbstractGateway extends WC_Payment_Gateway /** @var string */ protected $vendor = 'Pagar.me'; - public function __construct() - { - $this->model = new Gateway(); + /** @var WooOrderRepository */ + private $wooOrderRepository; + + /** @var PostFormatter */ + private $postFormatter; + + /** + * @param Gateway|null $gateway + * @param WooOrderRepository|null $wooOrderRepository + * @param PostFormatter|null $postFormatter + */ + public function __construct( + Gateway $gateway = null, + WooOrderRepository $wooOrderRepository = null, + PostFormatter $postFormatter = null + ) { + if (!$gateway) { + $gateway = new Gateway(); + } + if (!$wooOrderRepository) { + $wooOrderRepository = new WooOrderRepository(); + } + if (!$postFormatter) { + $postFormatter = new PostFormatter(); + } + $this->postFormatter = $postFormatter; + $this->model = $gateway; + $this->wooOrderRepository = $wooOrderRepository; $this->id = 'woo-pagarme-payments-' . $this->method; $this->method_title = __($this->getPaymentMethodTitle(), 'woo-pagarme-payments'); $this->method_description = __('Payment Gateway Pagar.me', 'woo-pagarme-payments') . ' ' . $this->getPaymentMethodTitle(); @@ -61,6 +87,23 @@ public function __construct() add_action('woocommerce_thankyou_' . $this->vendor, array($this, 'thank_you_page')); } + /** + * @param $orderId + * @return array + * @throws \Exception + */ + public function process_payment($orderId): array + { + $wooOrder = $this->wooOrderRepository->getById($orderId); + $this->postFormatter->format($orderId); + $checkout = new Checkout(); + $checkout->process_checkout_transparent($wooOrder); + return [ + 'result' => 'success', + 'redirect' => $this->get_return_url($wooOrder) + ]; + } + public function payment_fields() { $this->model->payment = $this->method; diff --git a/src/Model/Charge.php b/src/Model/Charge.php index 84ff1bc3..dd4c6f74 100644 --- a/src/Model/Charge.php +++ b/src/Model/Charge.php @@ -238,7 +238,8 @@ public function is_allowed_capture($charge) public function is_allowed_cancel($charge) { $status = $charge->getStatus()->getStatus(); - $transaction = array_shift($charge->getTransactions()); + $transactions = $charge->getTransactions(); + $transaction = array_shift($transactions); $method = $transaction->getTransactionType()->getType(); if ($method == 'boleto' && in_array($status, ['pending'])) { diff --git a/src/Model/Payment/AbstractPayment.php b/src/Model/Payment/AbstractPayment.php index 22850571..3dda3f0d 100644 --- a/src/Model/Payment/AbstractPayment.php +++ b/src/Model/Payment/AbstractPayment.php @@ -28,6 +28,12 @@ abstract class AbstractPayment /** @var string */ protected $code = null; + /** @var array */ + protected $requirementsData = []; + + /** @var array */ + protected $dictionary = []; + /** * @return int * @throws \Exception @@ -64,6 +70,31 @@ public function getMethodCode() return $this->error($this->code); } + /** + * @return array + */ + public function getRequirementsData() + { + return $this->requirementsData; + } + + /** + * @return array + */ + public function renameFieldsPost( + $field, + $formattedPost, + $arrayFieldKey + ) { + foreach ($this->dictionary as $fieldKey => $formatedPostKey) { + if (in_array($fieldKey, $field)) { + $field['name'] = $formatedPostKey; + $formattedPost['fields'][$arrayFieldKey] = $field; + } + } + return $formattedPost; + } + /** * @param $field * @return mixed diff --git a/src/Model/Payment/Billet.php b/src/Model/Payment/Billet.php index 78422756..44712521 100644 --- a/src/Model/Payment/Billet.php +++ b/src/Model/Payment/Billet.php @@ -29,4 +29,14 @@ class Billet extends AbstractPayment implements PaymentInterface /** @var string */ protected $code = 'billet'; + + /** @var string[] */ + protected $requirementsData = [ + 'multicustomer_billet', + 'payment_method', + 'enable_multicustomers_billet' + ]; + + /** @var array */ + protected $dictionary = []; } diff --git a/src/Model/Payment/BilletCard.php b/src/Model/Payment/BilletCard.php new file mode 100644 index 00000000..6ee50ae2 --- /dev/null +++ b/src/Model/Payment/BilletCard.php @@ -0,0 +1,77 @@ + 'card_order_value', + 'multicustomer_card_billet' => 'multicustomer_card', + 'multicustomer_billet_card' => 'multicustomer_billet', + 'brand4' => 'brand', + 'installments3' => 'installments', + 'pagarmetoken4' => 'pagarmetoken1', + 'card_id4' => 'card_id', + 'save_credit_card4' => 'save_credit_card' + ]; + + /** + * @return array + */ + public function renameFieldsPost( + $field, + $formattedPost, + $arrayFieldKey + ) { + $formattedPost = parent::renameFieldsPost($field, $formattedPost, $arrayFieldKey); + if (in_array('pagarme_payment_method', $field)) { + $field['name'] = 'payment_method'; + $field['value'] = 'billet_and_card'; + $formattedPost['fields'][$arrayFieldKey] = $field; + } + return $formattedPost; + } +} diff --git a/src/Model/Payment/PaymentInterface.php b/src/Model/Payment/PaymentInterface.php index aae0331e..fc550d3c 100644 --- a/src/Model/Payment/PaymentInterface.php +++ b/src/Model/Payment/PaymentInterface.php @@ -33,4 +33,14 @@ public function getName(); * @return string */ public function getMethodCode(); + + /** + * @return array + */ + public function getRequirementsData(); + + /** + * @return array + */ + public function renameFieldsPost($field, $formattedPost, $arrayFieldKey); } diff --git a/src/Model/Payment/Pix.php b/src/Model/Payment/Pix.php index cf90e3f5..78e743e2 100644 --- a/src/Model/Payment/Pix.php +++ b/src/Model/Payment/Pix.php @@ -29,4 +29,14 @@ class Pix extends AbstractPayment implements PaymentInterface /** @var string */ protected $code = 'pix'; + + /** @var string[] */ + protected $requirementsData = [ + 'multicustomer_pix', + 'payment_method', + 'enable_multicustomers_pix' + ]; + + /** @var array */ + protected $dictionary = []; } diff --git a/src/Model/Payment/PostFormatter.php b/src/Model/Payment/PostFormatter.php new file mode 100644 index 00000000..f83fe0cd --- /dev/null +++ b/src/Model/Payment/PostFormatter.php @@ -0,0 +1,197 @@ +paymentMethod = $paymentMethod; + } + if (!$gateway) { + $gateway = new Gateway(); + } + $this->orderId = $orderId; + $this->gateway = $gateway; + } + + /** + * @return mixed|null + * @throws \Exception + */ + public function getPaymentMethod() + { + if ($this->paymentMethod) { + return $this->paymentMethod; + } + if (!$this->paymentMethod) { + if (array_key_exists('payment_method', $_POST)) { + $this->paymentMethod = str_replace('woo-pagarme-payments-', '', sanitize_text_field($_POST['payment_method'])); + return $this->paymentMethod ; + } + } + throw new \Exception(__('Empty payment method', 'woo-pagarme-payments')); + } + + public function format($orderId = null) + { + $result = []; + if ($orderId) { + $this->orderId = $orderId; + } + if (!$this->orderId) { + throw new \Exception(__('$orderId cannot be null', 'woo-pagarme-payments')); + } + $result['order'] = $this->orderId; + $result['fields'] = []; + $filteredPost = array_intersect_key($_POST, array_flip( + $this->dataToFilterFromPost($this->getPaymentMethod()) + )); + $result = $this->addsFilteredDataInFormattedPostArray($filteredPost, $result); + $result = $this->renameFieldsFromFormattedPost($result, $this->getPaymentMethod()); + $result = $this->formatMulticustomerCardArray($result); + $_POST = $result; + } + + /** + * @param $paymentMethod + * @return array + * @throws \Exception + */ + private function dataToFilterFromPost($paymentMethod) + { + if ($paymentMethod) { + return $this->gateway->getPaymentInstace($paymentMethod)->getRequirementsData(); + } + return $_POST; + } + + /** + * @param $filteredPost + * @param $formattedPost + * @return array + */ + private function addsFilteredDataInFormattedPostArray($filteredPost, $formattedPost) + { + foreach ($filteredPost as $key => $value) { + $formattedPost['fields'][] = [ + "name" => sanitize_text_field($key), + "value" => sanitize_text_field($value) + ]; + } + return $formattedPost; + } + + /** + * @param $formattedPost + * @param $paymentMethod + * @return array|mixed + * @throws \Exception + */ + private function renameFieldsFromFormattedPost($formattedPost, $paymentMethod) + { + foreach ($formattedPost['fields'] as $arrayFieldKey => $field) { + $formattedPost = $this->applyForAllFields( + $field, + $formattedPost, + $arrayFieldKey + ); + if ($paymentMethod) { + $formattedPost = $this->gateway->getPaymentInstace($paymentMethod)->renameFieldsPost($field, $formattedPost, $arrayFieldKey); + } + } + return $formattedPost; + } + + /** + * @param $field + * @param $formattedPost + * @param $arrayFieldKey + * @return array + */ + private function applyForAllFields( + $field, + $formattedPost, + $arrayFieldKey + ) { + if (in_array('payment_method', $field)) { + $field['value'] = $this->paymentMethod; + $formattedPost['fields'][$arrayFieldKey] = $field; + } + return $formattedPost; + } + + /** + * @param $formattedPost + * @return array|mixed + */ + private function formatMulticustomerCardArray($formattedPost) + { + foreach ($formattedPost['fields'] as $fieldsValue) { + if (strstr($fieldsValue['name'], 'multicustomer_')) { + $formattedPost = $this->addsDataInFormattedPost( + $fieldsValue['value'], + $fieldsValue['name'], + $formattedPost + ); + } + } + return $formattedPost; + } + + /** + * @param $fieldValue + * @param $fieldValueName + * @param $formattedPost + * @return array + */ + private function addsDataInFormattedPost( + $fieldValue, + $fieldValueName, + $formattedPost + ) { + foreach ($fieldValue as $key => $value) { + $formattedPost['fields'][] = [ + "name" => $fieldValueName . '[' . $key . ']', + "value" => $value + ]; + } + return $formattedPost; + } +} diff --git a/src/Model/Payment/TwoCards.php b/src/Model/Payment/TwoCards.php new file mode 100644 index 00000000..c3584ab1 --- /dev/null +++ b/src/Model/Payment/TwoCards.php @@ -0,0 +1,65 @@ + 'brand', + 'brand3' => 'brand2', + 'pagarmetoken2' => 'pagarmetoken1', + 'pagarmetoken3' => 'pagarmetoken2', + 'card_id2' => 'card_id', + 'card_id3' => 'card_id2', + 'save_credit_card2' => 'save_credit_card', + 'save_credit_card3' => 'save_credit_card2' + ]; +} diff --git a/src/Model/Payment/Voucher.php b/src/Model/Payment/Voucher.php index 7f11ff08..bc620bb0 100644 --- a/src/Model/Payment/Voucher.php +++ b/src/Model/Payment/Voucher.php @@ -29,4 +29,20 @@ class Voucher extends AbstractPayment implements PaymentInterface /** @var string */ protected $code = 'voucher'; + + /** @var string[] */ + protected $requirementsData = [ + 'brand6', + 'payment_method', + 'pagarmetoken6', + 'save_credit_card6', + 'card_id6' + ]; + + /** @var array */ + protected $dictionary = [ + 'card_id6' => 'card_id', + 'brand6' => 'brand', + 'save_credit_card6' => 'save_credit_card' + ]; } diff --git a/src/Model/WooOrderRepository.php b/src/Model/WooOrderRepository.php new file mode 100644 index 00000000..c256874c --- /dev/null +++ b/src/Model/WooOrderRepository.php @@ -0,0 +1,49 @@ +save(); + } + throw new \Exception(__('$order need be instance off WC_Order', 'woo-pagarme-payments')); + } +} diff --git a/src/View/Orders.php b/src/View/Orders.php index e9437012..44423a3b 100644 --- a/src/View/Orders.php +++ b/src/View/Orders.php @@ -53,7 +53,8 @@ public static function render_capture_metabox($post) > getTransactions()); + $transactions = $charge->getTransactions(); + $transaction = array_shift($transactions); $chargeId = $charge->getPagarmeId()->getValue(); $chargeStatus = $charge->getStatus()->getStatus(); From 03ae2f63e8ee62df591de183ee23766c9d740be7 Mon Sep 17 00:00:00 2001 From: Aislan Cedraz Date: Thu, 17 Nov 2022 22:58:47 -0300 Subject: [PATCH 013/156] :sparkles: add payment method in order details woocommerce --- src/Controller/Checkout.php | 3 +- src/Controller/Gateways/AbstractGateway.php | 69 +++---------------- src/Controller/Gateways/CreditCard.php | 4 +- .../Payment/CreditCard/AbstractBrands.php | 2 +- src/Model/Payment/CreditCard/Brands.php | 2 +- .../Payment/CreditCard/BrandsInterface.php | 2 +- 6 files changed, 16 insertions(+), 66 deletions(-) diff --git a/src/Controller/Checkout.php b/src/Controller/Checkout.php index 0ee89ced..93144c62 100644 --- a/src/Controller/Checkout.php +++ b/src/Controller/Checkout.php @@ -6,6 +6,7 @@ exit(0); } +use Woocommerce\Pagarme\Controller\Gateways\AbstractGateway; use Woocommerce\Pagarme\Model\Order; use Woocommerce\Pagarme\Model\Customer; use Woocommerce\Pagarme\Model\Gateway; @@ -71,7 +72,7 @@ public function process_checkout_transparent(WC_Order $wc_order = null): bool $order = new Order($wc_order->get_order_number()); $order->payment_method = $fields['payment_method']; $order->update_meta('_payment_method_title', $this->payment_methods[$fields['payment_method']]); - $order->update_meta('_payment_method', Gateways::PAYMENT_METHOD); + $order->update_meta('_payment_method', AbstractGateway::PAGARME . ' ' . $this->payment_methods[$fields['payment_method']]); WC()->cart->empty_cart(); if ($response) { $order->transaction_id = $response->getPagarmeId()->getValue(); diff --git a/src/Controller/Gateways/AbstractGateway.php b/src/Controller/Gateways/AbstractGateway.php index a9634a69..c22d4557 100644 --- a/src/Controller/Gateways/AbstractGateway.php +++ b/src/Controller/Gateways/AbstractGateway.php @@ -32,6 +32,9 @@ */ abstract class AbstractGateway extends WC_Payment_Gateway { + /** @var string */ + const PAGARME = 'Pagar.me'; + /** @var Gateway|null */ public $model; @@ -39,7 +42,7 @@ abstract class AbstractGateway extends WC_Payment_Gateway protected $method = 'payment'; /** @var string */ - protected $vendor = 'Pagar.me'; + protected $vendor = self::PAGARME; /** @var WooOrderRepository */ private $wooOrderRepository; @@ -84,7 +87,7 @@ public function __construct( add_action('woocommerce_update_options_payment_gateways_' . $this->id, array($this, 'process_admin_options')); } add_action('woocommerce_receipt_' . $this->id, array($this, 'receipt_page')); - add_action('woocommerce_thankyou_' . $this->vendor, array($this, 'thank_you_page')); + add_action('woocommerce_thankyou_' . $this->vendor . ' ' . $this->getPaymentMethodTitle(), array($this, 'thank_you_page')); } /** @@ -130,7 +133,7 @@ public function receipt_page($order_id) */ public function checkout_transparent($order_id) { - $wc_order = new WC_Order($order_id); + $wc_order = $this->wooOrderRepository->getById($order_id); require_once Core::get_file_path($this->method . '-item.php', 'templates/checkout/'); } @@ -140,7 +143,7 @@ public function checkout_transparent($order_id) */ public function thank_you_page($order_id) { - $order = new WC_Order($order_id); + $order = $this->wooOrderRepository->getById($order_id); require_once Core::get_file_path('thank-you-page.php', 'templates/'); } @@ -152,7 +155,7 @@ public function getTitle() if ($title = $this->get_option('title')) { return $title; } - return $this->vendor . ' ' . $this->method; + return $this->vendor . ' ' . $this->getPaymentMethodTitle(); } /** @@ -160,13 +163,12 @@ public function getTitle() */ public function getPaymentMethodTitle() { - return ucfirst($this->method); + return ucfirst(str_replace('-', ' ', $this->method)); } public function init_form_fields() { $this->form_fields = [ - 'hub_environment' => $this->field_hub_environment(), 'title' => $this->field_title() ]; } @@ -191,57 +193,4 @@ public function field_title() 'default' => __($this->getPaymentMethodTitle(), 'woo-pagarme-payments'), ]; } - - /** - * @return array - */ - public function field_hub_environment() - { - return array( - 'title' => __('Integration environment', 'woo-pagarme-payments'), - 'type' => 'hub_environment', - ); - } - - public function generate_hub_environment_html($key, $data) - { - ob_start(); - ?> - - - - - - model->settings->hub_environment); ?> - - - model->settings->hub_install_id) : ?> - - - -
    - - - -
    - - - - - model->is_sandbox_mode()) : ?> - - - -
    - - - -
    - - - - - Date: Mon, 28 Nov 2022 21:44:35 -0300 Subject: [PATCH 014/156] :sparkles: Billet Advanced Settings --- src/Controller/Gateways/AbstractGateway.php | 21 ++++++++++++++++++++- src/Controller/Gateways/Billet.php | 20 +++++++++++++++++++- src/Model/Setting.php | 2 +- 3 files changed, 40 insertions(+), 3 deletions(-) diff --git a/src/Controller/Gateways/AbstractGateway.php b/src/Controller/Gateways/AbstractGateway.php index c22d4557..46e42957 100644 --- a/src/Controller/Gateways/AbstractGateway.php +++ b/src/Controller/Gateways/AbstractGateway.php @@ -78,7 +78,7 @@ public function __construct( $this->has_fields = false; $this->icon = Core::plugins_url('assets/images/logo.png'); $this->init_form_fields(); - $this->form_fields = array_merge($this->form_fields,$this->append_form_fields()); + $this->form_fields = array_merge($this->form_fields,array_merge($this->append_form_fields(), $this->append_gateway_form_fields())); $this->init_settings(); $this->enabled = $this->get_option('enabled', 'no'); $this->title = $this->getTitle(); @@ -181,6 +181,25 @@ public function append_form_fields() return []; } + /** + * @return array + */ + private function append_gateway_form_fields() + { + if ($this->model->settings->is_gateway_integration_type()) { + return $this->gateway_form_fields(); + } + return []; + } + + /** + * @return array + */ + protected function gateway_form_fields() + { + return []; + } + /** * @return array */ diff --git a/src/Controller/Gateways/Billet.php b/src/Controller/Gateways/Billet.php index 6c1df198..31299cea 100644 --- a/src/Controller/Gateways/Billet.php +++ b/src/Controller/Gateways/Billet.php @@ -35,12 +35,24 @@ class Billet extends AbstractGateway public function append_form_fields() { return [ - 'billet_bank' => $this->field_billet_bank(), 'billet_deadline_days' => $this->field_billet_deadline_days(), 'billet_instructions' => $this->field_billet_instructions(), ]; } + /** + * @return array + */ + protected function gateway_form_fields() + { + return [ + 'billet_bank' => $this->field_billet_bank() + ]; + } + + /** + * @return array + */ public function field_billet_bank() { $options = []; @@ -62,6 +74,9 @@ public function field_billet_bank() ]; } + /** + * @return array + */ public function field_billet_deadline_days() { return [ @@ -77,6 +92,9 @@ public function field_billet_deadline_days() ]; } + /** + * @return array + */ public function field_billet_instructions() { return [ diff --git a/src/Model/Setting.php b/src/Model/Setting.php index b6e47a7a..7ecf75b9 100644 --- a/src/Model/Setting.php +++ b/src/Model/Setting.php @@ -195,7 +195,7 @@ public function is_enabled() public function is_gateway_integration_type() { - return ('yes' === $this->__get('is_gateway_integration_type')); + return (bool) $this->__get('is_gateway_integration_type'); } public function is_enabled_logs() From 56ae1734d6d5eae30186653948603378bd5f3f78 Mon Sep 17 00:00:00 2001 From: Aislan Cedraz Date: Mon, 5 Dec 2022 10:16:30 -0300 Subject: [PATCH 015/156] :bookmark: update --- .../System/Config/Form/AbstractField.php | 250 ++++++++++ .../System/Config/Form/Field/Select.php | 53 ++ src/Controller/Gateways/AbstractGateway.php | 6 +- src/Model/Config.php | 97 ++++ src/Model/Config/Source/Yesno.php | 65 +++ src/Model/Data/DataObject.php | 466 ++++++++++++++++++ src/Model/Data/OptionSourceInterface.php | 26 + src/Model/Gateway.php | 12 +- src/Model/Serialize/Serializer/Json.php | 47 ++ src/Model/Setting.php | 4 + .../system/config/form/field/checkbox.phtml | 18 + .../system/config/form/field/select.phtml | 23 + .../system/config/form/field/text.phtml | 18 + 13 files changed, 1079 insertions(+), 6 deletions(-) create mode 100644 src/Block/Adminhtml/System/Config/Form/AbstractField.php create mode 100644 src/Block/Adminhtml/System/Config/Form/Field/Select.php create mode 100644 src/Model/Config.php create mode 100644 src/Model/Config/Source/Yesno.php create mode 100644 src/Model/Data/DataObject.php create mode 100644 src/Model/Data/OptionSourceInterface.php create mode 100644 src/Model/Serialize/Serializer/Json.php create mode 100644 src/View/Admin/templates/system/config/form/field/checkbox.phtml create mode 100644 src/View/Admin/templates/system/config/form/field/select.phtml create mode 100644 src/View/Admin/templates/system/config/form/field/text.phtml diff --git a/src/Block/Adminhtml/System/Config/Form/AbstractField.php b/src/Block/Adminhtml/System/Config/Form/AbstractField.php new file mode 100644 index 00000000..5f1f6ceb --- /dev/null +++ b/src/Block/Adminhtml/System/Config/Form/AbstractField.php @@ -0,0 +1,250 @@ +template = $template; + } + $this->init($data); + } + + /** + * @return void + */ + public function toHtml() + { + add_settings_field( + $this->getId(), + __($this->getTitle(), 'woo-pagarme-payments'), + [$this, 'emptyCallback'], + $this->getPage(), + $this->getSection(), + json_encode($this) + ); + include_once $this->template; + } + + /** + * Null fallback. + */ + public function emptyCallback() + { + + } + + /** + * @return void + */ + protected function init(array $data = []) + { + $this->template = plugin_dir_path(WCMP_ROOT_SRC ) . 'src' . DIRECTORY_SEPARATOR . $this->templatePath . $this->template; + foreach ($data as $key => $value) { + $method = 'set' . str_replace(' ', '', ucwords(str_replace('_', ' ', $key))); + if (method_exists($this, $method)) { + $this->{$method}($value); + } + } + } + + /** + * @param string $section + * @return $this + */ + public function setSection(string $section) + { + $this->section = $section; + return $this; + } + + /** + * @return string + */ + public function getSection() + { + return $this->section; + } + + /** + * @param string $id + * @return $this + */ + public function setId(string $id) + { + $this->id = $id; + return $this; + } + + /** + * @return string + */ + public function getId() + { + return $this->id; + } + + /** + * @param string $page + * @return $this + */ + public function setPage(string $page) + { + $this->page = $page; + return $this; + } + + /** + * @return string + */ + public function getPage() + { + return $this->page; + } + + /** + * @param string $title + * @return $this + */ + public function setTitle(string $title) + { + $this->title = $title; + return $this; + } + + /** + * @return string + */ + public function getTitle() + { + return $this->title; + } + + /** + * @param $name + * @return $this + */ + public function setName($name) + { + $this->name = $name; + return $this; + } + + /** + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * @param $current + * @return $this + */ + public function setCurrent($current) + { + $this->current = $current; + return $this; + } + + /** + * @return string + */ + public function getCurrent() + { + if (!$this->current) { + return $this->getDefault(); + } + return $this->current; + } + + /** + * @param $default + * @return $this + */ + public function setDefault($default) + { + $this->default = $default; + return $this; + } + + /** + * @return mixed + */ + public function getDefault() + { + return $this->default; + } + + /** + * @param $description + * @return $this + */ + public function setDescription($description) + { + $this->description = $description; + return $this; + } + + /** + * @return string + */ + public function getDescription() + { + return $this->description; + } +} diff --git a/src/Block/Adminhtml/System/Config/Form/Field/Select.php b/src/Block/Adminhtml/System/Config/Form/Field/Select.php new file mode 100644 index 00000000..773c8aca --- /dev/null +++ b/src/Block/Adminhtml/System/Config/Form/Field/Select.php @@ -0,0 +1,53 @@ +template, $data); + } + + /** + * @param array $options + * @return Select + */ + public function setOptions(array $options) + { + $this->options = $options; + return $this; + } + + public function getOptions() + { + return $this->options; + } +} diff --git a/src/Controller/Gateways/AbstractGateway.php b/src/Controller/Gateways/AbstractGateway.php index 46e42957..ca3ff0e5 100644 --- a/src/Controller/Gateways/AbstractGateway.php +++ b/src/Controller/Gateways/AbstractGateway.php @@ -112,9 +112,7 @@ public function payment_fields() $this->model->payment = $this->method; echo (Utils::get_template_as_string( 'templates/checkout/default', - array( - 'model' => $this->model, - ) + ['model' => $this->model] )); } @@ -186,7 +184,7 @@ public function append_form_fields() */ private function append_gateway_form_fields() { - if ($this->model->settings->is_gateway_integration_type()) { + if ($this->model->config->getIsGatewayIntegrationType()) { return $this->gateway_form_fields(); } return []; diff --git a/src/Model/Config.php b/src/Model/Config.php new file mode 100644 index 00000000..e90ef95c --- /dev/null +++ b/src/Model/Config.php @@ -0,0 +1,97 @@ +init(); + } + + /** + * @return void + */ + private function init() + { + foreach ($this->getOptions() as $key => $value) { + $this->setData($key, $value); + } + add_action( + 'update_option_' . $this->getOptionKey(), + [ $this, 'updateOption' ], + 10, 3 + ); + } + + /** + * @return void + */ + public function updateOption() + { + if (array_key_exists($this->getOptionKey(), $_POST)) { + $values = $_POST[$this->getOptionKey()]; + if ($values && is_array($values)) { + foreach ($values as $key => $value) { + $this->setData($key, $value); + } + $this->setData(array_intersect_key($this->getData(), $values)); + } + } + $this->save(); + } + + /** + * @param Config|null $config + * @return void + */ + public function save(Config $config = null) + { + if (!$config) { + $config = $this; + } + update_option($this->getOptionKey(), $config->getData()); + } + + /** + * @return false|mixed|null + */ + private function getOptions() + { + return get_option($this->getOptionKey()); + } + + /** + * @return string + */ + public function getOptionKey() + { + return Core::tag_name('settings'); + } +} diff --git a/src/Model/Config/Source/Yesno.php b/src/Model/Config/Source/Yesno.php new file mode 100644 index 00000000..12313075 --- /dev/null +++ b/src/Model/Config/Source/Yesno.php @@ -0,0 +1,65 @@ + self::LABEL_NO, + self::VALUE_YES => self::LABEL_YES + ]; + + /** + * @return array + */ + public function toOptionArray() + { + $options = []; + foreach ($this->values as $value => $label) { + $options[] = [ + 'value' => $value, + 'label' => __($label, 'woo-pagarme-payments') + ]; + } + return $options; + } + + /** + * "key-value" format + * @return array + */ + public function toArray() + { + return $this->values; + } +} diff --git a/src/Model/Data/DataObject.php b/src/Model/Data/DataObject.php new file mode 100644 index 00000000..4213a8f8 --- /dev/null +++ b/src/Model/Data/DataObject.php @@ -0,0 +1,466 @@ +_data = $data; + if (!$jsonSerialize) { + $jsonSerialize = new Json(); + } + $this->jsonSerialize = $jsonSerialize; + } + + /** + * @param array $arr + * @return $this + */ + public function addData(array $arr) + { + foreach ($arr as $index => $value) { + $this->setData($index, $value); + } + return $this; + } + + /** + * @param string|array $key + * @param mixed $value + * @return $this + */ + public function setData($key, $value = null) + { + if ($key === (array)$key) { + $this->_data = $key; + } else { + $this->_data[$key] = $value; + } + return $this; + } + + /** + * @param null|string|array $key + * @return $this + */ + public function unsetData($key = null) + { + if ($key === null) { + $this->setData([]); + } elseif (is_string($key)) { + if (isset($this->_data[$key]) || array_key_exists($key, $this->_data)) { + unset($this->_data[$key]); + } + } elseif ($key === (array)$key) { + foreach ($key as $element) { + $this->unsetData($element); + } + } + return $this; + } + + /** + * @param string|null $key + * @param string|int $index + * @return mixed + */ + public function getData($key = null, $index = null) + { + if (!$key) { + return $this->_data; + } + if (strpos($key, '/') !== false) { + $data = $this->getDataByPath($key); + } else { + $data = $this->_getData($key); + } + + if ($index) { + if ($data === (array)$data) { + $data = $data[$index] ?? null; + } elseif (is_string($data)) { + $data = explode(PHP_EOL, $data); + $data = $data[$index] ?? null; + } elseif ($data instanceof $this) { + $data = $data->getData($index); + } else { + $data = null; + } + } + return $data; + } + + /** + * @param string $path + * @return mixed + */ + public function getDataByPath(string $path) + { + $keys = explode('/', $path); + + $data = $this->_data; + foreach ($keys as $key) { + if ((array)$data === $data && isset($data[$key])) { + $data = $data[$key]; + } elseif ($data instanceof DataObject) { + $data = $data->getDataByKey($key); + } else { + return null; + } + } + return $data; + } + + /** + * @param string $key + * @return mixed + */ + public function getDataByKey(string $key) + { + return $this->_getData($key); + } + + /** + * @param string $key + * @return mixed + */ + protected function _getData(string $key) + { + if (isset($this->_data[$key])) { + return $this->_data[$key]; + } + return null; + } + + /** + * @param string $key + * @param mixed $args + * @return $this + */ + public function setDataUsingMethod($key, $args = []) + { + $method = 'set' . str_replace('_', '', ucwords($key, '_')); + $this->{$method}($args); + return $this; + } + + /** + * @param string $key + * @param mixed $args + * @return mixed + */ + public function getDataUsingMethod($key, $args = null) + { + $method = 'get' . str_replace('_', '', ucwords($key, '_')); + return $this->{$method}($args); + } + + /** + * @param string $key + * @return bool + */ + public function hasData($key = '') + { + if (empty($key) || !is_string($key)) { + return !empty($this->_data); + } + return array_key_exists($key, $this->_data); + } + + /** + * @param array $keys array of required keys + * @return array + */ + public function toArray(array $keys = []) + { + if (empty($keys)) { + return $this->_data; + } + $result = []; + foreach ($keys as $key) { + if (isset($this->_data[$key])) { + $result[$key] = $this->_data[$key]; + } else { + $result[$key] = null; + } + } + return $result; + } + + /** + * @param array $keys + * @return array + */ + public function convertToArray(array $keys = []) + { + return $this->toArray($keys); + } + + /** + * @param array $keys array of keys that must be represented + * @param string $rootName root node name + * @param bool $addOpenTag flag that allow to add initial xml node + * @param bool $addCdata flag that require wrap all values in CDATA + * @return string + */ + public function toXml(array $keys = [], $rootName = 'item', $addOpenTag = false, $addCdata = true) + { + $xml = ''; + $data = $this->toArray($keys); + foreach ($data as $fieldName => $fieldValue) { + if ($addCdata === true) { + $fieldValue = ""; + } else { + $fieldValue = str_replace( + ['&', '"', "'", '<', '>'], + ['&', '"', ''', '<', '>'], + $fieldValue + ); + } + $xml .= "<{$fieldName}>{$fieldValue}\n"; + } + if ($rootName) { + $xml = "<{$rootName}>\n{$xml}\n"; + } + if ($addOpenTag) { + $xml = '' . "\n" . $xml; + } + return $xml; + } + + /** + * @param array $arrAttributes array of keys that must be represented + * @param string $rootName root node name + * @param bool $addOpenTag flag that allow to add initial xml node + * @param bool $addCdata flag that require wrap all values in CDATA + * @return string + */ + public function convertToXml( + array $arrAttributes = [], + $rootName = 'item', + $addOpenTag = false, + $addCdata = true + ) { + return $this->toXml($arrAttributes, $rootName, $addOpenTag, $addCdata); + } + + /** + * @param array $keys array of required keys + * @return bool|string + * @throws \InvalidArgumentException + */ + public function toJson(array $keys = []) + { + return $this->jsonSerialize->serialize($this->toArray($keys)); + } + + /** + * @param array $keys + * @return bool|string + * @throws \InvalidArgumentException + */ + public function convertToJson(array $keys = []) + { + return $this->toJson($keys); + } + + /** + * @param string $format + * @return string + */ + public function toString($format = '') + { + if (empty($format)) { + $result = implode(', ', $this->getData()); + } else { + preg_match_all('/\{\{([a-z0-9_]+)\}\}/is', $format, $matches); + foreach ($matches[1] as $var) { + $format = str_replace('{{' . $var . '}}', $this->getData($var), $format); + } + $result = $format; + } + return $result; + } + + /** + * @param string $method + * @param array $args + * @return mixed + * @throws \Exception + */ + public function __call($method, $args) + { + switch (substr($method, 0, 3)) { + case 'get': + $key = $this->_underscore(substr($method, 3)); + $index = isset($args[0]) ? $args[0] : null; + return $this->getData($key, $index); + case 'set': + $key = $this->_underscore(substr($method, 3)); + $value = isset($args[0]) ? $args[0] : null; + return $this->setData($key, $value); + case 'uns': + $key = $this->_underscore(substr($method, 3)); + return $this->unsetData($key); + case 'has': + $key = $this->_underscore(substr($method, 3)); + return isset($this->_data[$key]); + } + throw new \Exception(sprintf('Invalid method %1::%2', get_class($this), $method)); + } + + /** + * @return bool + */ + public function isEmpty() + { + if (empty($this->_data)) { + return true; + } + return false; + } + + /** + * @param string $name + * @return string + */ + protected function _underscore($name) + { + if (isset(self::$_underscoreCache[$name])) { + return self::$_underscoreCache[$name]; + } + $result = strtolower(trim(preg_replace('/([A-Z]|[0-9]+)/', "_$1", $name), '_')); + self::$_underscoreCache[$name] = $result; + return $result; + } + + /** + * @param array $keys array of accepted keys + * @param string $valueSeparator separator between key and value + * @param string $fieldSeparator separator between key/value pairs + * @param string $quote quoting sign + * @return string + */ + public function serialize($keys = [], $valueSeparator = '=', $fieldSeparator = ' ', $quote = '"') + { + $data = []; + if (empty($keys)) { + $keys = array_keys($this->_data); + } + foreach ($this->_data as $key => $value) { + if (in_array($key, $keys)) { + $data[] = $key . $valueSeparator . $quote . $value . $quote; + } + } + $res = implode($fieldSeparator, $data); + return $res; + } + + /** + * @param mixed $data + * @param array &$objects + * @return array + */ + public function debug($data = null, &$objects = []) + { + if ($data === null) { + $hash = spl_object_hash($this); + if (!empty($objects[$hash])) { + return '*** RECURSION ***'; + } + $objects[$hash] = true; + $data = $this->getData(); + } + $debug = []; + foreach ($data as $key => $value) { + if (is_scalar($value)) { + $debug[$key] = $value; + } elseif (is_array($value)) { + $debug[$key] = $this->debug($value, $objects); + } elseif ($value instanceof DataObject) { + $debug[$key . ' (' . get_class($value) . ')'] = $value->debug(null, $objects); + } + } + return $debug; + } + + /** + * @param string $offset + * @param mixed $value + * @return void + */ + public function offsetSet($offset, $value) + { + $this->_data[$offset] = $value; + } + + /** + * @param string $offset + * @return bool + */ + public function offsetExists($offset) + { + return isset($this->_data[$offset]) || array_key_exists($offset, $this->_data); + } + + /** + * Implementation of \ArrayAccess::offsetUnset() + * @param string $offset + * @return void + */ + public function offsetUnset($offset) + { + unset($this->_data[$offset]); + } + + /** + * Implementation of \ArrayAccess::offsetGet() + * @param string $offset + * @return mixed + */ + public function offsetGet($offset) + { + if (isset($this->_data[$offset])) { + return $this->_data[$offset]; + } + return null; + } +} diff --git a/src/Model/Data/OptionSourceInterface.php b/src/Model/Data/OptionSourceInterface.php new file mode 100644 index 00000000..711c32d7 --- /dev/null +++ b/src/Model/Data/OptionSourceInterface.php @@ -0,0 +1,26 @@ + '', 'label' => ' From 603b4672d1cf20a3e433e34770591e98c03e6341 Mon Sep 17 00:00:00 2001 From: Fabiano Mallmann <25328512+fabiano-mallmann@users.noreply.github.com> Date: Wed, 10 May 2023 09:50:14 -0300 Subject: [PATCH 135/156] :bug: fix hide disintegrate button when advanced options is disabled --- .../adminhtml/system/config/form/field/hub/integration.phtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/adminhtml/system/config/form/field/hub/integration.phtml b/templates/adminhtml/system/config/form/field/hub/integration.phtml index 08bff326..e1752295 100644 --- a/templates/adminhtml/system/config/form/field/hub/integration.phtml +++ b/templates/adminhtml/system/config/form/field/hub/integration.phtml @@ -18,7 +18,7 @@ if ( ! defined( 'ABSPATH' ) ) { -config->getHubInstallId()) : ?> +config->getHubInstallId() && $this->config->getIsGatewayIntegrationType()) : ?>
    \n \n
    \n \n \n').replace(/(^|\n)\s*/g,""),x=function(){return document.body.querySelector("."+t.container)},h=function(){return x()?x().querySelector("."+t.modal):null},y=function(){return h().querySelectorAll("."+t.icon)},k=function(n){return x()?x().querySelector("."+n):null},v=function(){return k(t.title)},C=function(){return k(t.content)},S=function(){return k(t.image)},A=function(){return k(t.progresssteps)},B=function(){return k(t.validationerror)},E=function(){return k(t.confirm)},P=function(){return k(t.cancel)},L=function(){return k(t.buttonswrapper)},T=function(){return k(t.close)},q=function(){var n=Array.from(h().querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])')).sort(function(n,e){return n=parseInt(n.getAttribute("tabindex")),e=parseInt(e.getAttribute("tabindex")),n>e?1:n0&&void 0!==arguments[0]?arguments[0]:"",e=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css",e.appendChild(t),t.styleSheet?t.styleSheet.cssText=n:t.appendChild(document.createTextNode(n))}("body.swal2-shown {\n overflow-y: hidden; }\n\nbody.swal2-iosfix {\n position: fixed;\n left: 0;\n right: 0; }\n\n.swal2-container {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n padding: 10px;\n background-color: transparent;\n z-index: 1060; }\n .swal2-container.swal2-top {\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start; }\n .swal2-container.swal2-top-left {\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n .swal2-container.swal2-top-right {\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end; }\n .swal2-container.swal2-center {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center; }\n .swal2-container.swal2-center-left {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n .swal2-container.swal2-center-right {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end; }\n .swal2-container.swal2-bottom {\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: flex-end; }\n .swal2-container.swal2-bottom-left {\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: flex-end;\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n justify-content: flex-start; }\n .swal2-container.swal2-bottom-right {\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: flex-end;\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n justify-content: flex-end; }\n .swal2-container.swal2-grow-fullscreen > .swal2-modal {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n -ms-flex-item-align: stretch;\n align-self: stretch;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center; }\n .swal2-container.swal2-grow-row > .swal2-modal {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n -ms-flex-line-pack: center;\n align-content: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center; }\n .swal2-container.swal2-grow-column {\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column; }\n .swal2-container.swal2-grow-column.swal2-top, .swal2-container.swal2-grow-column.swal2-center, .swal2-container.swal2-grow-column.swal2-bottom {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center; }\n .swal2-container.swal2-grow-column.swal2-top-left, .swal2-container.swal2-grow-column.swal2-center-left, .swal2-container.swal2-grow-column.swal2-bottom-left {\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start; }\n .swal2-container.swal2-grow-column.swal2-top-right, .swal2-container.swal2-grow-column.swal2-center-right, .swal2-container.swal2-grow-column.swal2-bottom-right {\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: flex-end; }\n .swal2-container.swal2-grow-column > .swal2-modal {\n display: -webkit-box !important;\n display: -ms-flexbox !important;\n display: flex !important;\n -webkit-box-flex: 1;\n -ms-flex: 1;\n flex: 1;\n -ms-flex-line-pack: center;\n align-content: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center; }\n .swal2-container:not(.swal2-top):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-left):not(.swal2-bottom-right) > .swal2-modal {\n margin: auto; }\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .swal2-container .swal2-modal {\n margin: 0 !important; } }\n .swal2-container.swal2-fade {\n -webkit-transition: background-color .1s;\n transition: background-color .1s; }\n .swal2-container.swal2-shown {\n background-color: rgba(0, 0, 0, 0.4); }\n\n.swal2-modal {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n background-color: #fff;\n font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n border-radius: 5px;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n text-align: center;\n overflow-x: hidden;\n overflow-y: auto;\n display: none;\n position: relative;\n max-width: 100%; }\n .swal2-modal:focus {\n outline: none; }\n .swal2-modal.swal2-loading {\n overflow-y: hidden; }\n .swal2-modal .swal2-title {\n color: #595959;\n font-size: 30px;\n text-align: center;\n font-weight: 600;\n text-transform: none;\n position: relative;\n margin: 0 0 .4em;\n padding: 0;\n display: block;\n word-wrap: break-word; }\n .swal2-modal .swal2-buttonswrapper {\n margin-top: 15px; }\n .swal2-modal .swal2-buttonswrapper:not(.swal2-loading) .swal2-styled[disabled] {\n opacity: .4;\n cursor: no-drop; }\n .swal2-modal .swal2-buttonswrapper.swal2-loading .swal2-styled.swal2-confirm {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n border: 4px solid transparent;\n border-color: transparent;\n width: 40px;\n height: 40px;\n padding: 0;\n margin: 7.5px;\n vertical-align: top;\n background-color: transparent !important;\n color: transparent;\n cursor: default;\n border-radius: 100%;\n -webkit-animation: rotate-loading 1.5s linear 0s infinite normal;\n animation: rotate-loading 1.5s linear 0s infinite normal;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n .swal2-modal .swal2-buttonswrapper.swal2-loading .swal2-styled.swal2-cancel {\n margin-left: 30px;\n margin-right: 30px; }\n .swal2-modal .swal2-buttonswrapper.swal2-loading :not(.swal2-styled).swal2-confirm::after {\n display: inline-block;\n content: '';\n margin-left: 5px;\n vertical-align: -1px;\n height: 15px;\n width: 15px;\n border: 3px solid #999999;\n -webkit-box-shadow: 1px 1px 1px #fff;\n box-shadow: 1px 1px 1px #fff;\n border-right-color: transparent;\n border-radius: 50%;\n -webkit-animation: rotate-loading 1.5s linear 0s infinite normal;\n animation: rotate-loading 1.5s linear 0s infinite normal; }\n .swal2-modal .swal2-styled {\n border: 0;\n border-radius: 3px;\n -webkit-box-shadow: none;\n box-shadow: none;\n color: #fff;\n cursor: pointer;\n font-size: 17px;\n font-weight: 500;\n margin: 15px 5px 0;\n padding: 10px 32px; }\n .swal2-modal .swal2-styled:focus {\n outline: none;\n -webkit-box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(50, 100, 150, 0.4);\n box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(50, 100, 150, 0.4); }\n .swal2-modal .swal2-image {\n margin: 20px auto;\n max-width: 100%; }\n .swal2-modal .swal2-close {\n background: transparent;\n border: 0;\n margin: 0;\n padding: 0;\n width: 38px;\n height: 40px;\n font-size: 36px;\n line-height: 40px;\n font-family: serif;\n position: absolute;\n top: 5px;\n right: 8px;\n cursor: pointer;\n color: #cccccc;\n -webkit-transition: color .1s ease;\n transition: color .1s ease; }\n .swal2-modal .swal2-close:hover {\n color: #d55; }\n .swal2-modal > .swal2-input,\n .swal2-modal > .swal2-file,\n .swal2-modal > .swal2-textarea,\n .swal2-modal > .swal2-select,\n .swal2-modal > .swal2-radio,\n .swal2-modal > .swal2-checkbox {\n display: none; }\n .swal2-modal .swal2-content {\n font-size: 18px;\n text-align: center;\n font-weight: 300;\n position: relative;\n float: none;\n margin: 0;\n padding: 0;\n line-height: normal;\n color: #545454;\n word-wrap: break-word; }\n .swal2-modal .swal2-input,\n .swal2-modal .swal2-file,\n .swal2-modal .swal2-textarea,\n .swal2-modal .swal2-select,\n .swal2-modal .swal2-radio,\n .swal2-modal .swal2-checkbox {\n margin: 20px auto; }\n .swal2-modal .swal2-input,\n .swal2-modal .swal2-file,\n .swal2-modal .swal2-textarea {\n width: 100%;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n font-size: 18px;\n border-radius: 3px;\n border: 1px solid #d9d9d9;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06);\n -webkit-transition: border-color .3s, -webkit-box-shadow .3s;\n transition: border-color .3s, -webkit-box-shadow .3s;\n transition: border-color .3s, box-shadow .3s;\n transition: border-color .3s, box-shadow .3s, -webkit-box-shadow .3s; }\n .swal2-modal .swal2-input.swal2-inputerror,\n .swal2-modal .swal2-file.swal2-inputerror,\n .swal2-modal .swal2-textarea.swal2-inputerror {\n border-color: #f27474 !important;\n -webkit-box-shadow: 0 0 2px #f27474 !important;\n box-shadow: 0 0 2px #f27474 !important; }\n .swal2-modal .swal2-input:focus,\n .swal2-modal .swal2-file:focus,\n .swal2-modal .swal2-textarea:focus {\n outline: none;\n border: 1px solid #b4dbed;\n -webkit-box-shadow: 0 0 3px #c4e6f5;\n box-shadow: 0 0 3px #c4e6f5; }\n .swal2-modal .swal2-input::-webkit-input-placeholder,\n .swal2-modal .swal2-file::-webkit-input-placeholder,\n .swal2-modal .swal2-textarea::-webkit-input-placeholder {\n color: #cccccc; }\n .swal2-modal .swal2-input:-ms-input-placeholder,\n .swal2-modal .swal2-file:-ms-input-placeholder,\n .swal2-modal .swal2-textarea:-ms-input-placeholder {\n color: #cccccc; }\n .swal2-modal .swal2-input::-ms-input-placeholder,\n .swal2-modal .swal2-file::-ms-input-placeholder,\n .swal2-modal .swal2-textarea::-ms-input-placeholder {\n color: #cccccc; }\n .swal2-modal .swal2-input::placeholder,\n .swal2-modal .swal2-file::placeholder,\n .swal2-modal .swal2-textarea::placeholder {\n color: #cccccc; }\n .swal2-modal .swal2-range input {\n float: left;\n width: 80%; }\n .swal2-modal .swal2-range output {\n float: right;\n width: 20%;\n font-size: 20px;\n font-weight: 600;\n text-align: center; }\n .swal2-modal .swal2-range input,\n .swal2-modal .swal2-range output {\n height: 43px;\n line-height: 43px;\n vertical-align: middle;\n margin: 20px auto;\n padding: 0; }\n .swal2-modal .swal2-input {\n height: 43px;\n padding: 0 12px; }\n .swal2-modal .swal2-input[type='number'] {\n max-width: 150px; }\n .swal2-modal .swal2-file {\n font-size: 20px; }\n .swal2-modal .swal2-textarea {\n height: 108px;\n padding: 12px; }\n .swal2-modal .swal2-select {\n color: #545454;\n font-size: inherit;\n padding: 5px 10px;\n min-width: 40%;\n max-width: 100%; }\n .swal2-modal .swal2-radio {\n border: 0; }\n .swal2-modal .swal2-radio label:not(:first-child) {\n margin-left: 20px; }\n .swal2-modal .swal2-radio input,\n .swal2-modal .swal2-radio span {\n vertical-align: middle; }\n .swal2-modal .swal2-radio input {\n margin: 0 3px 0 0; }\n .swal2-modal .swal2-checkbox {\n color: #545454; }\n .swal2-modal .swal2-checkbox input,\n .swal2-modal .swal2-checkbox span {\n vertical-align: middle; }\n .swal2-modal .swal2-validationerror {\n background-color: #f0f0f0;\n margin: 0 -20px;\n overflow: hidden;\n padding: 10px;\n color: gray;\n font-size: 16px;\n font-weight: 300;\n display: none; }\n .swal2-modal .swal2-validationerror::before {\n content: '!';\n display: inline-block;\n width: 24px;\n height: 24px;\n border-radius: 50%;\n background-color: #ea7d7d;\n color: #fff;\n line-height: 24px;\n text-align: center;\n margin-right: 10px; }\n\n@supports (-ms-accelerator: true) {\n .swal2-range input {\n width: 100% !important; }\n .swal2-range output {\n display: none; } }\n\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .swal2-range input {\n width: 100% !important; }\n .swal2-range output {\n display: none; } }\n\n.swal2-icon {\n width: 80px;\n height: 80px;\n border: 4px solid transparent;\n border-radius: 50%;\n margin: 20px auto 30px;\n padding: 0;\n position: relative;\n -webkit-box-sizing: content-box;\n box-sizing: content-box;\n cursor: default;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n .swal2-icon.swal2-error {\n border-color: #f27474; }\n .swal2-icon.swal2-error .swal2-x-mark {\n position: relative;\n display: block; }\n .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {\n position: absolute;\n height: 5px;\n width: 47px;\n background-color: #f27474;\n display: block;\n top: 37px;\n border-radius: 2px; }\n .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] {\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n left: 17px; }\n .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] {\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n right: 16px; }\n .swal2-icon.swal2-warning {\n font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n color: #f8bb86;\n border-color: #facea8;\n font-size: 60px;\n line-height: 80px;\n text-align: center; }\n .swal2-icon.swal2-info {\n font-family: 'Open Sans', sans-serif;\n color: #3fc3ee;\n border-color: #9de0f6;\n font-size: 60px;\n line-height: 80px;\n text-align: center; }\n .swal2-icon.swal2-question {\n font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n color: #87adbd;\n border-color: #c9dae1;\n font-size: 60px;\n line-height: 80px;\n text-align: center; }\n .swal2-icon.swal2-success {\n border-color: #a5dc86; }\n .swal2-icon.swal2-success [class^='swal2-success-circular-line'] {\n border-radius: 50%;\n position: absolute;\n width: 60px;\n height: 120px;\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg); }\n .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='left'] {\n border-radius: 120px 0 0 120px;\n top: -7px;\n left: -33px;\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n -webkit-transform-origin: 60px 60px;\n transform-origin: 60px 60px; }\n .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='right'] {\n border-radius: 0 120px 120px 0;\n top: -11px;\n left: 30px;\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n -webkit-transform-origin: 0 60px;\n transform-origin: 0 60px; }\n .swal2-icon.swal2-success .swal2-success-ring {\n width: 80px;\n height: 80px;\n border: 4px solid rgba(165, 220, 134, 0.2);\n border-radius: 50%;\n -webkit-box-sizing: content-box;\n box-sizing: content-box;\n position: absolute;\n left: -4px;\n top: -4px;\n z-index: 2; }\n .swal2-icon.swal2-success .swal2-success-fix {\n width: 7px;\n height: 90px;\n position: absolute;\n left: 28px;\n top: 8px;\n z-index: 1;\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg); }\n .swal2-icon.swal2-success [class^='swal2-success-line'] {\n height: 5px;\n background-color: #a5dc86;\n display: block;\n border-radius: 2px;\n position: absolute;\n z-index: 2; }\n .swal2-icon.swal2-success [class^='swal2-success-line'][class$='tip'] {\n width: 25px;\n left: 14px;\n top: 46px;\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg); }\n .swal2-icon.swal2-success [class^='swal2-success-line'][class$='long'] {\n width: 47px;\n right: 8px;\n top: 38px;\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg); }\n\n.swal2-progresssteps {\n font-weight: 600;\n margin: 0 0 20px;\n padding: 0; }\n .swal2-progresssteps li {\n display: inline-block;\n position: relative; }\n .swal2-progresssteps .swal2-progresscircle {\n background: #3085d6;\n border-radius: 2em;\n color: #fff;\n height: 2em;\n line-height: 2em;\n text-align: center;\n width: 2em;\n z-index: 20; }\n .swal2-progresssteps .swal2-progresscircle:first-child {\n margin-left: 0; }\n .swal2-progresssteps .swal2-progresscircle:last-child {\n margin-right: 0; }\n .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep {\n background: #3085d6; }\n .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep ~ .swal2-progresscircle {\n background: #add8e6; }\n .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep ~ .swal2-progressline {\n background: #add8e6; }\n .swal2-progresssteps .swal2-progressline {\n background: #3085d6;\n height: .4em;\n margin: 0 -1px;\n z-index: 10; }\n\n[class^='swal2'] {\n -webkit-tap-highlight-color: transparent; }\n\n@-webkit-keyframes showSweetAlert {\n 0% {\n -webkit-transform: scale(0.7);\n transform: scale(0.7); }\n 45% {\n -webkit-transform: scale(1.05);\n transform: scale(1.05); }\n 80% {\n -webkit-transform: scale(0.95);\n transform: scale(0.95); }\n 100% {\n -webkit-transform: scale(1);\n transform: scale(1); } }\n\n@keyframes showSweetAlert {\n 0% {\n -webkit-transform: scale(0.7);\n transform: scale(0.7); }\n 45% {\n -webkit-transform: scale(1.05);\n transform: scale(1.05); }\n 80% {\n -webkit-transform: scale(0.95);\n transform: scale(0.95); }\n 100% {\n -webkit-transform: scale(1);\n transform: scale(1); } }\n\n@-webkit-keyframes hideSweetAlert {\n 0% {\n -webkit-transform: scale(1);\n transform: scale(1);\n opacity: 1; }\n 100% {\n -webkit-transform: scale(0.5);\n transform: scale(0.5);\n opacity: 0; } }\n\n@keyframes hideSweetAlert {\n 0% {\n -webkit-transform: scale(1);\n transform: scale(1);\n opacity: 1; }\n 100% {\n -webkit-transform: scale(0.5);\n transform: scale(0.5);\n opacity: 0; } }\n\n.swal2-show {\n -webkit-animation: showSweetAlert .3s;\n animation: showSweetAlert .3s; }\n .swal2-show.swal2-noanimation {\n -webkit-animation: none;\n animation: none; }\n\n.swal2-hide {\n -webkit-animation: hideSweetAlert .15s forwards;\n animation: hideSweetAlert .15s forwards; }\n .swal2-hide.swal2-noanimation {\n -webkit-animation: none;\n animation: none; }\n\n@-webkit-keyframes animate-success-tip {\n 0% {\n width: 0;\n left: 1px;\n top: 19px; }\n 54% {\n width: 0;\n left: 1px;\n top: 19px; }\n 70% {\n width: 50px;\n left: -8px;\n top: 37px; }\n 84% {\n width: 17px;\n left: 21px;\n top: 48px; }\n 100% {\n width: 25px;\n left: 14px;\n top: 45px; } }\n\n@keyframes animate-success-tip {\n 0% {\n width: 0;\n left: 1px;\n top: 19px; }\n 54% {\n width: 0;\n left: 1px;\n top: 19px; }\n 70% {\n width: 50px;\n left: -8px;\n top: 37px; }\n 84% {\n width: 17px;\n left: 21px;\n top: 48px; }\n 100% {\n width: 25px;\n left: 14px;\n top: 45px; } }\n\n@-webkit-keyframes animate-success-long {\n 0% {\n width: 0;\n right: 46px;\n top: 54px; }\n 65% {\n width: 0;\n right: 46px;\n top: 54px; }\n 84% {\n width: 55px;\n right: 0;\n top: 35px; }\n 100% {\n width: 47px;\n right: 8px;\n top: 38px; } }\n\n@keyframes animate-success-long {\n 0% {\n width: 0;\n right: 46px;\n top: 54px; }\n 65% {\n width: 0;\n right: 46px;\n top: 54px; }\n 84% {\n width: 55px;\n right: 0;\n top: 35px; }\n 100% {\n width: 47px;\n right: 8px;\n top: 38px; } }\n\n@-webkit-keyframes rotatePlaceholder {\n 0% {\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg); }\n 5% {\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg); }\n 12% {\n -webkit-transform: rotate(-405deg);\n transform: rotate(-405deg); }\n 100% {\n -webkit-transform: rotate(-405deg);\n transform: rotate(-405deg); } }\n\n@keyframes rotatePlaceholder {\n 0% {\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg); }\n 5% {\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg); }\n 12% {\n -webkit-transform: rotate(-405deg);\n transform: rotate(-405deg); }\n 100% {\n -webkit-transform: rotate(-405deg);\n transform: rotate(-405deg); } }\n\n.swal2-animate-success-line-tip {\n -webkit-animation: animate-success-tip .75s;\n animation: animate-success-tip .75s; }\n\n.swal2-animate-success-line-long {\n -webkit-animation: animate-success-long .75s;\n animation: animate-success-long .75s; }\n\n.swal2-success.swal2-animate-success-icon .swal2-success-circular-line-right {\n -webkit-animation: rotatePlaceholder 4.25s ease-in;\n animation: rotatePlaceholder 4.25s ease-in; }\n\n@-webkit-keyframes animate-error-icon {\n 0% {\n -webkit-transform: rotateX(100deg);\n transform: rotateX(100deg);\n opacity: 0; }\n 100% {\n -webkit-transform: rotateX(0deg);\n transform: rotateX(0deg);\n opacity: 1; } }\n\n@keyframes animate-error-icon {\n 0% {\n -webkit-transform: rotateX(100deg);\n transform: rotateX(100deg);\n opacity: 0; }\n 100% {\n -webkit-transform: rotateX(0deg);\n transform: rotateX(0deg);\n opacity: 1; } }\n\n.swal2-animate-error-icon {\n -webkit-animation: animate-error-icon .5s;\n animation: animate-error-icon .5s; }\n\n@-webkit-keyframes animate-x-mark {\n 0% {\n -webkit-transform: scale(0.4);\n transform: scale(0.4);\n margin-top: 26px;\n opacity: 0; }\n 50% {\n -webkit-transform: scale(0.4);\n transform: scale(0.4);\n margin-top: 26px;\n opacity: 0; }\n 80% {\n -webkit-transform: scale(1.15);\n transform: scale(1.15);\n margin-top: -6px; }\n 100% {\n -webkit-transform: scale(1);\n transform: scale(1);\n margin-top: 0;\n opacity: 1; } }\n\n@keyframes animate-x-mark {\n 0% {\n -webkit-transform: scale(0.4);\n transform: scale(0.4);\n margin-top: 26px;\n opacity: 0; }\n 50% {\n -webkit-transform: scale(0.4);\n transform: scale(0.4);\n margin-top: 26px;\n opacity: 0; }\n 80% {\n -webkit-transform: scale(1.15);\n transform: scale(1.15);\n margin-top: -6px; }\n 100% {\n -webkit-transform: scale(1);\n transform: scale(1);\n margin-top: 0;\n opacity: 1; } }\n\n.swal2-animate-x-mark {\n -webkit-animation: animate-x-mark .5s;\n animation: animate-x-mark .5s; }\n\n@-webkit-keyframes rotate-loading {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n\n@keyframes rotate-loading {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n"),m}),window.Sweetalert2&&(window.sweetAlert=window.swal=window.Sweetalert2); \ No newline at end of file diff --git a/assets/javascripts/vendor/sweetalert2.js b/assets/javascripts/vendor/sweetalert2.js deleted file mode 100644 index 7b418aaa..00000000 --- a/assets/javascripts/vendor/sweetalert2.js +++ /dev/null @@ -1,1606 +0,0 @@ -/*! - * sweetalert2 v6.6.2 - * Released under the MIT License. - */ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - (global.Sweetalert2 = factory()); -}(this, (function () { 'use strict'; - -var defaultParams = { - title: '', - titleText: '', - text: '', - html: '', - type: null, - customClass: '', - target: 'body', - animation: true, - allowOutsideClick: true, - allowEscapeKey: true, - allowEnterKey: true, - showConfirmButton: true, - showCancelButton: false, - preConfirm: null, - confirmButtonText: 'OK', - confirmButtonColor: '#3085d6', - confirmButtonClass: null, - cancelButtonText: 'Cancel', - cancelButtonColor: '#aaa', - cancelButtonClass: null, - buttonsStyling: true, - reverseButtons: false, - focusCancel: false, - showCloseButton: false, - showLoaderOnConfirm: false, - imageUrl: null, - imageWidth: null, - imageHeight: null, - imageClass: null, - timer: null, - width: 500, - padding: 20, - background: '#fff', - input: null, - inputPlaceholder: '', - inputValue: '', - inputOptions: {}, - inputAutoTrim: true, - inputClass: null, - inputAttributes: {}, - inputValidator: null, - progressSteps: [], - currentProgressStep: null, - progressStepsDistance: '40px', - onOpen: null, - onClose: null -}; - -var swalPrefix = 'swal2-'; - -var prefix = function prefix(items) { - var result = {}; - for (var i in items) { - result[items[i]] = swalPrefix + items[i]; - } - return result; -}; - -var swalClasses = prefix(['container', 'shown', 'iosfix', 'modal', 'overlay', 'fade', 'show', 'hide', 'noanimation', 'close', 'title', 'content', 'buttonswrapper', 'confirm', 'cancel', 'icon', 'image', 'input', 'file', 'range', 'select', 'radio', 'checkbox', 'textarea', 'inputerror', 'validationerror', 'progresssteps', 'activeprogressstep', 'progresscircle', 'progressline', 'loading', 'styled']); - -var iconTypes = prefix(['success', 'warning', 'info', 'question', 'error']); - -/* - * Set hover, active and focus-states for buttons (source: http://www.sitepoint.com/javascript-generate-lighter-darker-color) - */ -var colorLuminance = function colorLuminance(hex, lum) { - // Validate hex string - hex = String(hex).replace(/[^0-9a-f]/gi, ''); - if (hex.length < 6) { - hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2]; - } - lum = lum || 0; - - // Convert to decimal and change luminosity - var rgb = '#'; - for (var i = 0; i < 3; i++) { - var c = parseInt(hex.substr(i * 2, 2), 16); - c = Math.round(Math.min(Math.max(0, c + c * lum), 255)).toString(16); - rgb += ('00' + c).substr(c.length); - } - - return rgb; -}; - -var uniqueArray = function uniqueArray(arr) { - var result = []; - for (var i in arr) { - if (result.indexOf(arr[i]) === -1) { - result.push(arr[i]); - } - } - return result; -}; - -/* global MouseEvent */ - -// Remember state in cases where opening and handling a modal will fiddle with it. -var states = { - previousWindowKeyDown: null, - previousActiveElement: null, - previousBodyPadding: null -}; - -/* - * Add modal + overlay to DOM - */ -var init = function init(params) { - if (typeof document === 'undefined') { - console.error('SweetAlert2 requires document to initialize'); - return; - } - - var container = document.createElement('div'); - container.className = swalClasses.container; - container.innerHTML = sweetHTML; - - var targetElement = document.querySelector(params.target); - if (!targetElement) { - console.warn('SweetAlert2: Can\'t find the target "' + params.target + '"'); - targetElement = document.body; - } - targetElement.appendChild(container); - - var modal = getModal(); - var input = getChildByClass(modal, swalClasses.input); - var file = getChildByClass(modal, swalClasses.file); - var range = modal.querySelector('.' + swalClasses.range + ' input'); - var rangeOutput = modal.querySelector('.' + swalClasses.range + ' output'); - var select = getChildByClass(modal, swalClasses.select); - var checkbox = modal.querySelector('.' + swalClasses.checkbox + ' input'); - var textarea = getChildByClass(modal, swalClasses.textarea); - - input.oninput = function () { - sweetAlert.resetValidationError(); - }; - - input.onkeydown = function (event) { - setTimeout(function () { - if (event.keyCode === 13 && params.allowEnterKey) { - event.stopPropagation(); - sweetAlert.clickConfirm(); - } - }, 0); - }; - - file.onchange = function () { - sweetAlert.resetValidationError(); - }; - - range.oninput = function () { - sweetAlert.resetValidationError(); - rangeOutput.value = range.value; - }; - - range.onchange = function () { - sweetAlert.resetValidationError(); - range.previousSibling.value = range.value; - }; - - select.onchange = function () { - sweetAlert.resetValidationError(); - }; - - checkbox.onchange = function () { - sweetAlert.resetValidationError(); - }; - - textarea.oninput = function () { - sweetAlert.resetValidationError(); - }; - - return modal; -}; - -/* - * Manipulate DOM - */ - -var sweetHTML = ('\n \n').replace(/(^|\n)\s*/g, ''); - -var getContainer = function getContainer() { - return document.body.querySelector('.' + swalClasses.container); -}; - -var getModal = function getModal() { - return getContainer() ? getContainer().querySelector('.' + swalClasses.modal) : null; -}; - -var getIcons = function getIcons() { - var modal = getModal(); - return modal.querySelectorAll('.' + swalClasses.icon); -}; - -var elementByClass = function elementByClass(className) { - return getContainer() ? getContainer().querySelector('.' + className) : null; -}; - -var getTitle = function getTitle() { - return elementByClass(swalClasses.title); -}; - -var getContent = function getContent() { - return elementByClass(swalClasses.content); -}; - -var getImage = function getImage() { - return elementByClass(swalClasses.image); -}; - -var getButtonsWrapper = function getButtonsWrapper() { - return elementByClass(swalClasses.buttonswrapper); -}; - -var getProgressSteps = function getProgressSteps() { - return elementByClass(swalClasses.progresssteps); -}; - -var getValidationError = function getValidationError() { - return elementByClass(swalClasses.validationerror); -}; - -var getConfirmButton = function getConfirmButton() { - return elementByClass(swalClasses.confirm); -}; - -var getCancelButton = function getCancelButton() { - return elementByClass(swalClasses.cancel); -}; - -var getCloseButton = function getCloseButton() { - return elementByClass(swalClasses.close); -}; - -var getFocusableElements = function getFocusableElements(focusCancel) { - var buttons = [getConfirmButton(), getCancelButton()]; - if (focusCancel) { - buttons.reverse(); - } - var focusableElements = buttons.concat(Array.prototype.slice.call(getModal().querySelectorAll('button, input:not([type=hidden]), textarea, select, a, *[tabindex]:not([tabindex="-1"])'))); - return uniqueArray(focusableElements); -}; - -var hasClass = function hasClass(elem, className) { - if (elem.classList) { - return elem.classList.contains(className); - } - return false; -}; - -var focusInput = function focusInput(input) { - input.focus(); - - // place cursor at end of text in text input - if (input.type !== 'file') { - // http://stackoverflow.com/a/2345915/1331425 - var val = input.value; - input.value = ''; - input.value = val; - } -}; - -var addClass = function addClass(elem, className) { - if (!elem || !className) { - return; - } - var classes = className.split(/\s+/).filter(Boolean); - classes.forEach(function (className) { - elem.classList.add(className); - }); -}; - -var removeClass = function removeClass(elem, className) { - if (!elem || !className) { - return; - } - var classes = className.split(/\s+/).filter(Boolean); - classes.forEach(function (className) { - elem.classList.remove(className); - }); -}; - -var getChildByClass = function getChildByClass(elem, className) { - for (var i = 0; i < elem.childNodes.length; i++) { - if (hasClass(elem.childNodes[i], className)) { - return elem.childNodes[i]; - } - } -}; - -var show = function show(elem, display) { - if (!display) { - display = 'block'; - } - elem.style.opacity = ''; - elem.style.display = display; -}; - -var hide = function hide(elem) { - elem.style.opacity = ''; - elem.style.display = 'none'; -}; - -var empty = function empty(elem) { - while (elem.firstChild) { - elem.removeChild(elem.firstChild); - } -}; - -// borrowed from jqeury $(elem).is(':visible') implementation -var isVisible = function isVisible(elem) { - return elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length; -}; - -var removeStyleProperty = function removeStyleProperty(elem, property) { - if (elem.style.removeProperty) { - elem.style.removeProperty(property); - } else { - elem.style.removeAttribute(property); - } -}; - -var fireClick = function fireClick(node) { - if (!isVisible(node)) { - return false; - } - - // Taken from http://www.nonobtrusive.com/2011/11/29/programatically-fire-crossbrowser-click-event-with-javascript/ - // Then fixed for today's Chrome browser. - if (typeof MouseEvent === 'function') { - // Up-to-date approach - var mevt = new MouseEvent('click', { - view: window, - bubbles: false, - cancelable: true - }); - node.dispatchEvent(mevt); - } else if (document.createEvent) { - // Fallback - var evt = document.createEvent('MouseEvents'); - evt.initEvent('click', false, false); - node.dispatchEvent(evt); - } else if (document.createEventObject) { - node.fireEvent('onclick'); - } else if (typeof node.onclick === 'function') { - node.onclick(); - } -}; - -var animationEndEvent = function () { - var testEl = document.createElement('div'); - var transEndEventNames = { - 'WebkitAnimation': 'webkitAnimationEnd', - 'OAnimation': 'oAnimationEnd oanimationend', - 'msAnimation': 'MSAnimationEnd', - 'animation': 'animationend' - }; - for (var i in transEndEventNames) { - if (transEndEventNames.hasOwnProperty(i) && testEl.style[i] !== undefined) { - return transEndEventNames[i]; - } - } - - return false; -}(); - -// Reset previous window keydown handler and focued element -var resetPrevState = function resetPrevState() { - window.onkeydown = states.previousWindowKeyDown; - if (states.previousActiveElement && states.previousActiveElement.focus) { - var x = window.scrollX; - var y = window.scrollY; - states.previousActiveElement.focus(); - if (x && y) { - // IE has no scrollX/scrollY support - window.scrollTo(x, y); - } - } -}; - -// Measure width of scrollbar -// https://github.com/twbs/bootstrap/blob/master/js/modal.js#L279-L286 -var measureScrollbar = function measureScrollbar() { - var supportsTouch = 'ontouchstart' in window || navigator.msMaxTouchPoints; - if (supportsTouch) { - return 0; - } - var scrollDiv = document.createElement('div'); - scrollDiv.style.width = '50px'; - scrollDiv.style.height = '50px'; - scrollDiv.style.overflow = 'scroll'; - document.body.appendChild(scrollDiv); - var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth; - document.body.removeChild(scrollDiv); - return scrollbarWidth; -}; - -// JavaScript Debounce Function -// Simplivied version of https://davidwalsh.name/javascript-debounce-function -var debounce = function debounce(func, wait) { - var timeout = void 0; - return function () { - var later = function later() { - timeout = null; - func(); - }; - clearTimeout(timeout); - timeout = setTimeout(later, wait); - }; -}; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { - return typeof obj; -} : function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; -}; - - - - - - - - - - - - - - - - - - - - - -var _extends = Object.assign || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - } - - return target; -}; - -var modalParams = _extends({}, defaultParams); -var queue = []; -var swal2Observer = void 0; - -/* - * Set type, text and actions on modal - */ -var setParameters = function setParameters(params) { - var modal = getModal() || init(params); - - for (var param in params) { - if (!defaultParams.hasOwnProperty(param) && param !== 'extraParams') { - console.warn('SweetAlert2: Unknown parameter "' + param + '"'); - } - } - - // Set modal width - modal.style.width = typeof params.width === 'number' ? params.width + 'px' : params.width; - - modal.style.padding = params.padding + 'px'; - modal.style.background = params.background; - var successIconParts = modal.querySelectorAll('[class^=swal2-success-circular-line], .swal2-success-fix'); - for (var i = 0; i < successIconParts.length; i++) { - successIconParts[i].style.background = params.background; - } - - var title = getTitle(); - var content = getContent(); - var buttonsWrapper = getButtonsWrapper(); - var confirmButton = getConfirmButton(); - var cancelButton = getCancelButton(); - var closeButton = getCloseButton(); - - // Title - if (params.titleText) { - title.innerText = params.titleText; - } else { - title.innerHTML = params.title.split('\n').join('
    '); - } - - // Content - if (params.text || params.html) { - if (_typeof(params.html) === 'object') { - content.innerHTML = ''; - if (0 in params.html) { - for (var _i = 0; _i in params.html; _i++) { - content.appendChild(params.html[_i].cloneNode(true)); - } - } else { - content.appendChild(params.html.cloneNode(true)); - } - } else if (params.html) { - content.innerHTML = params.html; - } else if (params.text) { - content.textContent = params.text; - } - show(content); - } else { - hide(content); - } - - // Close button - if (params.showCloseButton) { - show(closeButton); - } else { - hide(closeButton); - } - - // Custom Class - modal.className = swalClasses.modal; - if (params.customClass) { - addClass(modal, params.customClass); - } - - // Progress steps - var progressStepsContainer = getProgressSteps(); - var currentProgressStep = parseInt(params.currentProgressStep === null ? sweetAlert.getQueueStep() : params.currentProgressStep, 10); - if (params.progressSteps.length) { - show(progressStepsContainer); - empty(progressStepsContainer); - if (currentProgressStep >= params.progressSteps.length) { - console.warn('SweetAlert2: Invalid currentProgressStep parameter, it should be less than progressSteps.length ' + '(currentProgressStep like JS arrays starts from 0)'); - } - params.progressSteps.forEach(function (step, index) { - var circle = document.createElement('li'); - addClass(circle, swalClasses.progresscircle); - circle.innerHTML = step; - if (index === currentProgressStep) { - addClass(circle, swalClasses.activeprogressstep); - } - progressStepsContainer.appendChild(circle); - if (index !== params.progressSteps.length - 1) { - var line = document.createElement('li'); - addClass(line, swalClasses.progressline); - line.style.width = params.progressStepsDistance; - progressStepsContainer.appendChild(line); - } - }); - } else { - hide(progressStepsContainer); - } - - // Icon - var icons = getIcons(); - for (var _i2 = 0; _i2 < icons.length; _i2++) { - hide(icons[_i2]); - } - if (params.type) { - var validType = false; - for (var iconType in iconTypes) { - if (params.type === iconType) { - validType = true; - break; - } - } - if (!validType) { - console.error('SweetAlert2: Unknown alert type: ' + params.type); - return false; - } - var icon = modal.querySelector('.' + swalClasses.icon + '.' + iconTypes[params.type]); - show(icon); - - // Animate icon - if (params.animation) { - switch (params.type) { - case 'success': - addClass(icon, 'swal2-animate-success-icon'); - addClass(icon.querySelector('.swal2-success-line-tip'), 'swal2-animate-success-line-tip'); - addClass(icon.querySelector('.swal2-success-line-long'), 'swal2-animate-success-line-long'); - break; - case 'error': - addClass(icon, 'swal2-animate-error-icon'); - addClass(icon.querySelector('.swal2-x-mark'), 'swal2-animate-x-mark'); - break; - default: - break; - } - } - } - - // Custom image - var image = getImage(); - if (params.imageUrl) { - image.setAttribute('src', params.imageUrl); - show(image); - - if (params.imageWidth) { - image.setAttribute('width', params.imageWidth); - } else { - image.removeAttribute('width'); - } - - if (params.imageHeight) { - image.setAttribute('height', params.imageHeight); - } else { - image.removeAttribute('height'); - } - - image.className = swalClasses.image; - if (params.imageClass) { - addClass(image, params.imageClass); - } - } else { - hide(image); - } - - // Cancel button - if (params.showCancelButton) { - cancelButton.style.display = 'inline-block'; - } else { - hide(cancelButton); - } - - // Confirm button - if (params.showConfirmButton) { - removeStyleProperty(confirmButton, 'display'); - } else { - hide(confirmButton); - } - - // Buttons wrapper - if (!params.showConfirmButton && !params.showCancelButton) { - hide(buttonsWrapper); - } else { - show(buttonsWrapper); - } - - // Edit text on cancel and confirm buttons - confirmButton.innerHTML = params.confirmButtonText; - cancelButton.innerHTML = params.cancelButtonText; - - // Set buttons to selected background colors - if (params.buttonsStyling) { - confirmButton.style.backgroundColor = params.confirmButtonColor; - cancelButton.style.backgroundColor = params.cancelButtonColor; - } - - // Add buttons custom classes - confirmButton.className = swalClasses.confirm; - addClass(confirmButton, params.confirmButtonClass); - cancelButton.className = swalClasses.cancel; - addClass(cancelButton, params.cancelButtonClass); - - // Buttons styling - if (params.buttonsStyling) { - addClass(confirmButton, swalClasses.styled); - addClass(cancelButton, swalClasses.styled); - } else { - removeClass(confirmButton, swalClasses.styled); - removeClass(cancelButton, swalClasses.styled); - - confirmButton.style.backgroundColor = confirmButton.style.borderLeftColor = confirmButton.style.borderRightColor = ''; - cancelButton.style.backgroundColor = cancelButton.style.borderLeftColor = cancelButton.style.borderRightColor = ''; - } - - // CSS animation - if (params.animation === true) { - removeClass(modal, swalClasses.noanimation); - } else { - addClass(modal, swalClasses.noanimation); - } -}; - -/* - * Animations - */ -var openModal = function openModal(animation, onComplete) { - var container = getContainer(); - var modal = getModal(); - - if (animation) { - addClass(modal, swalClasses.show); - addClass(container, swalClasses.fade); - removeClass(modal, swalClasses.hide); - } else { - removeClass(modal, swalClasses.fade); - } - show(modal); - - // scrolling is 'hidden' until animation is done, after that 'auto' - container.style.overflowY = 'hidden'; - if (animationEndEvent && !hasClass(modal, swalClasses.noanimation)) { - modal.addEventListener(animationEndEvent, function swalCloseEventFinished() { - modal.removeEventListener(animationEndEvent, swalCloseEventFinished); - container.style.overflowY = 'auto'; - }); - } else { - container.style.overflowY = 'auto'; - } - - addClass(document.documentElement, swalClasses.shown); - addClass(document.body, swalClasses.shown); - addClass(container, swalClasses.shown); - fixScrollbar(); - iOSfix(); - states.previousActiveElement = document.activeElement; - if (onComplete !== null && typeof onComplete === 'function') { - setTimeout(function () { - onComplete(modal); - }); - } -}; - -var fixScrollbar = function fixScrollbar() { - // for queues, do not do this more than once - if (states.previousBodyPadding !== null) { - return; - } - // if the body has overflow - if (document.body.scrollHeight > window.innerHeight) { - // add padding so the content doesn't shift after removal of scrollbar - states.previousBodyPadding = document.body.style.paddingRight; - document.body.style.paddingRight = measureScrollbar() + 'px'; - } -}; - -var undoScrollbar = function undoScrollbar() { - if (states.previousBodyPadding !== null) { - document.body.style.paddingRight = states.previousBodyPadding; - states.previousBodyPadding = null; - } -}; - -// Fix iOS scrolling http://stackoverflow.com/q/39626302/1331425 -var iOSfix = function iOSfix() { - var iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; - if (iOS && !hasClass(document.body, swalClasses.iosfix)) { - var offset = document.body.scrollTop; - document.body.style.top = offset * -1 + 'px'; - addClass(document.body, swalClasses.iosfix); - } -}; - -var undoIOSfix = function undoIOSfix() { - if (hasClass(document.body, swalClasses.iosfix)) { - var offset = parseInt(document.body.style.top, 10); - removeClass(document.body, swalClasses.iosfix); - document.body.style.top = ''; - document.body.scrollTop = offset * -1; - } -}; - -// SweetAlert entry point -var sweetAlert = function sweetAlert() { - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - if (args[0] === undefined) { - console.error('SweetAlert2 expects at least 1 attribute!'); - return false; - } - - var params = _extends({}, modalParams); - - switch (_typeof(args[0])) { - case 'string': - params.title = args[0]; - params.html = args[1]; - params.type = args[2]; - - break; - - case 'object': - _extends(params, args[0]); - params.extraParams = args[0].extraParams; - - if (params.input === 'email' && params.inputValidator === null) { - params.inputValidator = function (email) { - return new Promise(function (resolve, reject) { - var emailRegex = /^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/; - if (emailRegex.test(email)) { - resolve(); - } else { - reject('Invalid email address'); - } - }); - }; - } - - if (params.input === 'url' && params.inputValidator === null) { - params.inputValidator = function (url) { - return new Promise(function (resolve, reject) { - var urlRegex = /^(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})([/\w .-]*)*\/?$/; - if (urlRegex.test(url)) { - resolve(); - } else { - reject('Invalid URL'); - } - }); - }; - } - break; - - default: - console.error('SweetAlert2: Unexpected type of argument! Expected "string" or "object", got ' + _typeof(args[0])); - return false; - } - - setParameters(params); - - var container = getContainer(); - var modal = getModal(); - - return new Promise(function (resolve, reject) { - // Close on timer - if (params.timer) { - modal.timeout = setTimeout(function () { - sweetAlert.closeModal(params.onClose); - reject('timer'); - }, params.timer); - } - - // Get input element by specified type or, if type isn't specified, by params.input - var getInput = function getInput(inputType) { - inputType = inputType || params.input; - if (!inputType) { - return null; - } - switch (inputType) { - case 'select': - case 'textarea': - case 'file': - return getChildByClass(modal, swalClasses[inputType]); - case 'checkbox': - return modal.querySelector('.' + swalClasses.checkbox + ' input'); - case 'radio': - return modal.querySelector('.' + swalClasses.radio + ' input:checked') || modal.querySelector('.' + swalClasses.radio + ' input:first-child'); - case 'range': - return modal.querySelector('.' + swalClasses.range + ' input'); - default: - return getChildByClass(modal, swalClasses.input); - } - }; - - // Get the value of the modal input - var getInputValue = function getInputValue() { - var input = getInput(); - if (!input) { - return null; - } - switch (params.input) { - case 'checkbox': - return input.checked ? 1 : 0; - case 'radio': - return input.checked ? input.value : null; - case 'file': - return input.files.length ? input.files[0] : null; - default: - return params.inputAutoTrim ? input.value.trim() : input.value; - } - }; - - // input autofocus - if (params.input) { - setTimeout(function () { - var input = getInput(); - if (input) { - focusInput(input); - } - }, 0); - } - - var confirm = function confirm(value) { - if (params.showLoaderOnConfirm) { - sweetAlert.showLoading(); - } - - if (params.preConfirm) { - params.preConfirm(value, params.extraParams).then(function (preConfirmValue) { - sweetAlert.closeModal(params.onClose); - resolve(preConfirmValue || value); - }, function (error) { - sweetAlert.hideLoading(); - if (error) { - sweetAlert.showValidationError(error); - } - }); - } else { - sweetAlert.closeModal(params.onClose); - resolve(value); - } - }; - - // Mouse interactions - var onButtonEvent = function onButtonEvent(event) { - var e = event || window.event; - var target = e.target || e.srcElement; - var confirmButton = getConfirmButton(); - var cancelButton = getCancelButton(); - var targetedConfirm = confirmButton && (confirmButton === target || confirmButton.contains(target)); - var targetedCancel = cancelButton && (cancelButton === target || cancelButton.contains(target)); - - switch (e.type) { - case 'mouseover': - case 'mouseup': - if (params.buttonsStyling) { - if (targetedConfirm) { - confirmButton.style.backgroundColor = colorLuminance(params.confirmButtonColor, -0.1); - } else if (targetedCancel) { - cancelButton.style.backgroundColor = colorLuminance(params.cancelButtonColor, -0.1); - } - } - break; - case 'mouseout': - if (params.buttonsStyling) { - if (targetedConfirm) { - confirmButton.style.backgroundColor = params.confirmButtonColor; - } else if (targetedCancel) { - cancelButton.style.backgroundColor = params.cancelButtonColor; - } - } - break; - case 'mousedown': - if (params.buttonsStyling) { - if (targetedConfirm) { - confirmButton.style.backgroundColor = colorLuminance(params.confirmButtonColor, -0.2); - } else if (targetedCancel) { - cancelButton.style.backgroundColor = colorLuminance(params.cancelButtonColor, -0.2); - } - } - break; - case 'click': - // Clicked 'confirm' - if (targetedConfirm && sweetAlert.isVisible()) { - sweetAlert.disableButtons(); - if (params.input) { - var inputValue = getInputValue(); - - if (params.inputValidator) { - sweetAlert.disableInput(); - params.inputValidator(inputValue, params.extraParams).then(function () { - sweetAlert.enableButtons(); - sweetAlert.enableInput(); - confirm(inputValue); - }, function (error) { - sweetAlert.enableButtons(); - sweetAlert.enableInput(); - if (error) { - sweetAlert.showValidationError(error); - } - }); - } else { - confirm(inputValue); - } - } else { - confirm(true); - } - - // Clicked 'cancel' - } else if (targetedCancel && sweetAlert.isVisible()) { - sweetAlert.disableButtons(); - sweetAlert.closeModal(params.onClose); - reject('cancel'); - } - break; - default: - } - }; - - var buttons = modal.querySelectorAll('button'); - for (var i = 0; i < buttons.length; i++) { - buttons[i].onclick = onButtonEvent; - buttons[i].onmouseover = onButtonEvent; - buttons[i].onmouseout = onButtonEvent; - buttons[i].onmousedown = onButtonEvent; - } - - // Closing modal by close button - getCloseButton().onclick = function () { - sweetAlert.closeModal(params.onClose); - reject('close'); - }; - - // Closing modal by overlay click - container.onclick = function (e) { - if (e.target !== container) { - return; - } - if (params.allowOutsideClick) { - sweetAlert.closeModal(params.onClose); - reject('overlay'); - } - }; - - var buttonsWrapper = getButtonsWrapper(); - var confirmButton = getConfirmButton(); - var cancelButton = getCancelButton(); - - // Reverse buttons (Confirm on the right side) - if (params.reverseButtons) { - confirmButton.parentNode.insertBefore(cancelButton, confirmButton); - } else { - confirmButton.parentNode.insertBefore(confirmButton, cancelButton); - } - - // Focus handling - var setFocus = function setFocus(index, increment) { - var focusableElements = getFocusableElements(params.focusCancel); - // search for visible elements and select the next possible match - for (var _i3 = 0; _i3 < focusableElements.length; _i3++) { - index = index + increment; - - // rollover to first item - if (index === focusableElements.length) { - index = 0; - - // go to last item - } else if (index === -1) { - index = focusableElements.length - 1; - } - - // determine if element is visible - var el = focusableElements[index]; - if (isVisible(el)) { - return el.focus(); - } - } - }; - - var handleKeyDown = function handleKeyDown(event) { - var e = event || window.event; - var keyCode = e.keyCode || e.which; - - if ([9, 13, 32, 27, 37, 38, 39, 40].indexOf(keyCode) === -1) { - // Don't do work on keys we don't care about. - return; - } - - var targetElement = e.target || e.srcElement; - - var focusableElements = getFocusableElements(params.focusCancel); - var btnIndex = -1; // Find the button - note, this is a nodelist, not an array. - for (var _i4 = 0; _i4 < focusableElements.length; _i4++) { - if (targetElement === focusableElements[_i4]) { - btnIndex = _i4; - break; - } - } - - // TAB - if (keyCode === 9) { - if (!e.shiftKey) { - // Cycle to the next button - setFocus(btnIndex, 1); - } else { - // Cycle to the prev button - setFocus(btnIndex, -1); - } - e.stopPropagation(); - e.preventDefault(); - - // ARROWS - switch focus between buttons - } else if (keyCode === 37 || keyCode === 38 || keyCode === 39 || keyCode === 40) { - // focus Cancel button if Confirm button is currently focused - if (document.activeElement === confirmButton && isVisible(cancelButton)) { - cancelButton.focus(); - // and vice versa - } else if (document.activeElement === cancelButton && isVisible(confirmButton)) { - confirmButton.focus(); - } - - // ENTER/SPACE - } else if (keyCode === 13 || keyCode === 32) { - if (btnIndex === -1 && params.allowEnterKey) { - // ENTER/SPACE clicked outside of a button. - if (params.focusCancel) { - fireClick(cancelButton, e); - } else { - fireClick(confirmButton, e); - } - e.stopPropagation(); - e.preventDefault(); - } - - // ESC - } else if (keyCode === 27 && params.allowEscapeKey === true) { - sweetAlert.closeModal(params.onClose); - reject('esc'); - } - }; - - states.previousWindowKeyDown = window.onkeydown; - window.onkeydown = handleKeyDown; - - // Loading state - if (params.buttonsStyling) { - confirmButton.style.borderLeftColor = params.confirmButtonColor; - confirmButton.style.borderRightColor = params.confirmButtonColor; - } - - /** - * Show spinner instead of Confirm button and disable Cancel button - */ - sweetAlert.showLoading = sweetAlert.enableLoading = function () { - show(buttonsWrapper); - show(confirmButton, 'inline-block'); - addClass(buttonsWrapper, swalClasses.loading); - addClass(modal, swalClasses.loading); - confirmButton.disabled = true; - cancelButton.disabled = true; - }; - - /** - * Show spinner instead of Confirm button and disable Cancel button - */ - sweetAlert.hideLoading = sweetAlert.disableLoading = function () { - if (!params.showConfirmButton) { - hide(confirmButton); - if (!params.showCancelButton) { - hide(getButtonsWrapper()); - } - } - removeClass(buttonsWrapper, swalClasses.loading); - removeClass(modal, swalClasses.loading); - confirmButton.disabled = false; - cancelButton.disabled = false; - }; - - sweetAlert.getTitle = function () { - return getTitle(); - }; - sweetAlert.getContent = function () { - return getContent(); - }; - sweetAlert.getInput = function () { - return getInput(); - }; - sweetAlert.getImage = function () { - return getImage(); - }; - sweetAlert.getButtonsWrapper = function () { - return getButtonsWrapper(); - }; - sweetAlert.getConfirmButton = function () { - return getConfirmButton(); - }; - sweetAlert.getCancelButton = function () { - return getCancelButton(); - }; - - sweetAlert.enableButtons = function () { - confirmButton.disabled = false; - cancelButton.disabled = false; - }; - - sweetAlert.disableButtons = function () { - confirmButton.disabled = true; - cancelButton.disabled = true; - }; - - sweetAlert.enableConfirmButton = function () { - confirmButton.disabled = false; - }; - - sweetAlert.disableConfirmButton = function () { - confirmButton.disabled = true; - }; - - sweetAlert.enableInput = function () { - var input = getInput(); - if (!input) { - return false; - } - if (input.type === 'radio') { - var radiosContainer = input.parentNode.parentNode; - var radios = radiosContainer.querySelectorAll('input'); - for (var _i5 = 0; _i5 < radios.length; _i5++) { - radios[_i5].disabled = false; - } - } else { - input.disabled = false; - } - }; - - sweetAlert.disableInput = function () { - var input = getInput(); - if (!input) { - return false; - } - if (input && input.type === 'radio') { - var radiosContainer = input.parentNode.parentNode; - var radios = radiosContainer.querySelectorAll('input'); - for (var _i6 = 0; _i6 < radios.length; _i6++) { - radios[_i6].disabled = true; - } - } else { - input.disabled = true; - } - }; - - // Set modal min-height to disable scrolling inside the modal - sweetAlert.recalculateHeight = debounce(function () { - var modal = getModal(); - if (!modal) { - return; - } - var prevState = modal.style.display; - modal.style.minHeight = ''; - show(modal); - modal.style.minHeight = modal.scrollHeight + 1 + 'px'; - modal.style.display = prevState; - }, 50); - - // Show block with validation error - sweetAlert.showValidationError = function (error) { - var validationError = getValidationError(); - validationError.innerHTML = error; - show(validationError); - - var input = getInput(); - if (input) { - focusInput(input); - addClass(input, swalClasses.inputerror); - } - }; - - // Hide block with validation error - sweetAlert.resetValidationError = function () { - var validationError = getValidationError(); - hide(validationError); - sweetAlert.recalculateHeight(); - - var input = getInput(); - if (input) { - removeClass(input, swalClasses.inputerror); - } - }; - - sweetAlert.getProgressSteps = function () { - return params.progressSteps; - }; - - sweetAlert.setProgressSteps = function (progressSteps) { - params.progressSteps = progressSteps; - setParameters(params); - }; - - sweetAlert.showProgressSteps = function () { - show(getProgressSteps()); - }; - - sweetAlert.hideProgressSteps = function () { - hide(getProgressSteps()); - }; - - sweetAlert.enableButtons(); - sweetAlert.hideLoading(); - sweetAlert.resetValidationError(); - - // inputs - var inputTypes = ['input', 'file', 'range', 'select', 'radio', 'checkbox', 'textarea']; - var input = void 0; - for (var _i7 = 0; _i7 < inputTypes.length; _i7++) { - var inputClass = swalClasses[inputTypes[_i7]]; - var inputContainer = getChildByClass(modal, inputClass); - input = getInput(inputTypes[_i7]); - - // set attributes - if (input) { - for (var j in input.attributes) { - if (input.attributes.hasOwnProperty(j)) { - var attrName = input.attributes[j].name; - if (attrName !== 'type' && attrName !== 'value') { - input.removeAttribute(attrName); - } - } - } - for (var attr in params.inputAttributes) { - input.setAttribute(attr, params.inputAttributes[attr]); - } - } - - // set class - inputContainer.className = inputClass; - if (params.inputClass) { - addClass(inputContainer, params.inputClass); - } - - hide(inputContainer); - } - - var populateInputOptions = void 0; - switch (params.input) { - case 'text': - case 'email': - case 'password': - case 'number': - case 'tel': - case 'url': - input = getChildByClass(modal, swalClasses.input); - input.value = params.inputValue; - input.placeholder = params.inputPlaceholder; - input.type = params.input; - show(input); - break; - case 'file': - input = getChildByClass(modal, swalClasses.file); - input.placeholder = params.inputPlaceholder; - input.type = params.input; - show(input); - break; - case 'range': - var range = getChildByClass(modal, swalClasses.range); - var rangeInput = range.querySelector('input'); - var rangeOutput = range.querySelector('output'); - rangeInput.value = params.inputValue; - rangeInput.type = params.input; - rangeOutput.value = params.inputValue; - show(range); - break; - case 'select': - var select = getChildByClass(modal, swalClasses.select); - select.innerHTML = ''; - if (params.inputPlaceholder) { - var placeholder = document.createElement('option'); - placeholder.innerHTML = params.inputPlaceholder; - placeholder.value = ''; - placeholder.disabled = true; - placeholder.selected = true; - select.appendChild(placeholder); - } - populateInputOptions = function populateInputOptions(inputOptions) { - for (var optionValue in inputOptions) { - var option = document.createElement('option'); - option.value = optionValue; - option.innerHTML = inputOptions[optionValue]; - if (params.inputValue === optionValue) { - option.selected = true; - } - select.appendChild(option); - } - show(select); - select.focus(); - }; - break; - case 'radio': - var radio = getChildByClass(modal, swalClasses.radio); - radio.innerHTML = ''; - populateInputOptions = function populateInputOptions(inputOptions) { - for (var radioValue in inputOptions) { - var radioInput = document.createElement('input'); - var radioLabel = document.createElement('label'); - var radioLabelSpan = document.createElement('span'); - radioInput.type = 'radio'; - radioInput.name = swalClasses.radio; - radioInput.value = radioValue; - if (params.inputValue === radioValue) { - radioInput.checked = true; - } - radioLabelSpan.innerHTML = inputOptions[radioValue]; - radioLabel.appendChild(radioInput); - radioLabel.appendChild(radioLabelSpan); - radioLabel.for = radioInput.id; - radio.appendChild(radioLabel); - } - show(radio); - var radios = radio.querySelectorAll('input'); - if (radios.length) { - radios[0].focus(); - } - }; - break; - case 'checkbox': - var checkbox = getChildByClass(modal, swalClasses.checkbox); - var checkboxInput = getInput('checkbox'); - checkboxInput.type = 'checkbox'; - checkboxInput.value = 1; - checkboxInput.id = swalClasses.checkbox; - checkboxInput.checked = Boolean(params.inputValue); - var label = checkbox.getElementsByTagName('span'); - if (label.length) { - checkbox.removeChild(label[0]); - } - label = document.createElement('span'); - label.innerHTML = params.inputPlaceholder; - checkbox.appendChild(label); - show(checkbox); - break; - case 'textarea': - var textarea = getChildByClass(modal, swalClasses.textarea); - textarea.value = params.inputValue; - textarea.placeholder = params.inputPlaceholder; - show(textarea); - break; - case null: - break; - default: - console.error('SweetAlert2: Unexpected type of input! Expected "text", "email", "password", "number", "tel", "select", "radio", "checkbox", "textarea", "file" or "url", got "' + params.input + '"'); - break; - } - - if (params.input === 'select' || params.input === 'radio') { - if (params.inputOptions instanceof Promise) { - sweetAlert.showLoading(); - params.inputOptions.then(function (inputOptions) { - sweetAlert.hideLoading(); - populateInputOptions(inputOptions); - }); - } else if (_typeof(params.inputOptions) === 'object') { - populateInputOptions(params.inputOptions); - } else { - console.error('SweetAlert2: Unexpected type of inputOptions! Expected object or Promise, got ' + _typeof(params.inputOptions)); - } - } - - openModal(params.animation, params.onOpen); - - // Focus the first element (input or button) - if (params.allowEnterKey) { - setFocus(-1, 1); - } else { - if (document.activeElement) { - document.activeElement.blur(); - } - } - - // fix scroll - getContainer().scrollTop = 0; - - // Observe changes inside the modal and adjust height - if (typeof MutationObserver !== 'undefined' && !swal2Observer) { - swal2Observer = new MutationObserver(sweetAlert.recalculateHeight); - swal2Observer.observe(modal, { childList: true, characterData: true, subtree: true }); - } - }); -}; - -/* - * Global function to determine if swal2 modal is shown - */ -sweetAlert.isVisible = function () { - return !!getModal(); -}; - -/* - * Global function for chaining sweetAlert modals - */ -sweetAlert.queue = function (steps) { - queue = steps; - var resetQueue = function resetQueue() { - queue = []; - document.body.removeAttribute('data-swal2-queue-step'); - }; - var queueResult = []; - return new Promise(function (resolve, reject) { - (function step(i, callback) { - if (i < queue.length) { - document.body.setAttribute('data-swal2-queue-step', i); - - sweetAlert(queue[i]).then(function (result) { - queueResult.push(result); - step(i + 1, callback); - }, function (dismiss) { - resetQueue(); - reject(dismiss); - }); - } else { - resetQueue(); - resolve(queueResult); - } - })(0); - }); -}; - -/* - * Global function for getting the index of current modal in queue - */ -sweetAlert.getQueueStep = function () { - return document.body.getAttribute('data-swal2-queue-step'); -}; - -/* - * Global function for inserting a modal to the queue - */ -sweetAlert.insertQueueStep = function (step, index) { - if (index && index < queue.length) { - return queue.splice(index, 0, step); - } - return queue.push(step); -}; - -/* - * Global function for deleting a modal from the queue - */ -sweetAlert.deleteQueueStep = function (index) { - if (typeof queue[index] !== 'undefined') { - queue.splice(index, 1); - } -}; - -/* - * Global function to close sweetAlert - */ -sweetAlert.close = sweetAlert.closeModal = function (onComplete) { - var container = getContainer(); - var modal = getModal(); - if (!modal) { - return; - } - removeClass(modal, swalClasses.show); - addClass(modal, swalClasses.hide); - clearTimeout(modal.timeout); - - resetPrevState(); - - var removeModalAndResetState = function removeModalAndResetState() { - if (container.parentNode) { - container.parentNode.removeChild(container); - } - removeClass(document.documentElement, swalClasses.shown); - removeClass(document.body, swalClasses.shown); - undoScrollbar(); - undoIOSfix(); - }; - - // If animation is supported, animate - if (animationEndEvent && !hasClass(modal, swalClasses.noanimation)) { - modal.addEventListener(animationEndEvent, function swalCloseEventFinished() { - modal.removeEventListener(animationEndEvent, swalCloseEventFinished); - if (hasClass(modal, swalClasses.hide)) { - removeModalAndResetState(); - } - }); - } else { - // Otherwise, remove immediately - removeModalAndResetState(); - } - if (onComplete !== null && typeof onComplete === 'function') { - setTimeout(function () { - onComplete(modal); - }); - } -}; - -/* - * Global function to click 'Confirm' button - */ -sweetAlert.clickConfirm = function () { - return getConfirmButton().click(); -}; - -/* - * Global function to click 'Cancel' button - */ -sweetAlert.clickCancel = function () { - return getCancelButton().click(); -}; - -/** - * Set default params for each popup - * @param {Object} userParams - */ -sweetAlert.setDefaults = function (userParams) { - if (!userParams || (typeof userParams === 'undefined' ? 'undefined' : _typeof(userParams)) !== 'object') { - return console.error('SweetAlert2: the argument for setDefaults() is required and has to be a object'); - } - - for (var param in userParams) { - if (!defaultParams.hasOwnProperty(param) && param !== 'extraParams') { - console.warn('SweetAlert2: Unknown parameter "' + param + '"'); - delete userParams[param]; - } - } - - _extends(modalParams, userParams); -}; - -/** - * Reset default params for each popup - */ -sweetAlert.resetDefaults = function () { - modalParams = _extends({}, defaultParams); -}; - -sweetAlert.noop = function () {}; - -sweetAlert.version = '6.6.2'; - -sweetAlert.default = sweetAlert; - -return sweetAlert; - -}))); -if (window.Sweetalert2) window.sweetAlert = window.swal = window.Sweetalert2; diff --git a/assets/stylesheets/admin/components/index.php b/assets/stylesheets/admin/components/index.php deleted file mode 100644 index 02d344bc..00000000 --- a/assets/stylesheets/admin/components/index.php +++ /dev/null @@ -1,2 +0,0 @@ - span.selection > span.select2-selection:focus { - background-color: #f2dede; - border-color: #ebccd1; - box-shadow: 1px 1px #ebccd1; -} - -#woo-pagarme-capture .inside { - display: block !important; -} -#woo-pagarme-capture .wrapper { - margin: 0; - overflow-x: auto; -} -#woo-pagarme-capture .wrapper table { - width: 100%; - background: #fff; -} -#woo-pagarme-capture .wrapper table thead th { - text-align: left; - padding: 1em; - font-weight: normal; - color: #999; - background: #f8f8f8; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -#woo-pagarme-capture .wrapper table thead th.sortable { - cursor: pointer; -} -#woo-pagarme-capture .wrapper table thead th:last-child { - padding-right: 2em; -} -#woo-pagarme-capture .wrapper table thead th:first-child { - padding-left: 2em; -} -#woo-pagarme-capture .wrapper table thead th .wc-arrow { - float: right; - position: relative; - margin-right: -1em; -} -#woo-pagarme-capture .wrapper table tbody th, #woo-pagarme-capture .wrapper table td { - padding: 1.5em 1em 1em; - text-align: left; - line-height: 1.5em; - vertical-align: top; - border-bottom: 1px solid #f8f8f8; -} -#woo-pagarme-capture .wrapper table tbody th textarea, #woo-pagarme-capture .wrapper table td textarea { - width: 100%; -} -#woo-pagarme-capture .wrapper table tbody th input, #woo-pagarme-capture .wrapper table tbody th textarea, #woo-pagarme-capture .wrapper table td input, #woo-pagarme-capture .wrapper table td textarea { - font-size: 14px; - padding: 4px; - color: #555; -} -#woo-pagarme-capture .wrapper table tbody th:last-child, #woo-pagarme-capture .wrapper table td:last-child { - padding-right: 2em; -} -#woo-pagarme-capture .wrapper table tbody th:first-child, #woo-pagarme-capture .wrapper table td:first-child { - padding-left: 2em; -} -#woo-pagarme-capture .wrapper table tbody tr.selected { - background: #f5ebf3; -} -#woo-pagarme-capture .wrapper table tbody tr.selected td { - border-color: #e6cce1; - opacity: 0.8; -} -#woo-pagarme-capture .wrapper table tbody tr:last-child td { - border-bottom: 1px solid #dfdfdf; -} -#woo-pagarme-capture .wrapper table tbody tr:first-child td { - border-top: 8px solid #f8f8f8; -} -#woo-pagarme-capture .wrapper table tbody.items tr:first-child td { - border-top: none; -} -#woo-pagarme-capture .wrapper table .action { - text-align: center; -} - -/* -* iziModal | v1.5.1 -* http://izimodal.marcelodolce.com -* by Marcelo Dolce. -*/ -.iziModal { - display: none; - position: fixed; - top: 0; - bottom: 0; - left: 0; - right: 0; - margin: auto; - background: #FFF; - box-shadow: 0 0 8px rgba(0, 0, 0, 0.3); - transition: margin-top 0.3s ease, height 0.3s ease; - transform: translateZ(0); -} - -.iziModal * { - -webkit-font-smoothing: antialiased; -} - -.iziModal::after { - content: ""; - width: 100%; - height: 0px; - opacity: 0; - position: absolute; - left: 0; - bottom: 0; - z-index: 1; - background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.35) 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0)), color-stop(100%, rgba(0, 0, 0, 0.35))); - background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.35) 100%); - background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.35) 100%); - background: -ms-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.35) 100%); - background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.35) 100%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#00000000", endColorstr="#59000000",GradientType=0 ); - transition: height 0.3s ease-in-out, opacity 0.3s ease-in-out; - pointer-events: none; -} - -.iziModal.hasShadow::after { - height: 30px; - opacity: 1; -} - -.iziModal .iziModal-progressbar { - position: absolute; - left: 0; - top: 0px; - width: 100%; - z-index: 1; -} - -.iziModal .iziModal-progressbar > div { - height: 2px; - width: 100%; -} - -.iziModal .iziModal-header { - background: #88A0B9; - padding: 14px 18px 15px 18px; - box-shadow: inset 0 -10px 15px -12px rgba(0, 0, 0, 0.3), 0 0 0px #555; - overflow: hidden; - position: relative; - z-index: 10; -} - -.iziModal .iziModal-header-icon { - font-size: 40px; - color: rgba(255, 255, 255, 0.5); - padding: 0 15px 0 0; - margin: 0; - float: left; -} - -.iziModal .iziModal-header-title { - color: #FFF; - font-size: 18px; - font-weight: 600; - line-height: 1.3; -} - -.iziModal .iziModal-header-subtitle { - color: rgba(255, 255, 255, 0.6); - font-size: 12px; - line-height: 1.45; -} - -.iziModal .iziModal-header-title, .iziModal .iziModal-header-subtitle { - display: block; - margin: 0; - padding: 0; - font-family: "Lato", Arial; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - text-align: left; -} - -.iziModal .iziModal-header-buttons { - position: absolute; - top: 50%; - right: 10px; - margin: -17px 0 0 0; -} - -.iziModal .iziModal-button { - display: block; - float: right; - z-index: 2; - outline: none; - height: 34px; - width: 34px; - border: 0; - padding: 0; - margin: 0; - opacity: 0.3; - border-radius: 50%; - transition: transform 0.5s cubic-bezier(0.16, 0.81, 0.32, 1), opacity 0.5s ease; - background-size: 67% !important; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - -webkit-tap-highlight-color: transparent; - /* For some Androids */ -} - -.iziModal .iziModal-button-close { - background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODZCQkIzQ0I0RTg0MTFFNjlBODI4QTFBRTRBMkFCMDQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODZCQkIzQ0M0RTg0MTFFNjlBODI4QTFBRTRBMkFCMDQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4NkJCQjNDOTRFODQxMUU2OUE4MjhBMUFFNEEyQUIwNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4NkJCQjNDQTRFODQxMUU2OUE4MjhBMUFFNEEyQUIwNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsgTJLcAAALJSURBVHja3JnLS1VBHMfvQ7g9dBXRRrwEFRciAhMi1JRW1aIHVEIYEkW0iVpUhOD/ICK6cFMgSbUpC6VFkQa9NtpjkauriRY9Noa3pHT8/mIODMM5Or85o87pC5/NPf5mvmc8M7+Z36SFEKkY2gj2gUawF2wHW8A6+fwv+A6KYAQMg+dg2rbDtKXhGnAaHJIms4zYz9J4HxgAf1g9k2EGteAhWBBuNApaQNrUg6nRTaAbzIuV0RCocWW4DoyJlVcJXI5ruFk2tJqi/2TWxvA5sXbqA2Ucw01i7dVjargazAo/dE33p6/DlAheg50pP0SJpwG8CH7IaH/Q5pFZUhnoArkwwwVwJeWfdoMLYYZvqG+yTGo9CerAoIWBT+A4qAdPDWOugwo1NVcxJtpFZRLkwH3GJCqCghJfxVjnz1JMMMKnwAbGRAg0B5rAA4O4CblZ+qj8tkBjZthvSzDCtFIMM0ZpQhslk5Eej4jpZ/T7G+ygwG1ghrk+jjNMFy1eMPJzpOAzlou6iWmXZkm91EBHjEwUZXoQTDk2SxqhRh7HTJ9hpstB3rFZ0ldq6J2DnB9m2rXZfxOPlrX1DrJRXiaBXSHPaMHvB0cd9JPLpBImMvzLQTuUFA6A9yHPfoIjhsllOc1l5N4grtmDWgYrl5+JTUZcSjNkeMyxWdpA3ZN72IJj01OJTByJS82J2/wQVxmB5y1HK8x0JWMf/kzdD98FJcY5S51gdwyTQl6eUAraspo27PeWXgy8afim0+CELAwOWHyH9EkdkyWwJ4Yxk6BCP+bTm48anutWW5dAp34IpbW03UOzb0FPVEHbx0LKfvAyqpAyKw97JU8Mt6pml6rAJ6oY6Eu5NfvfF7QTeWWQyEsZr6694lwsNoPD8mKRo29gCNwGj7gXi7aGA1EBcY+8vq0GW8FmJb3Pgx9gEnwAr8Ab8MW2w0UBBgAVyyyaohV7ewAAAABJRU5ErkJggg==") no-repeat 50% 50%; -} - -.iziModal .iziModal-button-fullscreen { - background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RTBBOUI4RUM0RTg0MTFFNjk0NTY4NUNFRkZFNEFEQzIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RTBBOUI4RUQ0RTg0MTFFNjk0NTY4NUNFRkZFNEFEQzIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFMEE5QjhFQTRFODQxMUU2OTQ1Njg1Q0VGRkU0QURDMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFMEE5QjhFQjRFODQxMUU2OTQ1Njg1Q0VGRkU0QURDMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrQO6gAAAANmSURBVHjazJlbSBRRGMd3x92i0ForRRMiKiUoX4ouiFlJkRVBDxW9GJERwUasvdRT9FD00osRQtAFqegGBUHRBY0uaCVKEkSRpVR0tSwrQtp1+p/4Bk7D7M45M/Ot/uGHu+Psmf+c+eY753wnbJpmyIfGgvmgiv6WgkKQBwzwE3wBr0AnuAta6ZgnhT0aFuY2ghoyGdH4bS+4Dc6CZjCkdWVhWIPF4JoZnB6CDToeVE8sBidNPt0E5UEZrgG9Jr8GwHa/huMgaWZXDSDsxfBuc/jUBAwdw3Fz+NWoang5SJkjQwm7P3seLqQEX2LLfgfBdZcMORMcBqNDwekPqASP0uXhpjR3Ok0x/fUw9HIHGGVdw5DuRtzJpgxDsJui2qOWmuaAOuuLbHivz4YLwLgQj/aAXNmwuItlHhtbA7pAG5jEZHgKWCcbrhUTIY+NPQVjqFFObbYMi/hc6aOhl2AJ9TKnFoIyYXgemKEzJQXVVkyR3oFVzKZFuqw2qHdyFPKhrHPgMoWC3fRjRtNVVg+7SR5IiqmXxUt60cG0CK/vTIZniZVCmcKJF0C3ZNjKBqvJ9Hrwm46tsN1EkCoRQ/M3fBjvs6GrYAvdwHEfGcd1qBaGkwoxrKI+xjz83yJ0iLFHApd46X4xX+M+WECh4lepCNUIcpnMijrEWtAvTRHrbOd8FZNG8uA2Nf0hpmwtjBPwpQ5T0GPS/+tBAZhIq+b3Lu09EyHRwRgO+0C+7dhWcII+PwCf6Sk/Aa9d2vtn+A7nyASugJiD6YSDQcOlvVbxiCaAN8xrs3sgprBiac/QhlhnzjUo6JuZM0UlDS5FPtoQIdNlPYJTWUihFaDex+9Pg6T1KHJAJ2NI7ASllA28hEQ/KJIXoSlwgKlnh+jFe+GjLtwIPtjfyktUt+UaUZWqvw7H3oJD1peI7eQdoF1xWa+zQikHH13OmwqmOxxP0EiZtgK/DRwNuIcHwSeXc2K01WAPhbhKBb5hBNTVbskVH7fqpZGhbJUNtYF83fqwQSXPbOsGjb6etwx2gcEsmT3iFAZeNmUqaMeHSz2qu0k6W15Rqsx3B2i0D+xXGAHTFrRVlEeFuVoqH+ku6VNUbDkPzlAtg30nVK66i8rRIjAbTKaSQVQyN0DD6nOqcLZQld9TLfmvAAMAeMcvp3eCFqQAAAAASUVORK5CYII=") no-repeat 50% 50%; -} - -.iziModal.isFullscreen .iziModal-button-fullscreen { - background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkFFRTU5NDA0RTg1MTFFNjk0NEZFQzBGMkVBMDYyRDkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkFFRTU5NDE0RTg1MTFFNjk0NEZFQzBGMkVBMDYyRDkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyQUVFNTkzRTRFODUxMUU2OTQ0RkVDMEYyRUEwNjJEOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyQUVFNTkzRjRFODUxMUU2OTQ0RkVDMEYyRUEwNjJEOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuDFfX8AAANASURBVHjazJlZSBVRGMfHcWlB0xZM68GKukQLYaGkmEUR2EsvRfQS+BSJPUQE+lTR8hqIZY8hFS0ERVCRoW3gpUApghYpszLTVnCB3O70/+K7MAwzc78Z58z4hx8XzpzvzJ+Zc+d85ztphmFoU9BsUAoq+XcFyAc5QAfD4BfoBp3gCWjnNl9K82mYzO0FVWwyw0NsD3gIroBWkPB0ZzLsgc3grhGcnoE9XjxIOxaCC4Y6tYC1QRmuAj2Geg2CA1M1XAsmjHDVANL8GK4zolMz0L0YrjWiV5PU8HYw6TBIf8imD6UynA96HYKPg3mgMUTDY6DUzXCzQ+AxSz+r6QEQZz4HbLoDZNkZrnAIoOlRZjN1Gk3XS0zty/gTFaRq7Ay3uAR8BcU2ps/z9QJTWw74HrDhTyDbbHg9SKQI+sb9rKa3mV8ZmAt+KJjP1TS+zinFPkqEUqQdBeAOKLa0UwIzpqlXtcYpIKWIO4RBZPoRKNfC10YQI8MlYLkwaAB8ABsiMDwDbKU8dgtIFwRMgJ3guRadKpNPWBMa7tOi1WoyHJPuTsC4oN+IQsOLM3gPJlEWqOE/neMGBqwDeYoMz6G8c0I4h6eFyHBC8A2eVoaH8JutaPwuUA/+uvSht1sHKgTjTWZwjUCVYdrK3xT0iwkND+lc5FClUQ9fINHCRYY7FBrWPSz5Er2lAR9H9P+hpfYGl64OCmPadQ7ojcDwOJetysBMQX/6mrWS4d+cIoYtMnAEnBT2fwVeJufYxZBMFoKFlrajQtOX/uczvEtIB50Kdgn1lt3JGdANltjsXE64jPMnuQ1LPuFJcFrBE11gzQXAUnAPFNk86esO4zSBfmu5lVa9toCf8DC4Ba6C22DEdO01KDLdP5fLr1Z94X2ibV1ilWVQ1XrDpvPAU4c+u1KVqvaHXI7q43ltp3PSYmDDNCgGPrCUD1wN6y5lqzAUN89baX1Y55Jn2LrPRUffRwaHwWhIZs/aTQM/hzLlDp+coPRReprk5cgrkyvz7wM0+hOcAvOlPvwcLNIp526ux1H5aJbHeFpVX4Br4LLXWoffk9CkVnLlaBNYAxaBXJBpMjfIy+o7EAdtfIyb8HPDfwIMAM1WPs8F9tcxAAAAAElFTkSuQmCC") no-repeat 50% 50%; -} - -.iziModal .iziModal-button-close:hover { - transform: rotate(180deg); -} - -.iziModal .iziModal-button:hover { - opacity: 0.8; -} - -.iziModal .iziModal-header.iziModal-noSubtitle { - height: auto; - padding: 10px 15px 12px 15px; -} - -.iziModal .iziModal-header.iziModal-noSubtitle .iziModal-header-icon { - font-size: 23px; - padding-right: 13px; -} - -.iziModal .iziModal-header.iziModal-noSubtitle .iziModal-header-title { - font-size: 15px; - margin: 3px 0 0 0; - font-weight: 400; -} - -.iziModal .iziModal-header.iziModal-noSubtitle .iziModal-header-buttons { - right: 6px; - margin: -16px 0 0 0; -} - -.iziModal .iziModal-header.iziModal-noSubtitle .iziModal-button { - height: 30px; - width: 30px; -} - -/* RTL */ -.iziModal-rtl { - direction: rtl; -} - -.iziModal-rtl .iziModal-header { - padding: 14px 18px 15px 40px; -} - -.iziModal-rtl .iziModal-header-icon { - float: right; - padding: 0 0 0 15px; -} - -.iziModal-rtl .iziModal-header-buttons { - right: initial; - left: 10px; -} - -.iziModal-rtl .iziModal-button { - float: left; -} - -.iziModal-rtl .iziModal-header-title, .iziModal-rtl .iziModal-header-subtitle { - text-align: right; - font-family: Tahoma, "Lato", Arial; - font-weight: 500; -} - -.iziModal-rtl .iziModal-header.iziModal-noSubtitle { - padding: 10px 15px 12px 40px; -} - -.iziModal-rtl .iziModal-header.iziModal-noSubtitle .iziModal-header-icon { - padding: 0 0 0 13px; -} - -/* LIGHT THEME */ -.iziModal.iziModal-light .iziModal-header-icon { - color: rgba(0, 0, 0, 0.5); -} - -.iziModal.iziModal-light .iziModal-header-title { - color: #000; -} - -.iziModal.iziModal-light .iziModal-header-subtitle { - color: rgba(0, 0, 0, 0.6); -} - -.iziModal.iziModal-light .iziModal-button-close { - background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4JpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyQTU1RUZDNzRFODQxMUU2ODAxOEUwQzg0QjBDQjI3OSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1NEM4MTU1MEI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0RTNFNENDMkI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjZjYzMwMmE1LWFlMjEtNDI3ZS1hMmE4LTJlYjhlMmZlY2E3NSIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjdmYmU3NGE3LTAxMDUtMTE3YS1hYmM3LWEzNWNkOWU1Yzc4NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Po24QssAAANtSURBVHja3JlJaBRBFIa7ZxyTSXADHUkikuAawZNLEOOGGrwJQYko8R4RBQ+OICoqghJQUVwPYjzFY0QUBQU1kogoKO6CG0pcIwbiNibj/8JraNvu6Xo9NTOtP3xzSKe6/65+Ve9VlWlkp2IwGUwFE0E5GA4G8/U+0APegWfgHrgPuq0bpNNp0QPNgEYngHlgGpuMCNp2s+kr4BYM/8ql4WqwHEzP4mXteg7awOW0YlerPnQIaARLNBl1ikLlBDw/1WF4ClgHKozc6idogekz2RheANbaBlE+dB4chfF+qeHF3LOF0FWwF6b7nBe8RvecApolzQVr3C64GR4H1huFV51pmvV+hikRbABFRji0GqarMxluAGON8CgKmmA65mZ4DFhqhE9VPP//ZXgZiCmm1t1gI6XWAAY+gF0gCe4qtqlHL8fthkeBWsXGreA6eMgPviEw+x5sBZ3gAdjPCcNPI8Fsu+FawUCzz40psEfRNJndBl7b/pZmVLTQMkzJo0bQSys43iWm3cxS+DUJOmoSwqKCRmEZWKkYv6RSMBPc5lqXRGm0A1Q6XiaT2aSwo8jrK/qZwZlFIlXTusxa6iXDddTdARpnMj2ek9AWjWYH7h/lubcs4A28THdyAdOl0ezAmKNBNyLLiT0Btjti9zuHg06zpJKIprohwXNypcu1OIdGjYbnxCLGPyYy/EPDfejzbwYvXK59AzuFGdFLKTL8WYNZ59RVzGESJCNm0teI40E6zNIA2wSaA2REP32iaW0omKXRbJKTUVyYEVV0J8oxvEiQmiUZrFSz6XNkuJe3nBKCelaSbjOZrhLsd1BInYxweSeJq9YA6dYtuZCBI4JZ6jGW/W+sebhd0DAaMIO5mTYFW1+X6GeQ7TO3W0WyQj3cw0ulBg4nSUbcAY7zPVYp7ip95FXOH29Hb35AOPjypWMIh7PORSjFZVsIzdKW7AWvfYnTVNWHyCytHw+jd1Nehqks3KepvtChUzD7yGvE2/cduqxldQF1EWZb/PbWLF3jAVgo0WrlkN+c6hSd+rzlaSuaR7O0oX0wyIa2pVAdGaj0HCUVOqIq4dVwrg5lmmG2w+8f/9tjL6foYHE+Gy8Xtv3CPUpf7WauDxadKuIwoeNbOmoYDYbZ0ns/1wxUC7ykigs8sS/LpEe3vwUYALiKDDDSgEiSAAAAAElFTkSuQmCC") no-repeat 50% 50%; -} - -.iziModal.iziModal-light .iziModal-button-fullscreen { - background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4JpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpEQTg1NTA2NTRFODQxMUU2OTQ0N0VERjY2Q0M5ODYwRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0RTNFNENCQkI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0RTNFNENCQUI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjFlNTQwYzczLTVhZmEtNDJlYi04YzJlLWMwMzFlYmFiYmIyNiIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmVkYmRiMzM1LTAxMDUtMTE3YS1hYmM3LWEzNWNkOWU1Yzc4NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvIicdUAAAOvSURBVHjaxJlZbA1hFMe/qaItUUsspakg1laJ7UUisQuRvvTFA15sQSRCLBFrQryhHqxNHxEPtaQ8CCUkIrVVRbVBJdZYSrXVonr9/3pGxnTunZk78/X+k1+aO+1899/vnnvO+c4YKpi6ghEgW34OBD1BKjBAM6gH78Fz8BhUyrW/ikQivt7QiNMozU0DE8RkJx/3fgCPwA1QHvHp2K/hHJAPJqpwVA2K4flW2IZ7gyVgptKjh6AQxl+GYZi7uRr0U3rVBIpg+nIQwwvACpCkOk4XwYlosR3LMGN1qUqMroGDTqaNGDu7SiVWl+D3iP2i00c9HqxUidd8wzDy3HY4HRwCfWzXz4L7Lm+QKfHeOUTTLWAzdro6muH1YIbDjculWrmpUEM2YYXcCNMt9pAYE8WsWYLdlAxaNYTGMDDHKYYXBVy4B0jTFM/5iOcUc1fM/2JcnItNAYtBNzGtQ33BVHDV3OHpARqhV6CLLKpTs8yQYHxOCrDQO7AV1Gg2PBJhMYiGh4MMnx1eLkixXKsFuzSbZrrMpeGxHnqFFtvrTWCbhILd9AuNpnPMHXaTtZD0kl1mRdwSxXSjJsNZfONjcmqIJR5p3lp6Y+sXrAzsBz/lNXvmtZYMFKbqafi0pKQgKpOSPhmsC5BxXEs1Fz4fUr/7TWMe/q9bC2s3tJs1Df/Q/B5PwAZwJYS1WpPlo0zRZJZziL2gQU7I1GyHL7QSD26taVOytI26DpinxKypApvpk+C6dHlMnXskbUbT1yTpN3WJHWB327UCS3hUoc+tA/VyxP/ost5rGq7QWZnAdoe0eZgnYweDbgmgkoafgk8aTfNgsMNmmqfhC+Czj3V4T3mSBH255kxB0ztd4tNNDJkas2CUdkAKHQ3yAtxfijj/bdb7Cumyhmoyexzcs6Qwv2qUbPKvJDOtnNFklrF3R5qneA2XYHe/2A+ht1Xb3FZXRY1XTAjFTgtxJ45qKtWDpZK1g6dhIQuvBzjcy8FgQ6y8Nw+sCdnwL1Dn8jdMe6m2a+3ma9ESNUdOC1VixSH3bnPiYyraswnO0fqDIQkyW8WmCWab7b+I9TCF3+x0j2e+MPUA7LPGrVfD1F3VNsrPVR0zhS8BB5x21muzYa1Sy1Tb4y4d4qOwIi9Pk/wcj1gV50p5zQjJKAsJH8KcY4vpdYrjV0w9HMxxHjfKNpfwdMyRNuAmyy2M1vq5OegBNFMmR9lSHDizSLPMJGjuO2BZfSOtLKvpMylUvh/d/hFgAOH4+ibxGTZuAAAAAElFTkSuQmCC") no-repeat 50% 50%; -} - -.iziModal.iziModal-light.isFullscreen .iziModal-button-fullscreen { - background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyRUUxMkYxODRFODUxMUU2Qjc3RDk0MUUzMzJDRjBEOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0RTNFNENCRkI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0RTNFNENCRUI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjgzM2MwOWZiLWJjOTEtNGVlZS05MDM1LTRkMmU2ZmE1ZjBmMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyRUUxMkYxODRFODUxMUU2Qjc3RDk0MUUzMzJDRjBEOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv1Q9Z8AAAOXSURBVHjaxJlLbA1RGMfPjIs+EvoIRYt4FVUl2EkkRTxKUqQbG0SEho2FjUQ8YtEICbEgTdFYeK1KaGvVeoUltyStt0UlNE17aWhV2+v/9X5XJpMzc8/0zpn5kl+aO3Nm7r/fnPu9xhDp2URQDJbw3xkgB2QCAwyAPvANfARvQDsfG7V4PO7pC40xCiVxa8AKFjnOw7VdoA08BtG4R8VeBZeCKrBS+GPvQAM0P/NbcB7YBdYJPfYKXIXwL34IJm8eBFOFXusH9RDdnI7gLWA/MEVwdh/UOe1tN8G0V3eLcKwFXJCJNl08G5ZYsrWgWnZCJng5OOBwo1iAoisMw6hMJXgyOOywVW7xj+9BgKL3QHSxm+C9IF9y4U2GMlStRPQP8Jbp9lFwhJwE0RHrgaSV8N6xG238l7Zjtfx3K58/Bd7zsWngIqdnP2we2ACa7B7e6RL6joK5EtHNfL7b5u1Bn7dGFbycYRVM/8WyFJnuJK+z2iVwzFrMcF1h+Cx4ClhtFVyu8CW54ITE01EwFMAPcH1SMJWIqxQvItE1YHEIsXkhtkUhCV4ApiteFOPadn4IgseDMooSSxVrhWFwmkvCsKw06WGhKLhHhGuzSHChh9pZ5cc1oFFwfoTTsWrWqQCvXdZQEpkDsjUJziSv3Qu43k3LTA1BXqvRY/4DMjTd/yu4niJVm9wslCjcb4QE/9Qo+Al44baAmgpKCIqC+01OBLrsr8/de8zkiYwuUxWSq7iuM8JhantIqfYItkOepKBysnbycIfPXYKqURL6DhaBCQrrKcZHTa5loyEIJgHXwG3F9TQV+pxMGK0BiaTHn2OLEjcURbdi7XBSMO3jTxoEjtg+7wDnhG3spSD6F3hk7Tjoxnc0CJ5k+5wFCrhplYl2mmI24nyvvWumAE9z2zIfBW8WifnxIHc2yb6xiHtEoms0/hlGtpAPHCkgNDjFyZngPN88COvkPpEe+XGHbFcD7z53C+ybwKEAo0UPZ8QCybkmiL3sNvkheygSI08RYOSQiaUhd52sUpIZLWwJsYqkkdcZeHfIS66nc9XcZQRpNBY7C7F9Yy1OtonErDgSgNhGcEXmWa/VFA1O9onE6y4dRqGtXuVtkpf2iDy8EVR6GLykMnrsNFC867QF0hH8v3MVicFcuYdKy56uqQx4SukWQj3NOtJtQIt4ckSvbmdziMqy7HcS9xv0cn/Xwdn0A1drnl/d/hNgAGQa6Lgarp6BAAAAAElFTkSuQmCC") no-repeat 50% 50%; +.hub_button_integration-field > div { + display: inline; } -.iziModal .iziModal-loader { - background: #FFF url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCA0NCA0NCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHJva2U9IiM5OTkiPiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS13aWR0aD0iMiI+ICAgICAgICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxIj4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiAgICAgICAgICAgICAgICBiZWdpbj0iMHMiIGR1cj0iMS40cyIgICAgICAgICAgICAgICAgdmFsdWVzPSIxOyAyMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMTY1LCAwLjg0LCAwLjQ0LCAxIiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjEuNHMiICAgICAgICAgICAgICAgIHZhbHVlcz0iMTsgMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMywgMC42MSwgMC4zNTUsIDEiICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPiAgICAgICAgPC9jaXJjbGU+ICAgICAgICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxIj4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiAgICAgICAgICAgICAgICBiZWdpbj0iLTAuOXMiIGR1cj0iMS40cyIgICAgICAgICAgICAgICAgdmFsdWVzPSIxOyAyMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMTY1LCAwLjg0LCAwLjQ0LCAxIiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgICAgICAgICAgICAgICAgYmVnaW49Ii0wLjlzIiBkdXI9IjEuNHMiICAgICAgICAgICAgICAgIHZhbHVlcz0iMTsgMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMywgMC42MSwgMC4zNTUsIDEiICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPiAgICAgICAgPC9jaXJjbGU+ICAgIDwvZz48L3N2Zz4=) no-repeat 50% 50%; - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - z-index: 9; +.pagarme-hub-desintegration-btn { + margin-left: .6em; } -.iziModal .iziModal-content-loader { - background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCA0NCA0NCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHJva2U9IiM5OTkiPiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS13aWR0aD0iMiI+ICAgICAgICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxIj4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiAgICAgICAgICAgICAgICBiZWdpbj0iMHMiIGR1cj0iMS40cyIgICAgICAgICAgICAgICAgdmFsdWVzPSIxOyAyMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMTY1LCAwLjg0LCAwLjQ0LCAxIiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjEuNHMiICAgICAgICAgICAgICAgIHZhbHVlcz0iMTsgMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMywgMC42MSwgMC4zNTUsIDEiICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPiAgICAgICAgPC9jaXJjbGU+ICAgICAgICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxIj4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiAgICAgICAgICAgICAgICBiZWdpbj0iLTAuOXMiIGR1cj0iMS40cyIgICAgICAgICAgICAgICAgdmFsdWVzPSIxOyAyMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMTY1LCAwLjg0LCAwLjQ0LCAxIiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgICAgICAgICAgICAgICAgYmVnaW49Ii0wLjlzIiBkdXI9IjEuNHMiICAgICAgICAgICAgICAgIHZhbHVlcz0iMTsgMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMywgMC42MSwgMC4zNTUsIDEiICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPiAgICAgICAgPC9jaXJjbGU+ICAgIDwvZz48L3N2Zz4=) no-repeat 50% 50%; -} - -.iziModal .iziModal-content:before, -.iziModal .iziModal-content:after { - content: ""; - display: table; -} - -.iziModal .iziModal-content:after { - clear: both; -} - -.iziModal .iziModal-content { - zoom: 1; - width: 100%; - -webkit-overflow-scrolling: touch; - /*overflow-y: scroll;*/ -} - -.iziModal .iziModal-wrap { - width: 100%; - position: relative; - -webkit-overflow-scrolling: touch; - overflow-scrolling: touch; -} - -.iziModal .iziModal-iframe { - border: 0; - margin: 0 0 -6px 0; - width: 100%; - transition: height 0.3s ease; -} - -.iziModal-overlay { - display: block; - position: fixed; - top: 0; - left: 0; - height: 100%; - width: 100%; -} - -.iziModal-navigate { - position: fixed; - left: 0; - right: 0; - top: 0; - bottom: 0; - pointer-events: none; -} - -.iziModal-navigate-caption { - position: absolute; - left: 10px; - top: 10px; - color: white; - line-height: 16px; - font-size: 9px; - font-family: "Lato", Arial; - letter-spacing: 0.1em; - text-indent: 0; - text-align: center; - width: 70px; - padding: 5px 0; - text-transform: uppercase; - display: none; -} - -.iziModal-navigate-caption::before, .iziModal-navigate-caption::after { - position: absolute; - top: 2px; - width: 20px; - height: 20px; - text-align: center; - line-height: 14px; - font-size: 12px; - content: ""; - background-size: 100% !important; -} - -.iziModal-navigate-caption:before { - left: 0; - background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAoCAYAAACFFRgXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyNmFjNjAyMy04OWU0LWE0NDAtYmMxMy1kOTA5MTQ3MmYzYjAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDREQ0YwRjA1MzQzMTFFNkE5NUNDRDkyQzEwMzM5RTMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDREQ0YwRUY1MzQzMTFFNkE5NUNDRDkyQzEwMzM5RTMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmNmM0Nzk3Ni1mNzE3LTk5NDAtYTgyYS1mNTdjNmNiYmU0NWMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowZGVmYTEyZC01MzM0LTExZTYtYWRkYi04Y2NmYjI5ZTAxNjYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7oo0ptAAACWklEQVR42uyZTWsTYRSFZybxo4kWk5g2NC5qTAU3Kq30A9udi1oXolV/hWuhv6R/Q6utioi4LbbVFHemamlRU0OCEk0wZjwXzwtDoBDopHMHcuFJMplZnLm5ue+589qu61qeOApyYAjEgG0FEyLqN/gKiqBuTtgewWlwCZw056xgwwirgU3wxSv4NJgCUV5YBRXQDEhsBJwCSSauBVZFdJRlIJk9Av7wbj577jDIOENtRmPVwcsw6KfAAvikRKzEDlhnhuU/lRPBWaa9wsxqC6ndPX7OiOA4D8qW3vjO9z7H0w3+KhZstNmOFbLoCQ6DYGmL+bAInmGfLFC4asFXwRJIgB+goVmw+I7HXO+/gevGnGgUPEGxktkSmAMbWmt4HDwBKS6XN1jDKrvEFYoVK7oLroE3h93Woh1eNwqWafJ/gQV65vM+ail34mc6EZwBK2CAx8fAIjjeBYMzDT4cVHCEXtRbRvEu/Nr9HCIOnGGp15vgEec9KYn74B0nAT/CZnv86FcNvwK3wENwAjwAs2Bbs5d4CW5zir0AXvv8p+tKH34B5lkW4h2egRHtbu05uMMHHWfB0zC4NRF5l09kzvE4rd2tyUJyjy4tz7akZqXbL8QETbJ/FsMgWOJtb6brCQ5YsBsC8Uab63DVkkgqFpzie93h8OhScFah2LTHi5ccWroaLd5l6//+hpYQoWP05LKqFs2WQYbTsNxAi+5fxpWmdfh7HS7XhwSzG+H3a2JnvZsyktmLbdOFhpDMvrf4sN1u2/aK0cwMcmYLcturweceW+CnOfFPgAEA8uWFFylBJYoAAAAASUVORK5CYII=") no-repeat 50% 50%; -} - -.iziModal-navigate-caption:after { - right: 0; - background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAoCAYAAACFFRgXAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADhmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzIgNzkuMTU5Mjg0LCAyMDE2LzA0LzE5LTEzOjEzOjQwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjI2YWM2MDIzLTg5ZTQtYTQ0MC1iYzEzLWQ5MDkxNDcyZjNiMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0NERDRjBGMDUzNDMxMUU2QTk1Q0NEOTJDMTAzMzlFMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0NERDRjBFRjUzNDMxMUU2QTk1Q0NEOTJDMTAzMzlFMyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNS41IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOmY2YzQ3OTc2LWY3MTctOTk0MC1hODJhLWY1N2M2Y2JiZTQ1YyIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjBkZWZhMTJkLTUzMzQtMTFlNi1hZGRiLThjY2ZiMjllMDE2NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuijSm0AAAKbSURBVFhH7ZnJj0xRGEerzFoIMTaCZmOIedhaiJj55yz8DaYdNhIJEUMQbCTG3rQ02hDSiEY553XdTpHS3nv96taV9ElO6lVt6peb7933fffVG41GrYW5uBaX4EysYzcw1Fd8hc/wM2a0Bl6Nm3BW9i0dDPsQX/olBF6FO72AH/gG3+N3jL3KBpqGC3ERTsGfeAsHDTyHi71oCXzBe/gaU2A5bscZOIxXTb8OLQNX9i6mElYsg/voqruwfQb2BhODWgqpMYDv0NLsNXC4yd42P1PEwNJj4HBTWdipErLVDfxfMRm408QMvBu3jV6WJ1Zg9/rbeBOP+UNZYgX+iE/Rp+lpPIKliBXYB9IhtPNy3z/T/F6YmDXsChvyBc7Gs3gACxEzsDzBg9iPPXgO92NuYgeWx2h3+AhtaM7jPsyF7aV37XR8gNZYO/pwKY51+xPkG27Fk2joT3gCr2A7NuJ6HMkTeAPadlp3VeMChF7G0P6X3dmfjAXOUxIj6LZkv1ylNuStDZejkL+PS96ScFzRqnDAtI5PoTefvbg7iNNOOwqVRCfYghdxBbpHH8Y7+DcKlUTV7MLLaNghPIrjhf2N2IF34AVcjE44hrXHyE3MwE6/loEzpEcIlqKjeyFiBe7FS+he/gENewMLEyuwXdo8dGWP43UsRazA9g7uDNbwNX8oS8watlsz+ISIGbgSJgN3GgOHlnFq8zNFQraGgT1iFc9iUyU0XsMGHhy9zh6XbvCp4ZuBBWglDBj4OdqLeu0+uRJTwMZ+Dbp/e21P3m97yWe2snsw1LTHmz5C/9lQdwhfGbiq89GwvrrwUT4UAouhN6MzloTRpVuEYI5O9urZYXtrYPGQw2OlZegM163QhrJMfWVgyTq0Qq32C/N7uPz9OknWAAAAAElFTkSuQmCC") no-repeat 50% 50%; -} - -.iziModal-navigate > button { - position: fixed; - bottom: 0; - top: 0; - border: 0; - height: 100%; - width: 84px; - background-size: 100% !important; - cursor: pointer; - padding: 0; - opacity: 0.2; - transition: opacity 0.3s ease; - pointer-events: all; - margin: 0; - outline: none; -} - -.iziModal-navigate > button:hover { - opacity: 1; -} - -.iziModal-navigate-prev { - left: 50%; - background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALwAAAC8CAYAAADCScSrAAAACXBIWXMAAAsTAAALEwEAmpwYAAA5sGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzIgNzkuMTU5Mjg0LCAyMDE2LzA0LzE5LTEzOjEzOjQwICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDo2NDkyYzcxMy05ZDM0LTZlNGQtYmUwNi1hMDMyY2Q4NDVjNGU8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDo1QjIzMUMxODU3RjcxMUU2ODUzRkRBRjE5RDhDQjZBRDwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDpjZmMwNzVmNC1kODA3LWI0NDMtYWIwYS02YWVhZjRjMDgxZWE8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpEZXJpdmVkRnJvbSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgIDxzdFJlZjppbnN0YW5jZUlEPnhtcC5paWQ6NjQ5MmM3MTMtOWQzNC02ZTRkLWJlMDYtYTAzMmNkODQ1YzRlPC9zdFJlZjppbnN0YW5jZUlEPgogICAgICAgICAgICA8c3RSZWY6ZG9jdW1lbnRJRD54bXAuZGlkOjY0OTJjNzEzLTlkMzQtNmU0ZC1iZTA2LWEwMzJjZDg0NWM0ZTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmNmYzA3NWY0LWQ4MDctYjQ0My1hYjBhLTZhZWFmNGMwODFlYTwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNi0wOC0wMVQxMTo1ODowNC0wMzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNS41IChXaW5kb3dzKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAxNi0wOC0wMVQwOTo0MDo1Ni0wMzowMDwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE2LTA4LTAxVDExOjU4OjA0LTAzOjAwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNi0wOC0wMVQxMTo1ODowNC0wMzowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+NjU1MzU8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjE4ODwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4xODg8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PvAvv7QAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAmdJREFUeNrs1LsJQkEQhtH/mtmBgQ8QA7tQK1e7MBBBMbADwzUZEyuQveeDCXbD4TBDay3SWJpYgYCXgJeAl4CXgJeAl4CXgJeAl4CXgJeAF/AS8BLwEvAS8BLwEvAS8BLwEvAS8BLwAl4CXgJeAl4CXv/WJskpyQJ4jQH7Mcmu0C+BV+/Y5/VeF/oV8Ood+7dpDfDqHvsrySHJBXjBDrxgB16wAy/YgRfswAt24AU78IIdeMEOPOywAw+7gIcdeMEOvGAHXrADL9iBF+zAC3bgBTvwsMMOPOwCHnYBD7uAhx14wQ68YAdesAMv2IEX7MDDDjvwsAt42AU87AIedgEPu4CHXcDDDrxgB16wAw877MDDDjvwsAt42AU87AIedgEPu4CHXcDDLuBhB16wAw877MDDLuBhF/CwC3jYBTzsAh52AQ+7gIddwEtjB3+tS/78+Z/V5d9iATz0Ah56AQ+9gIdewEMv4KEX8NALeOgFPPQCHnoBDz3wgh54QQ889NADDz30wEMv4KEX8NALeOgFPPQCHnoBD72Ahx54QQ+8oAde0AMv6IEX9MBDDz3w0EMPPPQCHnoBD72Ah17AQw+8FUAPvKAHXtADL+iBF/TAC3rgBT3wgh546KEHHnrogYdewEMv4KEHXtADL+iBF/TAC3rgBT3wgh54QQ+8oAde0AMv6IGHHnrgoU/yrgFe3aO/JdknuQOv3tGfC/tjjEsYWmsoyIWXgJeAl4CXgJeAl4CXgJeAl4CXgJeAF/AS8BLwEvAS8BLwEvAS8BLwEvAS8BLwAl4CXgJeAl4CXvqnPgAAAP//AwCEcoCBRabYzAAAAABJRU5ErkJggg==") no-repeat 50% 50%; -} - -.iziModal-navigate-next { - right: 50%; - background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALwAAAC8CAYAAADCScSrAAAACXBIWXMAAB3SAAAd0gEUasEwAAA7pGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzIgNzkuMTU5Mjg0LCAyMDE2LzA0LzE5LTEzOjEzOjQwICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNS41IChXaW5kb3dzKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAxNi0wOC0wMVQwOTo0MDoxNC0wMzowMDwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE2LTA4LTAxVDExOjU4OjEyLTAzOjAwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNi0wOC0wMVQxMTo1ODoxMi0wMzowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDphZjljN2Q2MC00MTg2LWE3NGQtYTBiMS1mMGU5ODUwYzg2ZGY8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpEb2N1bWVudElEPnhtcC5kaWQ6NjQ5MmM3MTMtOWQzNC02ZTRkLWJlMDYtYTAzMmNkODQ1YzRlPC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6NjQ5MmM3MTMtOWQzNC02ZTRkLWJlMDYtYTAzMmNkODQ1YzRlPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjY0OTJjNzEzLTlkMzQtNmU0ZC1iZTA2LWEwMzJjZDg0NWM0ZTwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNi0wOC0wMVQwOTo0MDoxNC0wMzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjAxNjJjMmE3LWZmMjYtYzE0ZC05Yjg4LTc2MGM2NzAxYjYzNzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNi0wOC0wMVQxMTo1MTowNy0wMzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmFmOWM3ZDYwLTQxODYtYTc0ZC1hMGIxLWYwZTk4NTBjODZkZjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNi0wOC0wMVQxMTo1ODoxMi0wMzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+MTkzOTAzNi8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+MTkzOTAzNi8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MTg4PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjE4ODwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+nbt1mgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACQklEQVR42uzSsQ3CQAAEQTdiOyGg/wrciJ0QUMYSECEKAP3PSdvAaZZqkWbJCQJeAl4CXgJeAl4CXgJeAl4CXgJeAl4CXsBLwEvAS8BLwEvAS8BLwEvAS8BLwEvAC3gJeAl4CXgJ+D9vrY7qBgLwo7dVZ+89oAd+5Pbq6nPQAz9s9+rZ96AHHnoBD72Ah17AQy/goRfw0At46AU89AIeegEPvYCHHnhBD7ygBx566IGHHnrgoRfw0At46AU89AIeegEPvYCHXsBDL+ChB17QAy/ogRf0wAt64KGHHnjooQceegEPvYCHXsBDL+ChF/DQAy/ogRf0wAt64AU98IIeeEEPvKAHXtADDz30wEPvI+ChF/DQAy/ogRf0wAt64AU98IIeeEEPvKAHXtADL+iBF/TAC3rgoZ8ePRDAAy/YgRfswAt24AU78IIdeMEOvGAHXrADL9iBhx124GEX8LADL9iBF+zAC3bgBTvwgh14wQ68YAcedtiBh13Awy7gYRfwsAMv2IEX7MALduAFO/CCHXjYYQcedgEPu4CHXcDDLuBhF/CwA+8E2IEX7MALduAFO/Cwww487AIedgEPu4CHXcDDLuBhF/CwC3jYgRfswMMOO/CwC3jYBTzsAh52AQ+7gIddwMMu4GEX8LBravB7dcEO/Ext1Qk78DO1VgfswEvAS8BLwEvAS8BLwEvAS8BLwEvAS8ALeAl4CXgJeAl4CXgJeAl4CXgJeAl4CXgBLwEvAS8BLwEvAS/9shcAAAD//wMAtAygvJrkwJUAAAAASUVORK5CYII=") no-repeat 50% 50%; -} - -.iziModal.isAttachedTop .iziModal-header { - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -.iziModal.isAttachedTop { - margin-top: 0 !important; - margin-bottom: auto !important; - border-top-left-radius: 0 !important; - border-top-right-radius: 0 !important; -} - -.iziModal.isAttachedBottom { - margin-top: auto !important; - margin-bottom: 0 !important; - border-bottom-left-radius: 0 !important; - border-bottom-right-radius: 0 !important; -} - -.iziModal.isFullscreen { - max-width: 100% !important; - margin: 0 !important; - height: 100% !important; - border-radius: 0 !important; -} - -.iziModal.isAttached { - border-radius: 0 !important; -} - -.iziModal.hasScroll .iziModal-wrap { - overflow-y: auto; - overflow-x: hidden; -} - -html.iziModal-isOverflow { - overflow: hidden; -} - -html.iziModal-isOverflow body, html.iziModal-isAttached body { - overflow-y: scroll; - position: relative; -} - -html.iziModal-isAttached { - overflow: hidden; -} - -/* SCROLL */ -.iziModal ::-webkit-scrollbar { - overflow: visible; - height: 7px; - width: 7px; -} - -.iziModal ::-webkit-scrollbar-thumb { - background-color: rgba(0, 0, 0, 0.2); - background-clip: padding-box; - border: solid transparent; - border-width: 0px; - min-height: 28px; - padding: 100px 0 0; - box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.1), inset 0 -1px 0 rgba(0, 0, 0, 0.07); -} - -.iziModal ::-webkit-scrollbar-thumb:active { - background-color: rgba(0, 0, 0, 0.4); -} - -.iziModal ::-webkit-scrollbar-button { - height: 0; - width: 0; -} - -.iziModal ::-webkit-scrollbar-track { - background-clip: padding-box; - border: solid transparent; - border-width: 0 0 0 2px; -} - -/* MODAL ANIMATIONS */ -.iziModal.transitionIn .iziModal-header { - -webkit-animation: iziM-slideDown 0.7s cubic-bezier(0.7, 0, 0.3, 1); - -moz-animation: iziM-slideDown 0.7s cubic-bezier(0.7, 0, 0.3, 1); - animation: iziM-slideDown 0.7s cubic-bezier(0.7, 0, 0.3, 1); -} - -.iziModal.transitionIn .iziModal-header .iziModal-header-icon { - -webkit-animation: iziM-revealIn 1s cubic-bezier(0.16, 0.81, 0.32, 1) both; - -moz-animation: iziM-revealIn 1s cubic-bezier(0.16, 0.81, 0.32, 1) both; - animation: iziM-revealIn 1s cubic-bezier(0.16, 0.81, 0.32, 1) both; -} - -.iziModal.transitionIn .iziModal-header .iziModal-header-title, .iziModal.transitionIn .iziModal-header .iziModal-header-subtitle { - -webkit-animation: iziM-slideIn 1s cubic-bezier(0.16, 0.81, 0.32, 1) both; - -moz-animation: iziM-slideIn 1s cubic-bezier(0.16, 0.81, 0.32, 1) both; - animation: iziM-slideIn 1s cubic-bezier(0.16, 0.81, 0.32, 1) both; -} - -.iziModal.transitionIn .iziModal-header .iziModal-button { - -webkit-animation: iziM-revealIn 1.2s cubic-bezier(0.7, 0, 0.3, 1); - -moz-animation: iziM-revealIn 1.2s cubic-bezier(0.7, 0, 0.3, 1); - animation: iziM-revealIn 1.2s cubic-bezier(0.7, 0, 0.3, 1); -} - -.iziModal.transitionIn .iziModal-iframe, .iziModal.transitionIn .iziModal-wrap { - -webkit-animation: iziM-fadeIn 1.3s; - -moz-animation: iziM-fadeIn 1.3s; - animation: iziM-fadeIn 1.3s; -} - -.iziModal.transitionIn .iziModal-header { - -webkit-animation-delay: 0s; - -moz-animation: 0s; - animation-delay: 0s; -} - -.iziModal.transitionIn .iziModal-header .iziModal-header-icon, -.iziModal.transitionIn .iziModal-header .iziModal-header-title { - -webkit-animation-delay: 0.4s; - -moz-animation: 0.4s; - animation-delay: 0.4s; -} - -.iziModal.transitionIn .iziModal-header .iziModal-header-subtitle { - -webkit-animation-delay: 0.5s; - -moz-animation: 0.5s; - animation-delay: 0.5s; -} - -.iziModal.transitionOut .iziModal-header, .iziModal.transitionOut .iziModal-header * { - transition: none !important; -} - -/* ANIMATIONS */ -.iziModal.fadeOut, .iziModal-overlay.fadeOut, .iziModal-navigate.fadeOut, .iziModal .fadeOut { - -webkit-animation: iziM-fadeOut 0.5s; - -moz-animation: iziM-fadeOut 0.5s; - animation: iziM-fadeOut 0.5s; - animation-fill-mode: forwards; -} - -.iziModal.fadeIn, .iziModal-overlay.fadeIn, .iziModal-navigate.fadeIn, .iziModal .fadeIn { - -webkit-animation: iziM-fadeIn 0.5s; - -moz-animation: iziM-fadeIn 0.5s; - animation: iziM-fadeIn 0.5s; -} - -.iziModal.comingIn, .iziModal-overlay.comingIn { - -webkit-animation: iziM-comingIn 0.5s ease; - -moz-animation: iziM-comingIn 0.5s ease; - animation: iziM-comingIn 0.5s ease; -} - -.iziModal.comingOut, .iziModal-overlay.comingOut { - -webkit-animation: iziM-comingOut 0.5s cubic-bezier(0.16, 0.81, 0.32, 1); - -moz-animation: iziM-comingOut 0.5s cubic-bezier(0.16, 0.81, 0.32, 1); - animation: iziM-comingOut 0.5s cubic-bezier(0.16, 0.81, 0.32, 1); - animation-fill-mode: forwards; -} - -.iziModal.bounceInDown, .iziModal-overlay.bounceInDown { - -webkit-animation: iziM-bounceInDown 0.7s ease; - animation: iziM-bounceInDown 0.7s ease; -} - -.iziModal.bounceOutDown, .iziModal-overlay.bounceOutDown { - -webkit-animation: iziM-bounceOutDown 0.7s ease; - animation: iziM-bounceOutDown 0.7s ease; -} - -.iziModal.bounceInUp, .iziModal-overlay.bounceInUp { - -webkit-animation: iziM-bounceInUp 0.7s ease; - animation: iziM-bounceInUp 0.7s ease; -} - -.iziModal.bounceOutUp, .iziModal-overlay.bounceOutUp { - -webkit-animation: iziM-bounceOutUp 0.7s ease; - animation: iziM-bounceOutUp 0.7s ease; -} - -.iziModal.fadeInDown, .iziModal-overlay.fadeInDown { - -webkit-animation: iziM-fadeInDown 0.7s cubic-bezier(0.16, 0.81, 0.32, 1); - animation: iziM-fadeInDown 0.7s cubic-bezier(0.16, 0.81, 0.32, 1); -} - -.iziModal.fadeOutDown, .iziModal-overlay.fadeOutDown { - -webkit-animation: iziM-fadeOutDown 0.5s ease; - animation: iziM-fadeOutDown 0.5s ease; -} - -.iziModal.fadeInUp, .iziModal-overlay.fadeInUp { - -webkit-animation: iziM-fadeInUp 0.7s cubic-bezier(0.16, 0.81, 0.32, 1); - animation: iziM-fadeInUp 0.7s cubic-bezier(0.16, 0.81, 0.32, 1); -} - -.iziModal.fadeOutUp, .iziModal-overlay.fadeOutUp { - -webkit-animation: iziM-fadeOutUp 0.5s ease; - animation: iziM-fadeOutUp 0.5s ease; -} - -.iziModal.fadeInLeft, .iziModal-overlay.fadeInLeft { - -webkit-animation: iziM-fadeInLeft 0.7s cubic-bezier(0.16, 0.81, 0.32, 1); - animation: iziM-fadeInLeft 0.7s cubic-bezier(0.16, 0.81, 0.32, 1); -} - -.iziModal.fadeOutLeft, .iziModal-overlay.fadeOutLeft { - -webkit-animation: iziM-fadeOutLeft 0.5s ease; - animation: iziM-fadeOutLeft 0.5s ease; -} - -.iziModal.fadeInRight, .iziModal-overlay.fadeInRight { - -webkit-animation: iziM-fadeInRight 0.7s cubic-bezier(0.16, 0.81, 0.32, 1); - animation: iziM-fadeInRight 0.7s cubic-bezier(0.16, 0.81, 0.32, 1); -} - -.iziModal.fadeOutRight, .iziModal-overlay.fadeOutRight { - -webkit-animation: iziM-fadeOutRight 0.5s ease; - animation: iziM-fadeOutRight 0.5s ease; -} - -.iziModal.flipInX, .iziModal-overlay.flipInX { - -webkit-animation: iziM-flipInX 0.7s ease; - animation: iziM-flipInX 0.7s ease; -} - -.iziModal.flipOutX, .iziModal-overlay.flipOutX { - -webkit-animation: iziM-flipOutX 0.7s ease; - animation: iziM-flipOutX 0.7s ease; -} - -@-webkit-keyframes iziM-comingIn { - 0% { - opacity: 0; - transform: scale(0.9) translateY(-20px) perspective(600px) rotateX(10deg); - } - 100% { - opacity: 1; - transform: scale(1) translateY(0) perspective(600px) rotateX(0); - } -} -@-moz-keyframes iziM-comingIn { - 0% { - opacity: 0; - transform: scale(0.9) translateY(-20px) perspective(600px) rotateX(10deg); - } - 100% { - opacity: 1; - transform: scale(1) translateY(0) perspective(600px) rotateX(0); - } -} -@keyframes iziM-comingIn { - 0% { - opacity: 0; - /*transform: translateY(-20px) perspective( 600px ) rotateX( 10deg );*/ - transform: scale(0.9) translateY(-20px) perspective(600px) rotateX(10deg); - } - 100% { - opacity: 1; - /*transform: scale(1) translateY(0) perspective( 600px ) rotateX( 0 ); */ - transform: scale(1) translateY(0) perspective(600px) rotateX(0); - } -} -@-webkit-keyframes iziM-comingOut { - 0% { - opacity: 1; - transform: scale(1); - } - 100% { - opacity: 0; - transform: scale(0.9); - } -} -@-moz-keyframes iziM-comingOut { - 0% { - opacity: 1; - transform: scale(1); - } - 100% { - opacity: 0; - transform: scale(0.9); - } -} -@keyframes iziM-comingOut { - 0% { - opacity: 1; - transform: scale(1); - } - 100% { - opacity: 0; - transform: scale(0.9); - } -} -@-webkit-keyframes iziM-fadeOut { - 0% { - opacity: 1; - } - 100% { - opacity: 0; - } -} -@-moz-keyframes iziM-fadeOut { - 0% { - opacity: 1; - } - 100% { - opacity: 0; - } -} -@keyframes iziM-fadeOut { - 0% { - opacity: 1; - } - 100% { - opacity: 0; - } -} -@-webkit-keyframes iziM-fadeIn { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -@-moz-keyframes iziM-fadeIn { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -@keyframes iziM-fadeIn { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -@-webkit-keyframes iziM-slideIn { - 0% { - opacity: 0; - -webkit-transform: translateX(50px); - } - 100% { - opacity: 1; - -webkit-transform: translateX(0); - } -} -@-moz-keyframes iziM-slideIn { - 0% { - opacity: 0; - -moz-transform: translateX(50px); - } - 100% { - opacity: 1; - -moz-transform: translateX(0); - } -} -@keyframes iziM-slideIn { - 0% { - opacity: 0; - transform: translateX(50px); - } - 100% { - opacity: 1; - transform: translateX(0); - } -} -@-webkit-keyframes iziM-slideDown { - 0% { - opacity: 0; - -webkit-transform: scale(1, 0) translateY(-40px); - -webkit-transform-origin: center top; - } -} -@-moz-keyframes iziM-slideDown { - 0% { - opacity: 0; - -moz-transform: scale(1, 0) translateY(-40px); - -moz-transform-origin: center top; - } -} -@keyframes iziM-slideDown { - 0% { - opacity: 0; - transform: scale(1, 0) translateY(-40px); - transform-origin: center top; - } -} -@-webkit-keyframes iziM-revealIn { - 0% { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 1); - } -} -@-moz-keyframes iziM-revealIn { - 0% { - opacity: 0; - -moz-transform: scale3d(0.3, 0.3, 1); - } -} -@keyframes iziM-revealIn { - 0% { - opacity: 0; - transform: scale3d(0.3, 0.3, 1); - } -} -@-webkit-keyframes iziM-bounceInDown { - from, 60%, 75%, 90%, to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -1000px, 0); - transform: translate3d(0, -1000px, 0); - } - 60% { - opacity: 1; - -webkit-transform: translate3d(0, 25px, 0); - transform: translate3d(0, 25px, 0); - } - 75% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - 90% { - -webkit-transform: translate3d(0, 5px, 0); - transform: translate3d(0, 5px, 0); - } - to { - -webkit-transform: none; - transform: none; - } -} -@keyframes iziM-bounceInDown { - from, 60%, 75%, 90%, to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -1000px, 0); - transform: translate3d(0, -1000px, 0); - } - 60% { - opacity: 1; - -webkit-transform: translate3d(0, 25px, 0); - transform: translate3d(0, 25px, 0); - } - 75% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - 90% { - -webkit-transform: translate3d(0, 5px, 0); - transform: translate3d(0, 5px, 0); - } - to { - -webkit-transform: none; - transform: none; - } -} -@-webkit-keyframes iziM-bounceOutDown { - 20% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - to { - opacity: 0; - -webkit-transform: translate3d(0, 1000px, 0); - transform: translate3d(0, 1000px, 0); - } -} -@keyframes iziM-bounceOutDown { - 20% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - to { - opacity: 0; - -webkit-transform: translate3d(0, 1000px, 0); - transform: translate3d(0, 1000px, 0); - } -} -@-webkit-keyframes iziM-bounceInUp { - from, 60%, 75%, 90%, to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - from { - opacity: 0; - -webkit-transform: translate3d(0, 1000px, 0); - transform: translate3d(0, 1000px, 0); - } - 60% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - 75% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - 90% { - -webkit-transform: translate3d(0, -5px, 0); - transform: translate3d(0, -5px, 0); - } - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} -@keyframes iziM-bounceInUp { - from, 60%, 75%, 90%, to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - from { - opacity: 0; - -webkit-transform: translate3d(0, 1000px, 0); - transform: translate3d(0, 1000px, 0); - } - 60% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - 75% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - 90% { - -webkit-transform: translate3d(0, -5px, 0); - transform: translate3d(0, -5px, 0); - } - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} -@-webkit-keyframes iziM-bounceOutUp { - 20% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, 20px, 0); - transform: translate3d(0, 20px, 0); - } - to { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } -} -@keyframes iziM-bounceOutUp { - 20% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, 20px, 0); - transform: translate3d(0, 20px, 0); - } - to { - opacity: 0; - -webkit-transform: translate3d(0, -1000px, 0); - transform: translate3d(0, -1000px, 0); - } -} -@-webkit-keyframes iziM-fadeInDown { - from { - opacity: 0; - -webkit-transform: translate3d(0, -100px, 0); - transform: translate3d(0, -100px, 0); - } - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} -@keyframes iziM-fadeInDown { - from { - opacity: 0; - -webkit-transform: translate3d(0, -100px, 0); - transform: translate3d(0, -100px, 0); - } - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} -@-webkit-keyframes iziM-fadeOutDown { - from { - opacity: 1; - } - to { - opacity: 0; - -webkit-transform: translate3d(0, 100px, 0); - transform: translate3d(0, 100px, 0); - } -} -@keyframes iziM-fadeOutDown { - from { - opacity: 1; - } - to { - opacity: 0; - -webkit-transform: translate3d(0, 100px, 0); - transform: translate3d(0, 100px, 0); - } -} -@-webkit-keyframes iziM-fadeInUp { - from { - opacity: 0; - -webkit-transform: translate3d(0, 100px, 0); - transform: translate3d(0, 100px, 0); - } - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} -@keyframes iziM-fadeInUp { - from { - opacity: 0; - -webkit-transform: translate3d(0, 100px, 0); - transform: translate3d(0, 100px, 0); - } - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} -@-webkit-keyframes iziM-fadeOutUp { - from { - opacity: 1; - } - to { - opacity: 0; - -webkit-transform: translate3d(0, -100px, 0); - transform: translate3d(0, -100px, 0); - } -} -@keyframes iziM-fadeOutUp { - from { - opacity: 1; - } - to { - opacity: 0; - -webkit-transform: translate3d(0, -100px, 0); - transform: translate3d(0, -100px, 0); - } -} -@-webkit-keyframes iziM-fadeInLeft { - from { - opacity: 0; - -webkit-transform: translate3d(-200px, 0, 0); - transform: translate3d(-200px, 0, 0); - } - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} -@keyframes iziM-fadeInLeft { - from { - opacity: 0; - -webkit-transform: translate3d(-200px, 0, 0); - transform: translate3d(-200px, 0, 0); - } - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} -@-webkit-keyframes iziM-fadeOutLeft { - from { - opacity: 1; - } - to { - opacity: 0; - -webkit-transform: translate3d(-200px, 0, 0); - transform: translate3d(-200px, 0, 0); - } -} -@keyframes iziM-fadeOutLeft { - from { - opacity: 1; - } - to { - opacity: 0; - -webkit-transform: translate3d(-200px, 0, 0); - transform: translate3d(-200px, 0, 0); - } -} -@-webkit-keyframes iziM-fadeInRight { - from { - opacity: 0; - -webkit-transform: translate3d(200px, 0, 0); - transform: translate3d(200px, 0, 0); - } - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} -@keyframes iziM-fadeInRight { - from { - opacity: 0; - -webkit-transform: translate3d(200px, 0, 0); - transform: translate3d(200px, 0, 0); - } - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} -@-webkit-keyframes iziM-fadeOutRight { - from { - opacity: 1; - } - to { - opacity: 0; - -webkit-transform: translate3d(200px, 0, 0); - transform: translate3d(200px, 0, 0); - } -} -@keyframes iziM-fadeOutRight { - from { - opacity: 1; - } - to { - opacity: 0; - -webkit-transform: translate3d(200px, 0, 0); - transform: translate3d(200px, 0, 0); - } -} -@-webkit-keyframes iziM-flipInX { - 0% { - -webkit-transform: perspective(400px) rotateX(60deg); - opacity: 0; - } - 40% { - -webkit-transform: perspective(400px) rotateX(-10deg); - } - 70% { - -webkit-transform: perspective(400px) rotateX(10deg); - } - 100% { - -webkit-transform: perspective(400px) rotateX(0deg); - opacity: 1; - } -} -@keyframes iziM-flipInX { - 0% { - transform: perspective(400px) rotateX(60deg); - opacity: 0; - } - 40% { - transform: perspective(400px) rotateX(-10deg); - } - 70% { - transform: perspective(400px) rotateX(10deg); - } - 100% { - transform: perspective(400px) rotateX(0deg); - opacity: 1; - } -} -@-webkit-keyframes iziM-flipOutX { - from { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - 30% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - opacity: 1; - } - to { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 40deg); - transform: perspective(400px) rotate3d(1, 0, 0, 40deg); - opacity: 0; - } -} -@keyframes iziM-flipOutX { - from { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - 30% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - opacity: 1; - } - to { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 40deg); - transform: perspective(400px) rotate3d(1, 0, 0, 40deg); - opacity: 0; - } -} -body swal2-shown { - overflow-y: hidden; -} -body .swal2-iosfix { - position: fixed; - left: 0; - right: 0; -} -body .swal2-container { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - position: fixed; - top: 0; - left: 0; - bottom: 0; - right: 0; - padding: 10px; - background-color: transparent; - z-index: 1060; -} -body .swal2-container.swal2-fade { - -webkit-transition: background-color 0.1s; - transition: background-color 0.1s; -} -body .swal2-container.swal2-shown { - background-color: rgba(0, 0, 0, 0.4); -} -body .swal2-modal { - background-color: #fff; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - border-radius: 5px; - box-sizing: border-box; - text-align: center; - margin: auto; - overflow-x: hidden; - overflow-y: auto; - display: none; - position: relative; - max-width: 100%; -} -body .swal2-modal:focus { - outline: none; -} -body .swal2-modal.swal2-loading { - overflow-y: hidden; -} -body .swal2-modal .swal2-title { - color: #595959; - font-size: 30px; - text-align: center; - font-weight: 600; - text-transform: none; - position: relative; - margin: 0 0 0.4em; - padding: 0; - display: block; - word-wrap: break-word; -} -body .swal2-modal .swal2-buttonswrapper { - margin-top: 15px; -} -body .swal2-modal .swal2-buttonswrapper:not(.swal2-loading) .swal2-styled[disabled] { - opacity: 0.4; - cursor: no-drop; -} -body .swal2-modal .swal2-buttonswrapper.swal2-loading .swal2-styled.swal2-confirm { - box-sizing: border-box; - border: 4px solid transparent; - border-color: transparent; - width: 40px; - height: 40px; - padding: 0; - margin: 7.5px; - vertical-align: top; - background-color: transparent !important; - color: transparent; - cursor: default; - border-radius: 100%; - -webkit-animation: rotate-loading 1.5s linear 0s infinite normal; - animation: rotate-loading 1.5s linear 0s infinite normal; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -body .swal2-modal .swal2-buttonswrapper.swal2-loading .swal2-styled.swal2-cancel { - margin-left: 30px; - margin-right: 30px; -} -body .swal2-modal .swal2-buttonswrapper.swal2-loading :not(.swal2-styled).swal2-confirm::after { - display: inline-block; - content: ""; - margin-left: 5px 0 15px; - vertical-align: -1px; - height: 15px; - width: 15px; - border: 3px solid #999999; - box-shadow: 1px 1px 1px #fff; - border-right-color: transparent; - border-radius: 50%; - -webkit-animation: rotate-loading 1.5s linear 0s infinite normal; - animation: rotate-loading 1.5s linear 0s infinite normal; -} -body .swal2-modal .swal2-styled { - border: 0; - border-radius: 3px; - box-shadow: none; - color: #fff; - cursor: pointer; - font-size: 17px; - font-weight: 500; - margin: 15px 5px 0; - padding: 10px 32px; -} -body .swal2-modal .swal2-image { - margin: 20px auto; - max-width: 100%; -} -body .swal2-modal .swal2-close { - background: transparent; - border: 0; - margin: 0; - padding: 0; - width: 38px; - height: 40px; - font-size: 36px; - line-height: 40px; - font-family: serif; - position: absolute; - top: 5px; - right: 8px; - cursor: pointer; - color: #cccccc; - -webkit-transition: color 0.1s ease; - transition: color 0.1s ease; -} -body .swal2-modal .swal2-close:hover { - color: #d55; -} -body .swal2-modal > .swal2-input, -body .swal2-modal > .swal2-file, -body .swal2-modal > .swal2-textarea, -body .swal2-modal > .swal2-select, -body .swal2-modal > .swal2-radio, -body .swal2-modal > .swal2-checkbox { - display: none; -} -body .swal2-modal .swal2-content { - font-size: 18px; - text-align: center; - font-weight: 300; - position: relative; - float: none; - margin: 0; - padding: 0; - line-height: normal; - color: #545454; - word-wrap: break-word; -} -body .swal2-modal .swal2-input, -body .swal2-modal .swal2-file, -body .swal2-modal .swal2-textarea, -body .swal2-modal .swal2-select, -body .swal2-modal .swal2-radio, -body .swal2-modal .swal2-checkbox { - margin: 20px auto; -} -body .swal2-modal .swal2-input, -body .swal2-modal .swal2-file, -body .swal2-modal .swal2-textarea { - width: 100%; - box-sizing: border-box; - font-size: 18px; - border-radius: 3px; - border: 1px solid #d9d9d9; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06); - -webkit-transition: border-color box-shadow 0.3s; - transition: border-color box-shadow 0.3s; -} -body .swal2-modal .swal2-input.swal2-inputerror, -body .swal2-modal .swal2-file.swal2-inputerror, -body .swal2-modal .swal2-textarea.swal2-inputerror { - border-color: #f27474 !important; - box-shadow: 0 0 2px #f27474 !important; -} -body .swal2-modal .swal2-input:focus, -body .swal2-modal .swal2-file:focus, -body .swal2-modal .swal2-textarea:focus { - outline: none; - border: 1px solid #b4dbed; - box-shadow: 0 0 3px #c4e6f5; -} -body .swal2-modal .swal2-input:focus::-webkit-input-placeholder, -body .swal2-modal .swal2-file:focus::-webkit-input-placeholder, -body .swal2-modal .swal2-textarea:focus::-webkit-input-placeholder { - -webkit-transition: opacity 0.3s 0.03s ease; - transition: opacity 0.3s 0.03s ease; - opacity: 0.8; -} -body .swal2-modal .swal2-input:focus:-ms-input-placeholder, -body .swal2-modal .swal2-file:focus:-ms-input-placeholder, -body .swal2-modal .swal2-textarea:focus:-ms-input-placeholder { - -webkit-transition: opacity 0.3s 0.03s ease; - transition: opacity 0.3s 0.03s ease; - opacity: 0.8; -} -body .swal2-modal .swal2-input:focus::placeholder, -body .swal2-modal .swal2-file:focus::placeholder, -body .swal2-modal .swal2-textarea:focus::placeholder { - -webkit-transition: opacity 0.3s 0.03s ease; - transition: opacity 0.3s 0.03s ease; - opacity: 0.8; -} -body .swal2-modal .swal2-input::-webkit-input-placeholder, -body .swal2-modal .swal2-file::-webkit-input-placeholder, -body .swal2-modal .swal2-textarea::-webkit-input-placeholder { - color: #e6e6e6; -} -body .swal2-modal .swal2-input:-ms-input-placeholder, -body .swal2-modal .swal2-file:-ms-input-placeholder, -body .swal2-modal .swal2-textarea:-ms-input-placeholder { - color: #e6e6e6; -} -body .swal2-modal .swal2-input::placeholder, -body .swal2-modal .swal2-file::placeholder, -body .swal2-modal .swal2-textarea::placeholder { - color: #e6e6e6; -} -body .swal2-modal .swal2-range input { - float: left; - width: 80%; -} -body .swal2-modal .swal2-range output { - float: right; - width: 20%; - font-size: 20px; - font-weight: 600; - text-align: center; -} -body .swal2-modal .swal2-range input, -body .swal2-modal .swal2-range output { - height: 43px; - line-height: 43px; - vertical-align: middle; - margin: 20px auto; - padding: 0; -} -body .swal2-modal .swal2-input { - height: 43px; - padding: 0 12px; -} -body .swal2-modal .swal2-input[type=number] { - max-width: 150px; -} -body .swal2-modal .swal2-file { - font-size: 20px; -} -body .swal2-modal .swal2-textarea { - height: 108px; - padding: 12px; -} -body .swal2-modal .swal2-select { - color: #545454; - font-size: inherit; - padding: 5px 10px; - min-width: 40%; - max-width: 100%; -} -body .swal2-modal .swal2-radio { - border: 0; -} -body .swal2-modal .swal2-radio label:not(:first-child) { - margin-left: 20px; -} -body .swal2-modal .swal2-radio input, -body .swal2-modal .swal2-radio span { - vertical-align: middle; -} -body .swal2-modal .swal2-radio input { - margin: 0 3px 0 0; -} -body .swal2-modal .swal2-checkbox { - color: #545454; -} -body .swal2-modal .swal2-checkbox input, -body .swal2-modal .swal2-checkbox span { - vertical-align: middle; -} -body .swal2-modal .swal2-validationerror { - background-color: #f0f0f0; - margin: 0 -20px; - overflow: hidden; - padding: 10px; - color: gray; - font-size: 16px; - font-weight: 300; - display: none; -} -body .swal2-modal .swal2-validationerror::before { - content: "!"; - display: inline-block; - width: 24px; - height: 24px; - border-radius: 50%; - background-color: #ea7d7d; - color: #fff; - line-height: 24px; - text-align: center; - margin-right: 10px; -} -@supports (-ms-accelerator: true) { - body .swal2-range input { - width: 100% !important; - } - body .swal2-range output { - display: none; - } -} -@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { - body .swal2-range input { - width: 100% !important; - } - body .swal2-range output { - display: none; - } -} -body .swal2-icon { - width: 80px; - height: 80px; - border: 4px solid transparent; - border-radius: 50%; - margin: 20px auto 30px; - padding: 0; - position: relative; - box-sizing: content-box; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -body .swal2-icon.swal2-error { - border-color: #f27474; -} -body .swal2-icon.swal2-error .swal2-x-mark { - position: relative; - display: block; -} -body .swal2-icon.swal2-error [class^=swal2-x-mark-line] { - position: absolute; - height: 5px; - width: 47px; - background-color: #f27474; - display: block; - top: 37px; - border-radius: 2px; -} -body .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left] { - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - left: 17px; -} -body .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right] { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - right: 16px; -} -body .swal2-icon.swal2-warning { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - color: #f8bb86; - border-color: #facea8; - font-size: 60px; - line-height: 80px; - text-align: center; -} -body .swal2-icon.swal2-info { - font-family: "Open Sans", sans-serif; - color: #3fc3ee; - border-color: #9de0f6; - font-size: 60px; - line-height: 80px; - text-align: center; -} -body .swal2-icon.swal2-question { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - color: #87adbd; - border-color: #c9dae1; - font-size: 60px; - line-height: 80px; - text-align: center; -} -body .swal2-icon.swal2-success { - border-color: #a5dc86; -} -body .swal2-icon.swal2-success [class^=swal2-success-circular-line] { - border-radius: 50%; - position: absolute; - width: 60px; - height: 120px; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); -} -body .swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left] { - border-radius: 120px 0 0 120px; - top: -7px; - left: -33px; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - -webkit-transform-origin: 60px 60px; - transform-origin: 60px 60px; -} -body .swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right] { - border-radius: 0 120px 120px 0; - top: -11px; - left: 30px; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - -webkit-transform-origin: 0 60px; - transform-origin: 0 60px; -} -body .swal2-icon.swal2-success .swal2-success-ring { - width: 80px; - height: 80px; - border: 4px solid rgba(165, 220, 134, 0.2); - border-radius: 50%; - box-sizing: content-box; - position: absolute; - left: -4px; - top: -4px; - z-index: 2; -} -body .swal2-icon.swal2-success .swal2-success-fix { - width: 7px; - height: 90px; - position: absolute; - left: 28px; - top: 8px; - z-index: 1; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); -} -body .swal2-icon.swal2-success [class^=swal2-success-line] { - height: 5px; - background-color: #a5dc86; - display: block; - border-radius: 2px; - position: absolute; - z-index: 2; -} -body .swal2-icon.swal2-success [class^=swal2-success-line][class$=tip] { - width: 25px; - left: 14px; - top: 46px; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); -} -body .swal2-icon.swal2-success [class^=swal2-success-line][class$=long] { - width: 47px; - right: 8px; - top: 38px; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); -} -body .swal2-progresssteps { - font-weight: 600; - margin: 0 0 20px; - padding: 0; -} -body .swal2-progresssteps li { - display: inline-block; - position: relative; -} -body .swal2-progresssteps .swal2-progresscircle { - background: #3085d6; - border-radius: 2em; - color: #fff; - height: 2em; - line-height: 2em; - text-align: center; - width: 2em; - z-index: 20; -} -body .swal2-progresssteps .swal2-progresscircle:first-child { - margin-left: 0; -} -body .swal2-progresssteps .swal2-progresscircle:last-child { - margin-right: 0; -} -body .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep { - background: #3085d6; -} -body .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep ~ .swal2-progresscircle { - background: #add8e6; -} -body .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep ~ .swal2-progressline { - background: #add8e6; -} -body .swal2-progresssteps .swal2-progressline { - background: #3085d6; - height: 0.4em; - margin: 0 -1px; - z-index: 10; -} -body [class^=swal2] { - -webkit-tap-highlight-color: transparent; -} -@-webkit-keyframes showSweetAlert { - 0% { - -webkit-transform: scale(0.7); - transform: scale(0.7); - } - 45% { - -webkit-transform: scale(1.05); - transform: scale(1.05); - } - 80% { - -webkit-transform: scale(0.95); - transform: scale(0.95); - } - 100% { - -webkit-transform: scale(1); - transform: scale(1); - } -} -@keyframes showSweetAlert { - 0% { - -webkit-transform: scale(0.7); - transform: scale(0.7); - } - 45% { - -webkit-transform: scale(1.05); - transform: scale(1.05); - } - 80% { - -webkit-transform: scale(0.95); - transform: scale(0.95); - } - 100% { - -webkit-transform: scale(1); - transform: scale(1); - } -} -@-webkit-keyframes hideSweetAlert { - 0% { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1; - } - 100% { - -webkit-transform: scale(0.5); - transform: scale(0.5); - opacity: 0; - } -} -@keyframes hideSweetAlert { - 0% { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1; - } - 100% { - -webkit-transform: scale(0.5); - transform: scale(0.5); - opacity: 0; - } -} -body .swal2-show { - -webkit-animation: showSweetAlert 0.3s; - animation: showSweetAlert 0.3s; -} -body .swal2-show.swal2-noanimation { - -webkit-animation: none; - animation: none; -} -body .swal2-hide { - -webkit-animation: hideSweetAlert 0.15s forwards; - animation: hideSweetAlert 0.15s forwards; -} -body .swal2-hide.swal2-noanimation { - -webkit-animation: none; - animation: none; -} -@-webkit-keyframes animate-success-tip { - 0% { - width: 0; - left: 1px; - top: 19px; - } - 54% { - width: 0; - left: 1px; - top: 19px; - } - 70% { - width: 50px; - left: -8px; - top: 37px; - } - 84% { - width: 17px; - left: 21px; - top: 48px; - } - 100% { - width: 25px; - left: 14px; - top: 45px; - } -} -@keyframes animate-success-tip { - 0% { - width: 0; - left: 1px; - top: 19px; - } - 54% { - width: 0; - left: 1px; - top: 19px; - } - 70% { - width: 50px; - left: -8px; - top: 37px; - } - 84% { - width: 17px; - left: 21px; - top: 48px; - } - 100% { - width: 25px; - left: 14px; - top: 45px; - } -} -@-webkit-keyframes animate-success-long { - 0% { - width: 0; - right: 46px; - top: 54px; - } - 65% { - width: 0; - right: 46px; - top: 54px; - } - 84% { - width: 55px; - right: 0; - top: 35px; - } - 100% { - width: 47px; - right: 8px; - top: 38px; - } -} -@keyframes animate-success-long { - 0% { - width: 0; - right: 46px; - top: 54px; - } - 65% { - width: 0; - right: 46px; - top: 54px; - } - 84% { - width: 55px; - right: 0; - top: 35px; - } - 100% { - width: 47px; - right: 8px; - top: 38px; - } -} -@-webkit-keyframes rotatePlaceholder { - 0% { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - } - 5% { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - } - 12% { - -webkit-transform: rotate(-405deg); - transform: rotate(-405deg); - } - 100% { - -webkit-transform: rotate(-405deg); - transform: rotate(-405deg); - } -} -@keyframes rotatePlaceholder { - 0% { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - } - 5% { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - } - 12% { - -webkit-transform: rotate(-405deg); - transform: rotate(-405deg); - } - 100% { - -webkit-transform: rotate(-405deg); - transform: rotate(-405deg); - } -} -body .swal2-animate-success-line-tip { - -webkit-animation: animate-success-tip 0.75s; - animation: animate-success-tip 0.75s; -} -body .swal2-animate-success-line-long { - -webkit-animation: animate-success-long 0.75s; - animation: animate-success-long 0.75s; -} -body .swal2-success.swal2-animate-success-icon .swal2-success-circular-line-right { - -webkit-animation: rotatePlaceholder 4.25s ease-in; - animation: rotatePlaceholder 4.25s ease-in; -} -@-webkit-keyframes animate-error-icon { - 0% { - -webkit-transform: rotateX(100deg); - transform: rotateX(100deg); - opacity: 0; - } - 100% { - -webkit-transform: rotateX(0deg); - transform: rotateX(0deg); - opacity: 1; - } -} -@keyframes animate-error-icon { - 0% { - -webkit-transform: rotateX(100deg); - transform: rotateX(100deg); - opacity: 0; - } - 100% { - -webkit-transform: rotateX(0deg); - transform: rotateX(0deg); - opacity: 1; - } -} -body .swal2-animate-error-icon { - -webkit-animation: animate-error-icon 0.5s; - animation: animate-error-icon 0.5s; -} -@-webkit-keyframes animate-x-mark { - 0% { - -webkit-transform: scale(0.4); - transform: scale(0.4); - margin-top: 26px; - opacity: 0; - } - 50% { - -webkit-transform: scale(0.4); - transform: scale(0.4); - margin-top: 26px; - opacity: 0; - } - 80% { - -webkit-transform: scale(1.15); - transform: scale(1.15); - margin-top: -6px; - } - 100% { - -webkit-transform: scale(1); - transform: scale(1); - margin-top: 0; - opacity: 1; - } -} -@keyframes animate-x-mark { - 0% { - -webkit-transform: scale(0.4); - transform: scale(0.4); - margin-top: 26px; - opacity: 0; - } - 50% { - -webkit-transform: scale(0.4); - transform: scale(0.4); - margin-top: 26px; - opacity: 0; - } - 80% { - -webkit-transform: scale(1.15); - transform: scale(1.15); - margin-top: -6px; - } - 100% { - -webkit-transform: scale(1); - transform: scale(1); - margin-top: 0; - opacity: 1; - } -} -body .swal2-animate-x-mark { - -webkit-animation: animate-x-mark 0.5s; - animation: animate-x-mark 0.5s; -} -@-webkit-keyframes rotate-loading { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@keyframes rotate-loading { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} - -.btn-hub { - display: inline-block; -} - -#botao-hub button { - background-color: #65a300; - border-color: rgb(101, 163, 0); - border-radius: 4px; - border-style: solid; - border-width: 2px; - cursor: pointer; - letter-spacing: .04em; - display: inline-block; - font-size: 14px; - font-weight: 600; - font-family: Open Sans, sans-serif; - outline: none; - padding: 8px 12px; - text-transform: uppercase; - text-align: center; - color: #fff; - user-select: none; - white-space: normal; - transition: all .3s ease-in-out; -} - -#botao-hub button:hover, #botao-hub button:active, #botao-hub button:focus { - background-color: rgb(125, 163, 0); - border-color: rgb(125, 163, 0); -} - -.btn-hub button img { - width: 16px; - margin-bottom: -3px; - margin-top: -3px; -} - -.forminp.flex { - display: flex; -} - -.btn-hub.pagarme-warning button { - background-color: #e02b27; - border-color: rgb(222, 43, 40); - border-radius: 4px; - border-style: solid; - border-width: 2px; - cursor: pointer; - letter-spacing: .04em; - display: inline-block; - font-size: 14px; - font-weight: 600; - font-family: Open Sans, sans-serif; - outline: none; - padding: 8px 12px; - text-transform: uppercase; - text-align: center; - color: #fff; - user-select: none; - white-space: normal; - transition: all .3s ease-in-out; - margin-left: 10px; -} - -.btn-hub.pagarme-warning button:hover, .btn-hub.pagarme-warning button:active, .btn-hub.pagarme-warning button:focus{ - background-color: rgba(222, 43, 40, 0.76); - border-color: rgba(222, 43, 40, 0.76); -} - -#botao-hub button img { - width: 16px; - margin-bottom: -3px; - margin-top: -3px; +.pagarme-hub-integration-btn img { + vertical-align: text-top; + max-height: 1.4em; + margin-left: .6em; } .pagarme-message-warning { - margin: 0 0 10px; - padding: 12px 20px 12px 25px; - display: block; + margin: 1em 0 0; + padding: 1em; background: #fae5e5; color: #e02b27; - position: relative; -} - -#woo-pagarme-additional-information section h2{ - display: none; -} - -#woo-pagarme-additional-information table.woocommerce-table{ - border-spacing: 0; - width: 100%; - margin: 0 0 1.41575em; - border-collapse: separate; -} - -#woo-pagarme-additional-information table.woocommerce-table thead{ - display: table-header-group; - vertical-align: middle; - border-color: inherit; -} - -#woo-pagarme-additional-information table.woocommerce-table thead th{ - padding: 1.41575em; - vertical-align: middle; - text-align: center; -} - -#woo-pagarme-additional-information table.woocommerce-table tr{ - display: table-row; - vertical-align: inherit; - border-color: inherit; - box-sizing: border-box; -} - -#woo-pagarme-additional-information table.woocommerce-table td{ - box-sizing: border-box; - padding: 1em 1.41575em; - text-align: left; - vertical-align: top; - background-color: #fdfdfd; -} - -#woo-pagarme-additional-information table.woocommerce-table th{ - display: table-cell; - box-sizing: border-box; - padding: 1em 1.41575em; - text-align: left; - vertical-align: top; - font-weight: 600; - background-color: #f8f8f8; -} - -#woo-pagarme-additional-information table.woocommerce-table tbody{ - display: table-row-group; - vertical-align: middle; - border-color: inherit; - box-sizing: border-box; -} - -.pagarme-major-update-warning-separator { - margin: 15px -12px; - border: 2px solid #dba617; -} - -.pagarme-major-update-warning { - margin-bottom: 5px; - max-width: 1000px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; -} - -.pagarme-major-update-warning + p { - display: none; -} - -.pagarme-major-update-warning p:before { - color: #ff0004; - content: "\f534"; -} - -.pagarme-major-update-title { - font-weight: 600; - margin-bottom: 10px; - margin-top: 5px; -} - -#pagarme-qr-code { - cursor:pointer; -} -/*# sourceMappingURL=assets/stylesheets/admin/style.css.map */ +} \ No newline at end of file diff --git a/assets/stylesheets/admin/style.css.map b/assets/stylesheets/admin/style.css.map deleted file mode 100644 index c724a7f7..00000000 --- a/assets/stylesheets/admin/style.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sourceRoot":"","sources":["../base/_helpers.scss","elements/_spinner.scss","elements/_form.scss","vendor/_izimodal.scss","vendor/_sweetalert2.scss"],"names":[],"mappings":"AAyEA;EACI;IAAO;;EACP;IAAK;;;AAET;EACI;IAAO;;EACP;IAAK;;;AAET;EACI;IAAO;;EACP;IAAK;;;AAET;EACI;IACI;;EAEJ;IACI;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;;;AC1GH;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;;ACjBH;EACC;EACA;EACA;;;AAIA;EACC;;AAGD;EACC;EACA;;AAEA;EACC;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;EACA;EACA;;AAIF;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;EACA;;AAED;EACC;;AAED;EACC;;AAKD;EACC;;AACA;EACC;EACA;;AAKH;EACC;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;;;AC9FJ;AAAA;AAAA;AAAA;AAAA;AAKA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;;;AAIJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;;;AAEJ;EACI;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAA0C;;;AAE9C;EACI;;;AAEJ;EACI;;;AAEJ;EACI;;;AAEJ;EACI;;;AAEJ;EACI;;;AAIA;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAIJ;AAEA;EACI;;;AAEJ;EACI;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;;;AAEJ;EACI;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACI;;;AAGJ;AAEA;EACI;;;AAEJ;EACI;;;AAEJ;EACI;;;AAEJ;EACI;;;AAEJ;EACI;;;AAEJ;EACI;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;;;AAGJ;AAAA;EACoC;EAAY;;;AAChD;EAAoC;;;AACpC;EACI;EACA;EACA;AACA;;;AAEJ;EACI;EACA;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAGR;EACI;EACA;;;AAEJ;EACI;EACA;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACI;EACA;;;AAGJ;EACI;;;AAEJ;EACI;EACA;;;AAEJ;EACI;;;AAGJ;AAEA;EACI;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;EACA;;;AAGJ;AAEA;EACI;EACA;EACA;;;AAEA;EACI;EACA;EACA;;;AAEJ;EACI;EACA;EACA;;;AAGJ;EACI;EACA;EACA;;;AAGR;EACI;EACA;EACA;;;AAEJ;EACI;EACA;EACA;;;AAEJ;AAAA;EAEI;EACA;EACA;;;AAEJ;EACI;EACA;EACA;;;AAGA;EACI;;;AAGR;AAEA;EACI;EACA;EACA;EACA;;;AAEJ;EACI;EACA;EACA;;;AAEJ;EACI;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAGJ;EACI;IACI;IACA;;EAEJ;IACI;IACA;;;AAGR;EACI;IACI;IACA;;EAEJ;IACI;IACA;;;AAGR;EACI;IACI;AACA;IACA;;EAEJ;IACI;AACA;IACA;;;AAIR;EACI;IACI;IACA;;EAEJ;IACI;IACA;;;AAGR;EACI;IACI;IACA;;EAEJ;IACI;IACA;;;AAGR;EACI;IACI;IACA;;EAEJ;IACI;IACA;;;AAGR;EACI;IAAI;;EACJ;IAAM;;;AAEV;EACI;IAAI;;EACJ;IAAM;;;AAEV;EACI;IAAI;;EACJ;IAAM;;;AAGV;EACI;IAAI;;EACJ;IAAM;;;AAEV;EACI;IAAI;;EACJ;IAAM;;;AAEV;EACI;IAAI;;EACJ;IAAM;;;AAGV;EACI;IACI;IACA;;EAEJ;IACI;IACA;;;AAGR;EACI;IACI;IACA;;EAEJ;IACI;IACA;;;AAGR;EACI;IACI;IACA;;EAEJ;IACI;IACA;;;AAIR;EACI;IAAK;IAAY;IAAiD;;;AAEtE;EACI;IAAK;IAAY;IAA8C;;;AAEnE;EACI;IAAK;IAAY;IAAyC;;;AAG9D;EACI;IAAK;IAAY;;;AAErB;EACI;IAAK;IAAY;;;AAErB;EACI;IAAK;IAAY;;;AAGrB;EACI;IACI;IACA;;EAEJ;IACI;IACA;IACA;;EAEJ;IACI;IACA;IACA;;EAEJ;IACI;IACA;;EAEJ;IACI;IACA;;EAEJ;IACI;IACA;;;AAGR;EACI;IACI;IACA;;EAEJ;IACI;IACA;IACA;;EAEJ;IACI;IACA;IACA;;EAEJ;IACI;IACA;;EAEJ;IACI;IACA;;EAEJ;IACI;IACA;;;AAGR;EACI;IACI;IACA;;EAEJ;IACI;IACA;IACA;;EAEJ;IACI;IACA;IACA;;;AAGR;EACI;IACI;IACA;;EAEJ;IACI;IACA;IACA;;EAEJ;IACI;IACA;IACA;;;AAIR;EACI;IACI;IACA;;EAEJ;IACI;IACA;IACA;;EAEJ;IACI;IACA;IACA;;EAEJ;IACI;IACA;;EAEJ;IACI;IACA;;EAEJ;IACI;IACA;;;AAGR;EACI;IACI;IACA;;EAEJ;IACI;IACA;IACA;;EAEJ;IACI;IACA;IACA;;EAEJ;IACI;IACA;;EAEJ;IACI;IACA;;EAEJ;IACI;IACA;;;AAIR;EACI;IACI;IACA;;EAEJ;IACI;IACA;IACA;;EAEJ;IACI;IACA;IACA;;;AAGR;EACI;IACI;IACA;;EAEJ;IACI;IACA;IACA;;EAEJ;IACI;IACA;IACA;;;AAIR;EACI;IACI;IACA;IACA;;EAEJ;IACI;IACA;IACA;;;AAGR;EACI;IACI;IACA;IACA;;EAEJ;IACI;IACA;IACA;;;AAIR;EACI;IACI;;EAEJ;IACI;IACA;IACA;;;AAGR;EACI;IACI;;EAEJ;IACI;IACA;IACA;;;AAIR;EACI;IACI;IACA;IACA;;EAEJ;IACI;IACA;IACA;;;AAGR;EACI;IACI;IACA;IACA;;EAEJ;IACI;IACA;IACA;;;AAIR;EACI;IACI;;EAGJ;IACI;IACA;IACA;;;AAGR;EACI;IACI;;EAEJ;IACI;IACA;IACA;;;AAIR;EACI;IACI;IACA;IACA;;EAEJ;IACI;IACA;IACA;;;AAGR;EACI;IACI;IACA;IACA;;EAEJ;IACI;IACA;IACA;;;AAIR;EACI;IACI;;EAEJ;IACI;IACA;IACA;;;AAGR;EACI;IACI;;EAEJ;IACI;IACA;IACA;;;AAIR;EACI;IACI;IACA;IACA;;EAEJ;IACI;IACA;IACA;;;AAGR;EACI;IACI;IACA;IACA;;EAEJ;IACI;IACA;IACA;;;AAIR;EACI;IACI;;EAEJ;IACI;IACA;IACA;;;AAGR;EACI;IACI;;EAEJ;IACI;IACA;IACA;;;AAIR;EACI;IACI;IACA;;EAEJ;IACI;;EAEJ;IACI;;EAEJ;IACI;IACA;;;AAGR;EACI;IACI;IACA;;EAEJ;IACI;;EAEJ;IACI;;EAEJ;IACI;IACA;;;AAIR;EACI;IACI;IACA;;EAGJ;IACI;IACA;IACA;;EAGJ;IACI;IACA;IACA;;;AAGR;EACI;IACI;IACA;;EAEJ;IACI;IACA;IACA;;EAEJ;IACI;IACA;IACA;;;ACrkCP;EACE;;AAEF;EACC;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACI;EACI;EACR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;;AACF;EACE;;AAEJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AACF;EACE;;AACF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACF;EACE;;AACA;EACE;EACA;;AACF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACQ;EACR;EACG;EACC;EACI;;AACV;EACE;EACA;;AACF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACQ;;AACZ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACF;EACE;EACA;;AACF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AACJ;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;AACF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACF;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;AACF;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;AAAA;AAAA;EAGE;EACA;;AACF;AAAA;AAAA;EAGE;EACA;EACA;;AACA;AAAA;AAAA;EAGE;EACA;EACA;;AACF;AAAA;AAAA;EAGE;EACA;EACA;;AACF;AAAA;AAAA;EAGE;EACA;EACA;;AACJ;AAAA;AAAA;EAGE;;AACF;AAAA;AAAA;EAGE;;AACF;AAAA;AAAA;EAGE;;AACJ;EACE;EACA;;AACF;EACE;EACA;EACA;EACA;EACA;;AACF;AAAA;EAEE;EACA;EACA;EACA;EACA;;AACF;EACE;EACA;;AACA;EACE;;AACJ;EACE;;AACF;EACE;EACA;;AACF;EACE;EACA;EACA;EACA;EACA;;AACF;EACE;;AACA;EACE;;AACF;AAAA;EAEE;;AACF;EACE;;AACJ;EACE;;AACA;AAAA;EAEE;;AACJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEN;EACE;IACE;;EACF;IACE;;;AAEJ;EACE;IACE;;EACF;IACE;;;AAEJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACG;EACC;EACI;;AACR;EACE;;AACA;EACE;EACA;;AACF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACQ;EACR;;AACF;EACE;EACQ;EACR;;AACN;EACE;EACA;EACA;EACA;EACA;EACA;;AACF;EACE;EACA;EACA;EACA;EACA;EACA;;AACF;EACE;EACA;EACA;EACA;EACA;EACA;;AACF;EACE;;AACA;EACE;EACA;EACA;EACA;EACA;EACQ;;AACR;EACE;EACA;EACA;EACA;EACQ;EACR;EACQ;;AACV;EACE;EACA;EACA;EACA;EACQ;EACR;EACQ;;AACZ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACQ;;AACV;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACQ;;AACV;EACE;EACA;EACA;EACA;EACQ;;AAEhB;EACE;EACA;EACA;;AACA;EACE;EACA;;AACF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AACF;EACE;;AACF;EACE;;AACA;EACE;;AACF;EACE;;AACN;EACE;EACA;EACA;EACA;;AAEJ;EACE;;AAEF;EACE;IACE;IACQ;;EACV;IACE;IACQ;;EACV;IACE;IACQ;;EACV;IACE;IACQ;;;AAEZ;EACE;IACE;IACQ;;EACV;IACE;IACQ;;EACV;IACE;IACQ;;EACV;IACE;IACQ;;;AAEZ;EACE;IACE;IACQ;IACR;;EACF;IACE;IACQ;IACR;;;AAEJ;EACE;IACE;IACQ;IACR;;EACF;IACE;IACQ;IACR;;;AAEJ;EACE;EACQ;;AACR;EACE;EACQ;;AAEZ;EACE;EACQ;;AACR;EACE;EACQ;;AAEZ;EACE;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;;AAEJ;EACE;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;;AAEJ;EACE;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;;AAEJ;EACE;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;;AAEJ;EACE;IACE;IACQ;;EACV;IACE;IACQ;;EACV;IACE;IACQ;;EACV;IACE;IACQ;;;AAEZ;EACE;IACE;IACQ;;EACV;IACE;IACQ;;EACV;IACE;IACQ;;EACV;IACE;IACQ;;;AAEZ;EACE;EACQ;;AAEV;EACE;EACQ;;AAEV;EACE;EACQ;;AAEV;EACE;IACE;IACQ;IACR;;EACF;IACE;IACQ;IACR;;;AAEJ;EACE;IACE;IACQ;IACR;;EACF;IACE;IACQ;IACR;;;AAEJ;EACE;EACQ;;AAEV;EACE;IACE;IACQ;IACR;IACA;;EACF;IACE;IACQ;IACR;IACA;;EACF;IACE;IACQ;IACR;;EACF;IACE;IACQ;IACR;IACA;;;AAEJ;EACE;IACE;IACQ;IACR;IACA;;EACF;IACE;IACQ;IACR;IACA;;EACF;IACE;IACQ;IACR;;EACF;IACE;IACQ;IACR;IACA;;;AAEJ;EACE;EACQ;;AAEV;EACE;IACE;IACQ;;EACV;IACE;IACQ;;;AAEZ;EACE;IACE;IACQ;;EACV;IACE;IACQ","file":"style.css"} \ No newline at end of file diff --git a/assets/stylesheets/admin/style.scss b/assets/stylesheets/admin/style.scss deleted file mode 100644 index 9b11a363..00000000 --- a/assets/stylesheets/admin/style.scss +++ /dev/null @@ -1,21 +0,0 @@ -//= BEGIN BASE - -@import "../base/variables"; -@import "../base/functions"; -@import "../base/helpers"; -@import "../base/mixins"; - -//= END BASE - -//= BEGIN COMPONENTS - -//= END COMPONENTS - -//= BEGIN ELEMENTS - -@import "elements/spinner"; -@import "elements/form"; -@import "vendor/izimodal"; -@import "vendor/sweetalert2"; - -//= END ELEMENTS diff --git a/assets/stylesheets/admin/vendor/_izimodal.scss b/assets/stylesheets/admin/vendor/_izimodal.scss deleted file mode 100644 index 0aa30113..00000000 --- a/assets/stylesheets/admin/vendor/_izimodal.scss +++ /dev/null @@ -1,1097 +0,0 @@ -/* -* iziModal | v1.5.1 -* http://izimodal.marcelodolce.com -* by Marcelo Dolce. -*/ -.iziModal { - display: none; - position: fixed; - top: 0; - bottom: 0; - left: 0; - right: 0; - margin: auto; - background: #FFF; - box-shadow: 0 0 8px rgba(0,0,0,.3); - transition: margin-top 0.3s ease, height 0.3s ease; - transform: translateZ(0); -} -.iziModal *{ - -webkit-font-smoothing: antialiased; -} -.iziModal::after{ - content: ''; - width: 100%; - height: 0px; - opacity: 0; - position: absolute; - left: 0; - bottom: 0; - z-index: 1; - background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.35) 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0)), color-stop(100%,rgba(0,0,0,0.35))); - background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.35) 100%); - background: -o-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.35) 100%); - background: -ms-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.35) 100%); - background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.35) 100%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#59000000',GradientType=0 ); - transition: height 0.3s ease-in-out, opacity 0.3s ease-in-out; - pointer-events: none; -} -.iziModal.hasShadow::after{ - height: 30px; - opacity: 1; -} -.iziModal .iziModal-progressbar{ - position: absolute; - left: 0; - top: 0px; - width: 100%; - z-index: 1; -} -.iziModal .iziModal-progressbar > div{ - height: 2px; - width: 100%; -} - - -.iziModal .iziModal-header { - background: #88A0B9; - padding: 14px 18px 15px 18px; - box-shadow: inset 0 -10px 15px -12px rgba(0, 0, 0, 0.3), 0 0 0px #555; - overflow: hidden; - position: relative; - z-index: 10; -} -.iziModal .iziModal-header-icon{ - font-size: 40px; - color: rgba(255, 255, 255, 0.5); - padding: 0 15px 0 0; - margin: 0; - float: left; -} -.iziModal .iziModal-header-title { - color: #FFF; - font-size: 18px; - font-weight: 600; - line-height: 1.3; -} -.iziModal .iziModal-header-subtitle { - color: rgba(255, 255, 255, 0.6); - font-size: 12px; - line-height: 1.45; -} -.iziModal .iziModal-header-title, .iziModal .iziModal-header-subtitle{ - display: block; - margin: 0; - padding: 0; - font-family: 'Lato', Arial; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - text-align: left; -} -.iziModal .iziModal-header-buttons { - position: absolute; - top: 50%; - right: 10px; - margin: -17px 0 0 0; -} - -.iziModal .iziModal-button{ - display: block; - float: right; - z-index: 2; - outline: none; - height: 34px; - width: 34px; - border: 0; - padding: 0; - margin: 0; - opacity: 0.3; - border-radius: 50%; - transition: transform 0.5s cubic-bezier(.16,.81,.32,1), opacity 0.5s ease; - background-size: 67% !important; - -webkit-tap-highlight-color: rgba(0,0,0,0); - -webkit-tap-highlight-color: transparent; /* For some Androids */ -} -.iziModal .iziModal-button-close{ - background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODZCQkIzQ0I0RTg0MTFFNjlBODI4QTFBRTRBMkFCMDQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODZCQkIzQ0M0RTg0MTFFNjlBODI4QTFBRTRBMkFCMDQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4NkJCQjNDOTRFODQxMUU2OUE4MjhBMUFFNEEyQUIwNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4NkJCQjNDQTRFODQxMUU2OUE4MjhBMUFFNEEyQUIwNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsgTJLcAAALJSURBVHja3JnLS1VBHMfvQ7g9dBXRRrwEFRciAhMi1JRW1aIHVEIYEkW0iVpUhOD/ICK6cFMgSbUpC6VFkQa9NtpjkauriRY9Noa3pHT8/mIODMM5Or85o87pC5/NPf5mvmc8M7+Z36SFEKkY2gj2gUawF2wHW8A6+fwv+A6KYAQMg+dg2rbDtKXhGnAaHJIms4zYz9J4HxgAf1g9k2EGteAhWBBuNApaQNrUg6nRTaAbzIuV0RCocWW4DoyJlVcJXI5ruFk2tJqi/2TWxvA5sXbqA2Ucw01i7dVjargazAo/dE33p6/DlAheg50pP0SJpwG8CH7IaH/Q5pFZUhnoArkwwwVwJeWfdoMLYYZvqG+yTGo9CerAoIWBT+A4qAdPDWOugwo1NVcxJtpFZRLkwH3GJCqCghJfxVjnz1JMMMKnwAbGRAg0B5rAA4O4CblZ+qj8tkBjZthvSzDCtFIMM0ZpQhslk5Eej4jpZ/T7G+ygwG1ghrk+jjNMFy1eMPJzpOAzlou6iWmXZkm91EBHjEwUZXoQTDk2SxqhRh7HTJ9hpstB3rFZ0ldq6J2DnB9m2rXZfxOPlrX1DrJRXiaBXSHPaMHvB0cd9JPLpBImMvzLQTuUFA6A9yHPfoIjhsllOc1l5N4grtmDWgYrl5+JTUZcSjNkeMyxWdpA3ZN72IJj01OJTByJS82J2/wQVxmB5y1HK8x0JWMf/kzdD98FJcY5S51gdwyTQl6eUAraspo27PeWXgy8afim0+CELAwOWHyH9EkdkyWwJ4Yxk6BCP+bTm48anutWW5dAp34IpbW03UOzb0FPVEHbx0LKfvAyqpAyKw97JU8Mt6pml6rAJ6oY6Eu5NfvfF7QTeWWQyEsZr6694lwsNoPD8mKRo29gCNwGj7gXi7aGA1EBcY+8vq0GW8FmJb3Pgx9gEnwAr8Ab8MW2w0UBBgAVyyyaohV7ewAAAABJRU5ErkJggg==') no-repeat 50% 50%; -} -.iziModal .iziModal-button-fullscreen{ - background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RTBBOUI4RUM0RTg0MTFFNjk0NTY4NUNFRkZFNEFEQzIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RTBBOUI4RUQ0RTg0MTFFNjk0NTY4NUNFRkZFNEFEQzIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFMEE5QjhFQTRFODQxMUU2OTQ1Njg1Q0VGRkU0QURDMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFMEE5QjhFQjRFODQxMUU2OTQ1Njg1Q0VGRkU0QURDMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrQO6gAAAANmSURBVHjazJlbSBRRGMd3x92i0ForRRMiKiUoX4ouiFlJkRVBDxW9GJERwUasvdRT9FD00osRQtAFqegGBUHRBY0uaCVKEkSRpVR0tSwrQtp1+p/4Bk7D7M45M/Ot/uGHu+Psmf+c+eY753wnbJpmyIfGgvmgiv6WgkKQBwzwE3wBr0AnuAta6ZgnhT0aFuY2ghoyGdH4bS+4Dc6CZjCkdWVhWIPF4JoZnB6CDToeVE8sBidNPt0E5UEZrgG9Jr8GwHa/huMgaWZXDSDsxfBuc/jUBAwdw3Fz+NWoang5SJkjQwm7P3seLqQEX2LLfgfBdZcMORMcBqNDwekPqASP0uXhpjR3Ok0x/fUw9HIHGGVdw5DuRtzJpgxDsJui2qOWmuaAOuuLbHivz4YLwLgQj/aAXNmwuItlHhtbA7pAG5jEZHgKWCcbrhUTIY+NPQVjqFFObbYMi/hc6aOhl2AJ9TKnFoIyYXgemKEzJQXVVkyR3oFVzKZFuqw2qHdyFPKhrHPgMoWC3fRjRtNVVg+7SR5IiqmXxUt60cG0CK/vTIZniZVCmcKJF0C3ZNjKBqvJ9Hrwm46tsN1EkCoRQ/M3fBjvs6GrYAvdwHEfGcd1qBaGkwoxrKI+xjz83yJ0iLFHApd46X4xX+M+WECh4lepCNUIcpnMijrEWtAvTRHrbOd8FZNG8uA2Nf0hpmwtjBPwpQ5T0GPS/+tBAZhIq+b3Lu09EyHRwRgO+0C+7dhWcII+PwCf6Sk/Aa9d2vtn+A7nyASugJiD6YSDQcOlvVbxiCaAN8xrs3sgprBiac/QhlhnzjUo6JuZM0UlDS5FPtoQIdNlPYJTWUihFaDex+9Pg6T1KHJAJ2NI7ASllA28hEQ/KJIXoSlwgKlnh+jFe+GjLtwIPtjfyktUt+UaUZWqvw7H3oJD1peI7eQdoF1xWa+zQikHH13OmwqmOxxP0EiZtgK/DRwNuIcHwSeXc2K01WAPhbhKBb5hBNTVbskVH7fqpZGhbJUNtYF83fqwQSXPbOsGjb6etwx2gcEsmT3iFAZeNmUqaMeHSz2qu0k6W15Rqsx3B2i0D+xXGAHTFrRVlEeFuVoqH+ku6VNUbDkPzlAtg30nVK66i8rRIjAbTKaSQVQyN0DD6nOqcLZQld9TLfmvAAMAeMcvp3eCFqQAAAAASUVORK5CYII=') no-repeat 50% 50%; -} -.iziModal.isFullscreen .iziModal-button-fullscreen{ - background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkFFRTU5NDA0RTg1MTFFNjk0NEZFQzBGMkVBMDYyRDkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkFFRTU5NDE0RTg1MTFFNjk0NEZFQzBGMkVBMDYyRDkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyQUVFNTkzRTRFODUxMUU2OTQ0RkVDMEYyRUEwNjJEOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyQUVFNTkzRjRFODUxMUU2OTQ0RkVDMEYyRUEwNjJEOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuDFfX8AAANASURBVHjazJlZSBVRGMfHcWlB0xZM68GKukQLYaGkmEUR2EsvRfQS+BSJPUQE+lTR8hqIZY8hFS0ERVCRoW3gpUApghYpszLTVnCB3O70/+K7MAwzc78Z58z4hx8XzpzvzJ+Zc+d85ztphmFoU9BsUAoq+XcFyAc5QAfD4BfoBp3gCWjnNl9K82mYzO0FVWwyw0NsD3gIroBWkPB0ZzLsgc3grhGcnoE9XjxIOxaCC4Y6tYC1QRmuAj2Geg2CA1M1XAsmjHDVANL8GK4zolMz0L0YrjWiV5PU8HYw6TBIf8imD6UynA96HYKPg3mgMUTDY6DUzXCzQ+AxSz+r6QEQZz4HbLoDZNkZrnAIoOlRZjN1Gk3XS0zty/gTFaRq7Ay3uAR8BcU2ps/z9QJTWw74HrDhTyDbbHg9SKQI+sb9rKa3mV8ZmAt+KJjP1TS+zinFPkqEUqQdBeAOKLa0UwIzpqlXtcYpIKWIO4RBZPoRKNfC10YQI8MlYLkwaAB8ABsiMDwDbKU8dgtIFwRMgJ3guRadKpNPWBMa7tOi1WoyHJPuTsC4oN+IQsOLM3gPJlEWqOE/neMGBqwDeYoMz6G8c0I4h6eFyHBC8A2eVoaH8JutaPwuUA/+uvSht1sHKgTjTWZwjUCVYdrK3xT0iwkND+lc5FClUQ9fINHCRYY7FBrWPSz5Er2lAR9H9P+hpfYGl64OCmPadQ7ojcDwOJetysBMQX/6mrWS4d+cIoYtMnAEnBT2fwVeJufYxZBMFoKFlrajQtOX/uczvEtIB50Kdgn1lt3JGdANltjsXE64jPMnuQ1LPuFJcFrBE11gzQXAUnAPFNk86esO4zSBfmu5lVa9toCf8DC4Ba6C22DEdO01KDLdP5fLr1Z94X2ibV1ilWVQ1XrDpvPAU4c+u1KVqvaHXI7q43ltp3PSYmDDNCgGPrCUD1wN6y5lqzAUN89baX1Y55Jn2LrPRUffRwaHwWhIZs/aTQM/hzLlDp+coPRReprk5cgrkyvz7wM0+hOcAvOlPvwcLNIp526ux1H5aJbHeFpVX4Br4LLXWoffk9CkVnLlaBNYAxaBXJBpMjfIy+o7EAdtfIyb8HPDfwIMAM1WPs8F9tcxAAAAAElFTkSuQmCC') no-repeat 50% 50%; -} -.iziModal .iziModal-button-close:hover{ - transform: rotate(180deg); -} -.iziModal .iziModal-button:hover{ - opacity: 0.8; -} - - - .iziModal .iziModal-header.iziModal-noSubtitle{ - height: auto; - padding: 10px 15px 12px 15px; - } - .iziModal .iziModal-header.iziModal-noSubtitle .iziModal-header-icon{ - font-size: 23px; - padding-right: 13px; - } - .iziModal .iziModal-header.iziModal-noSubtitle .iziModal-header-title{ - font-size: 15px; - margin: 3px 0 0 0; - font-weight: 400; - } - .iziModal .iziModal-header.iziModal-noSubtitle .iziModal-header-buttons{ - right: 6px; - margin: -16px 0 0 0; - } - .iziModal .iziModal-header.iziModal-noSubtitle .iziModal-button{ - height: 30px; - width: 30px; - } - - - /* RTL */ - - .iziModal-rtl { - direction: rtl; - } - .iziModal-rtl .iziModal-header { - padding: 14px 18px 15px 40px; - } - .iziModal-rtl .iziModal-header-icon { - float: right; - padding: 0 0 0 15px; - } - .iziModal-rtl .iziModal-header-buttons{ - right: initial; - left: 10px; - } - .iziModal-rtl .iziModal-button{ - float: left; - } - .iziModal-rtl .iziModal-header-title, .iziModal-rtl .iziModal-header-subtitle{ - text-align: right; - font-family: Tahoma, 'Lato', Arial; - font-weight: 500; - } - .iziModal-rtl .iziModal-header.iziModal-noSubtitle { - padding: 10px 15px 12px 40px; - } - .iziModal-rtl .iziModal-header.iziModal-noSubtitle .iziModal-header-icon { - padding: 0 0 0 13px; - } - - /* LIGHT THEME */ - - .iziModal.iziModal-light .iziModal-header-icon{ - color: rgba(0, 0, 0, 0.5); - } - .iziModal.iziModal-light .iziModal-header-title{ - color: #000; - } - .iziModal.iziModal-light .iziModal-header-subtitle{ - color: rgba(0, 0, 0, 0.6); - } - .iziModal.iziModal-light .iziModal-button-close{ - background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4JpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyQTU1RUZDNzRFODQxMUU2ODAxOEUwQzg0QjBDQjI3OSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1NEM4MTU1MEI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0RTNFNENDMkI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjZjYzMwMmE1LWFlMjEtNDI3ZS1hMmE4LTJlYjhlMmZlY2E3NSIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjdmYmU3NGE3LTAxMDUtMTE3YS1hYmM3LWEzNWNkOWU1Yzc4NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Po24QssAAANtSURBVHja3JlJaBRBFIa7ZxyTSXADHUkikuAawZNLEOOGGrwJQYko8R4RBQ+OICoqghJQUVwPYjzFY0QUBQU1kogoKO6CG0pcIwbiNibj/8JraNvu6Xo9NTOtP3xzSKe6/65+Ve9VlWlkp2IwGUwFE0E5GA4G8/U+0APegWfgHrgPuq0bpNNp0QPNgEYngHlgGpuMCNp2s+kr4BYM/8ql4WqwHEzP4mXteg7awOW0YlerPnQIaARLNBl1ikLlBDw/1WF4ClgHKozc6idogekz2RheANbaBlE+dB4chfF+qeHF3LOF0FWwF6b7nBe8RvecApolzQVr3C64GR4H1huFV51pmvV+hikRbABFRji0GqarMxluAGON8CgKmmA65mZ4DFhqhE9VPP//ZXgZiCmm1t1gI6XWAAY+gF0gCe4qtqlHL8fthkeBWsXGreA6eMgPviEw+x5sBZ3gAdjPCcNPI8Fsu+FawUCzz40psEfRNJndBl7b/pZmVLTQMkzJo0bQSys43iWm3cxS+DUJOmoSwqKCRmEZWKkYv6RSMBPc5lqXRGm0A1Q6XiaT2aSwo8jrK/qZwZlFIlXTusxa6iXDddTdARpnMj2ek9AWjWYH7h/lubcs4A28THdyAdOl0ezAmKNBNyLLiT0Btjti9zuHg06zpJKIprohwXNypcu1OIdGjYbnxCLGPyYy/EPDfejzbwYvXK59AzuFGdFLKTL8WYNZ59RVzGESJCNm0teI40E6zNIA2wSaA2REP32iaW0omKXRbJKTUVyYEVV0J8oxvEiQmiUZrFSz6XNkuJe3nBKCelaSbjOZrhLsd1BInYxweSeJq9YA6dYtuZCBI4JZ6jGW/W+sebhd0DAaMIO5mTYFW1+X6GeQ7TO3W0WyQj3cw0ulBg4nSUbcAY7zPVYp7ip95FXOH29Hb35AOPjypWMIh7PORSjFZVsIzdKW7AWvfYnTVNWHyCytHw+jd1Nehqks3KepvtChUzD7yGvE2/cduqxldQF1EWZb/PbWLF3jAVgo0WrlkN+c6hSd+rzlaSuaR7O0oX0wyIa2pVAdGaj0HCUVOqIq4dVwrg5lmmG2w+8f/9tjL6foYHE+Gy8Xtv3CPUpf7WauDxadKuIwoeNbOmoYDYbZ0ns/1wxUC7ykigs8sS/LpEe3vwUYALiKDDDSgEiSAAAAAElFTkSuQmCC') no-repeat 50% 50%; - } - .iziModal.iziModal-light .iziModal-button-fullscreen{ - background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4JpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpEQTg1NTA2NTRFODQxMUU2OTQ0N0VERjY2Q0M5ODYwRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0RTNFNENCQkI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0RTNFNENCQUI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjFlNTQwYzczLTVhZmEtNDJlYi04YzJlLWMwMzFlYmFiYmIyNiIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmVkYmRiMzM1LTAxMDUtMTE3YS1hYmM3LWEzNWNkOWU1Yzc4NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvIicdUAAAOvSURBVHjaxJlZbA1hFMe/qaItUUsspakg1laJ7UUisQuRvvTFA15sQSRCLBFrQryhHqxNHxEPtaQ8CCUkIrVVRbVBJdZYSrXVonr9/3pGxnTunZk78/X+k1+aO+1899/vnnvO+c4YKpi6ghEgW34OBD1BKjBAM6gH78Fz8BhUyrW/ikQivt7QiNMozU0DE8RkJx/3fgCPwA1QHvHp2K/hHJAPJqpwVA2K4flW2IZ7gyVgptKjh6AQxl+GYZi7uRr0U3rVBIpg+nIQwwvACpCkOk4XwYlosR3LMGN1qUqMroGDTqaNGDu7SiVWl+D3iP2i00c9HqxUidd8wzDy3HY4HRwCfWzXz4L7Lm+QKfHeOUTTLWAzdro6muH1YIbDjculWrmpUEM2YYXcCNMt9pAYE8WsWYLdlAxaNYTGMDDHKYYXBVy4B0jTFM/5iOcUc1fM/2JcnItNAYtBNzGtQ33BVHDV3OHpARqhV6CLLKpTs8yQYHxOCrDQO7AV1Gg2PBJhMYiGh4MMnx1eLkixXKsFuzSbZrrMpeGxHnqFFtvrTWCbhILd9AuNpnPMHXaTtZD0kl1mRdwSxXSjJsNZfONjcmqIJR5p3lp6Y+sXrAzsBz/lNXvmtZYMFKbqafi0pKQgKpOSPhmsC5BxXEs1Fz4fUr/7TWMe/q9bC2s3tJs1Df/Q/B5PwAZwJYS1WpPlo0zRZJZziL2gQU7I1GyHL7QSD26taVOytI26DpinxKypApvpk+C6dHlMnXskbUbT1yTpN3WJHWB327UCS3hUoc+tA/VyxP/ost5rGq7QWZnAdoe0eZgnYweDbgmgkoafgk8aTfNgsMNmmqfhC+Czj3V4T3mSBH255kxB0ztd4tNNDJkas2CUdkAKHQ3yAtxfijj/bdb7Cumyhmoyexzcs6Qwv2qUbPKvJDOtnNFklrF3R5qneA2XYHe/2A+ht1Xb3FZXRY1XTAjFTgtxJ45qKtWDpZK1g6dhIQuvBzjcy8FgQ6y8Nw+sCdnwL1Dn8jdMe6m2a+3ma9ESNUdOC1VixSH3bnPiYyraswnO0fqDIQkyW8WmCWab7b+I9TCF3+x0j2e+MPUA7LPGrVfD1F3VNsrPVR0zhS8BB5x21muzYa1Sy1Tb4y4d4qOwIi9Pk/wcj1gV50p5zQjJKAsJH8KcY4vpdYrjV0w9HMxxHjfKNpfwdMyRNuAmyy2M1vq5OegBNFMmR9lSHDizSLPMJGjuO2BZfSOtLKvpMylUvh/d/hFgAOH4+ibxGTZuAAAAAElFTkSuQmCC') no-repeat 50% 50%; - } - .iziModal.iziModal-light.isFullscreen .iziModal-button-fullscreen{ - background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyRUUxMkYxODRFODUxMUU2Qjc3RDk0MUUzMzJDRjBEOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0RTNFNENCRkI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0RTNFNENCRUI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjgzM2MwOWZiLWJjOTEtNGVlZS05MDM1LTRkMmU2ZmE1ZjBmMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyRUUxMkYxODRFODUxMUU2Qjc3RDk0MUUzMzJDRjBEOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv1Q9Z8AAAOXSURBVHjaxJlLbA1RGMfPjIs+EvoIRYt4FVUl2EkkRTxKUqQbG0SEho2FjUQ8YtEICbEgTdFYeK1KaGvVeoUltyStt0UlNE17aWhV2+v/9X5XJpMzc8/0zpn5kl+aO3Nm7r/fnPu9xhDp2URQDJbw3xkgB2QCAwyAPvANfARvQDsfG7V4PO7pC40xCiVxa8AKFjnOw7VdoA08BtG4R8VeBZeCKrBS+GPvQAM0P/NbcB7YBdYJPfYKXIXwL34IJm8eBFOFXusH9RDdnI7gLWA/MEVwdh/UOe1tN8G0V3eLcKwFXJCJNl08G5ZYsrWgWnZCJng5OOBwo1iAoisMw6hMJXgyOOywVW7xj+9BgKL3QHSxm+C9IF9y4U2GMlStRPQP8Jbp9lFwhJwE0RHrgaSV8N6xG238l7Zjtfx3K58/Bd7zsWngIqdnP2we2ACa7B7e6RL6joK5EtHNfL7b5u1Bn7dGFbycYRVM/8WyFJnuJK+z2iVwzFrMcF1h+Cx4ClhtFVyu8CW54ITE01EwFMAPcH1SMJWIqxQvItE1YHEIsXkhtkUhCV4ApiteFOPadn4IgseDMooSSxVrhWFwmkvCsKw06WGhKLhHhGuzSHChh9pZ5cc1oFFwfoTTsWrWqQCvXdZQEpkDsjUJziSv3Qu43k3LTA1BXqvRY/4DMjTd/yu4niJVm9wslCjcb4QE/9Qo+Al44baAmgpKCIqC+01OBLrsr8/de8zkiYwuUxWSq7iuM8JhantIqfYItkOepKBysnbycIfPXYKqURL6DhaBCQrrKcZHTa5loyEIJgHXwG3F9TQV+pxMGK0BiaTHn2OLEjcURbdi7XBSMO3jTxoEjtg+7wDnhG3spSD6F3hk7Tjoxnc0CJ5k+5wFCrhplYl2mmI24nyvvWumAE9z2zIfBW8WifnxIHc2yb6xiHtEoms0/hlGtpAPHCkgNDjFyZngPN88COvkPpEe+XGHbFcD7z53C+ybwKEAo0UPZ8QCybkmiL3sNvkheygSI08RYOSQiaUhd52sUpIZLWwJsYqkkdcZeHfIS66nc9XcZQRpNBY7C7F9Yy1OtonErDgSgNhGcEXmWa/VFA1O9onE6y4dRqGtXuVtkpf2iDy8EVR6GLykMnrsNFC867QF0hH8v3MVicFcuYdKy56uqQx4SukWQj3NOtJtQIt4ckSvbmdziMqy7HcS9xv0cn/Xwdn0A1drnl/d/hNgAGQa6Lgarp6BAAAAAElFTkSuQmCC') no-repeat 50% 50%; - } - - -.iziModal .iziModal-loader{ - background: #FFF url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCA0NCA0NCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHJva2U9IiM5OTkiPiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS13aWR0aD0iMiI+ICAgICAgICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxIj4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiAgICAgICAgICAgICAgICBiZWdpbj0iMHMiIGR1cj0iMS40cyIgICAgICAgICAgICAgICAgdmFsdWVzPSIxOyAyMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMTY1LCAwLjg0LCAwLjQ0LCAxIiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjEuNHMiICAgICAgICAgICAgICAgIHZhbHVlcz0iMTsgMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMywgMC42MSwgMC4zNTUsIDEiICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPiAgICAgICAgPC9jaXJjbGU+ICAgICAgICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxIj4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiAgICAgICAgICAgICAgICBiZWdpbj0iLTAuOXMiIGR1cj0iMS40cyIgICAgICAgICAgICAgICAgdmFsdWVzPSIxOyAyMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMTY1LCAwLjg0LCAwLjQ0LCAxIiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgICAgICAgICAgICAgICAgYmVnaW49Ii0wLjlzIiBkdXI9IjEuNHMiICAgICAgICAgICAgICAgIHZhbHVlcz0iMTsgMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMywgMC42MSwgMC4zNTUsIDEiICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPiAgICAgICAgPC9jaXJjbGU+ICAgIDwvZz48L3N2Zz4=) no-repeat 50% 50%; - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - z-index: 9; -} - -.iziModal .iziModal-content-loader{ - background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCA0NCA0NCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHJva2U9IiM5OTkiPiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS13aWR0aD0iMiI+ICAgICAgICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxIj4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiAgICAgICAgICAgICAgICBiZWdpbj0iMHMiIGR1cj0iMS40cyIgICAgICAgICAgICAgICAgdmFsdWVzPSIxOyAyMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMTY1LCAwLjg0LCAwLjQ0LCAxIiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjEuNHMiICAgICAgICAgICAgICAgIHZhbHVlcz0iMTsgMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMywgMC42MSwgMC4zNTUsIDEiICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPiAgICAgICAgPC9jaXJjbGU+ICAgICAgICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxIj4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiAgICAgICAgICAgICAgICBiZWdpbj0iLTAuOXMiIGR1cj0iMS40cyIgICAgICAgICAgICAgICAgdmFsdWVzPSIxOyAyMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMTY1LCAwLjg0LCAwLjQ0LCAxIiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgICAgICAgICAgICAgICAgYmVnaW49Ii0wLjlzIiBkdXI9IjEuNHMiICAgICAgICAgICAgICAgIHZhbHVlcz0iMTsgMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMywgMC42MSwgMC4zNTUsIDEiICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPiAgICAgICAgPC9jaXJjbGU+ICAgIDwvZz48L3N2Zz4=) no-repeat 50% 50%; -} - -.iziModal .iziModal-content:before, -.iziModal .iziModal-content:after { content:''; display:table } -.iziModal .iziModal-content:after { clear:both } -.iziModal .iziModal-content{ - zoom:1; - width: 100%; - -webkit-overflow-scrolling: touch; - /*overflow-y: scroll;*/ -} -.iziModal .iziModal-wrap{ - width: 100%; - position: relative; - -webkit-overflow-scrolling: touch; - overflow-scrolling: touch; -} -.iziModal .iziModal-iframe{ - border: 0; - margin: 0 0 -6px 0; - width: 100%; - transition: height 0.3s ease; -} -.iziModal-overlay{ - display: block; - position: fixed; - top: 0; - left: 0; - height: 100%; - width: 100%; -} - -.iziModal-navigate{ - position: fixed; - left: 0; - right: 0; - top: 0; - bottom: 0; - pointer-events: none; -} -.iziModal-navigate-caption{ - position: absolute; - left: 10px; - top: 10px; - color: white; - line-height: 16px; - font-size: 9px; - font-family: 'Lato', Arial; - letter-spacing: 0.1em; - text-indent: 0; - text-align: center; - width: 70px; - padding: 5px 0; - text-transform: uppercase; - display: none; -} -.iziModal-navigate-caption::before, .iziModal-navigate-caption::after { - position: absolute; - top: 2px; - width: 20px; - height: 20px; - text-align: center; - line-height: 14px; - font-size: 12px; - content: ''; - background-size: 100% !important; -} -.iziModal-navigate-caption:before{ - left: 0; - background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAoCAYAAACFFRgXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyNmFjNjAyMy04OWU0LWE0NDAtYmMxMy1kOTA5MTQ3MmYzYjAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDREQ0YwRjA1MzQzMTFFNkE5NUNDRDkyQzEwMzM5RTMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDREQ0YwRUY1MzQzMTFFNkE5NUNDRDkyQzEwMzM5RTMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmNmM0Nzk3Ni1mNzE3LTk5NDAtYTgyYS1mNTdjNmNiYmU0NWMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowZGVmYTEyZC01MzM0LTExZTYtYWRkYi04Y2NmYjI5ZTAxNjYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7oo0ptAAACWklEQVR42uyZTWsTYRSFZybxo4kWk5g2NC5qTAU3Kq30A9udi1oXolV/hWuhv6R/Q6utioi4LbbVFHemamlRU0OCEk0wZjwXzwtDoBDopHMHcuFJMplZnLm5ue+589qu61qeOApyYAjEgG0FEyLqN/gKiqBuTtgewWlwCZw056xgwwirgU3wxSv4NJgCUV5YBRXQDEhsBJwCSSauBVZFdJRlIJk9Av7wbj577jDIOENtRmPVwcsw6KfAAvikRKzEDlhnhuU/lRPBWaa9wsxqC6ndPX7OiOA4D8qW3vjO9z7H0w3+KhZstNmOFbLoCQ6DYGmL+bAInmGfLFC4asFXwRJIgB+goVmw+I7HXO+/gevGnGgUPEGxktkSmAMbWmt4HDwBKS6XN1jDKrvEFYoVK7oLroE3h93Woh1eNwqWafJ/gQV65vM+ail34mc6EZwBK2CAx8fAIjjeBYMzDT4cVHCEXtRbRvEu/Nr9HCIOnGGp15vgEec9KYn74B0nAT/CZnv86FcNvwK3wENwAjwAs2Bbs5d4CW5zir0AXvv8p+tKH34B5lkW4h2egRHtbu05uMMHHWfB0zC4NRF5l09kzvE4rd2tyUJyjy4tz7akZqXbL8QETbJ/FsMgWOJtb6brCQ5YsBsC8Uab63DVkkgqFpzie93h8OhScFah2LTHi5ccWroaLd5l6//+hpYQoWP05LKqFs2WQYbTsNxAi+5fxpWmdfh7HS7XhwSzG+H3a2JnvZsyktmLbdOFhpDMvrf4sN1u2/aK0cwMcmYLcturweceW+CnOfFPgAEA8uWFFylBJYoAAAAASUVORK5CYII=') no-repeat 50% 50%; -} -.iziModal-navigate-caption:after{ - right: 0; - background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAoCAYAAACFFRgXAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADhmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzIgNzkuMTU5Mjg0LCAyMDE2LzA0LzE5LTEzOjEzOjQwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjI2YWM2MDIzLTg5ZTQtYTQ0MC1iYzEzLWQ5MDkxNDcyZjNiMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0NERDRjBGMDUzNDMxMUU2QTk1Q0NEOTJDMTAzMzlFMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0NERDRjBFRjUzNDMxMUU2QTk1Q0NEOTJDMTAzMzlFMyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNS41IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOmY2YzQ3OTc2LWY3MTctOTk0MC1hODJhLWY1N2M2Y2JiZTQ1YyIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjBkZWZhMTJkLTUzMzQtMTFlNi1hZGRiLThjY2ZiMjllMDE2NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuijSm0AAAKbSURBVFhH7ZnJj0xRGEerzFoIMTaCZmOIedhaiJj55yz8DaYdNhIJEUMQbCTG3rQ02hDSiEY553XdTpHS3nv96taV9ElO6lVt6peb7933fffVG41GrYW5uBaX4EysYzcw1Fd8hc/wM2a0Bl6Nm3BW9i0dDPsQX/olBF6FO72AH/gG3+N3jL3KBpqGC3ERTsGfeAsHDTyHi71oCXzBe/gaU2A5bscZOIxXTb8OLQNX9i6mElYsg/voqruwfQb2BhODWgqpMYDv0NLsNXC4yd42P1PEwNJj4HBTWdipErLVDfxfMRm408QMvBu3jV6WJ1Zg9/rbeBOP+UNZYgX+iE/Rp+lpPIKliBXYB9IhtPNy3z/T/F6YmDXsChvyBc7Gs3gACxEzsDzBg9iPPXgO92NuYgeWx2h3+AhtaM7jPsyF7aV37XR8gNZYO/pwKY51+xPkG27Fk2joT3gCr2A7NuJ6HMkTeAPadlp3VeMChF7G0P6X3dmfjAXOUxIj6LZkv1ylNuStDZejkL+PS96ScFzRqnDAtI5PoTefvbg7iNNOOwqVRCfYghdxBbpHH8Y7+DcKlUTV7MLLaNghPIrjhf2N2IF34AVcjE44hrXHyE3MwE6/loEzpEcIlqKjeyFiBe7FS+he/gENewMLEyuwXdo8dGWP43UsRazA9g7uDNbwNX8oS8watlsz+ISIGbgSJgN3GgOHlnFq8zNFQraGgT1iFc9iUyU0XsMGHhy9zh6XbvCp4ZuBBWglDBj4OdqLeu0+uRJTwMZ+Dbp/e21P3m97yWe2snsw1LTHmz5C/9lQdwhfGbiq89GwvrrwUT4UAouhN6MzloTRpVuEYI5O9urZYXtrYPGQw2OlZegM163QhrJMfWVgyTq0Qq32C/N7uPz9OknWAAAAAElFTkSuQmCC') no-repeat 50% 50%; -} - .iziModal-navigate > button{ - position: fixed; - bottom: 0; - top: 0; - border:0; - height: 100%; - width: 84px; - background-size: 100% !important; - cursor: pointer; - padding: 0; - opacity: 0.2; - transition: opacity 0.3s ease; - pointer-events: all; - margin: 0; - outline: none; - } - .iziModal-navigate > button:hover{ - opacity: 1; - } - .iziModal-navigate-prev{ - left: 50%; - background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALwAAAC8CAYAAADCScSrAAAACXBIWXMAAAsTAAALEwEAmpwYAAA5sGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzIgNzkuMTU5Mjg0LCAyMDE2LzA0LzE5LTEzOjEzOjQwICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDo2NDkyYzcxMy05ZDM0LTZlNGQtYmUwNi1hMDMyY2Q4NDVjNGU8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDo1QjIzMUMxODU3RjcxMUU2ODUzRkRBRjE5RDhDQjZBRDwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDpjZmMwNzVmNC1kODA3LWI0NDMtYWIwYS02YWVhZjRjMDgxZWE8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpEZXJpdmVkRnJvbSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgIDxzdFJlZjppbnN0YW5jZUlEPnhtcC5paWQ6NjQ5MmM3MTMtOWQzNC02ZTRkLWJlMDYtYTAzMmNkODQ1YzRlPC9zdFJlZjppbnN0YW5jZUlEPgogICAgICAgICAgICA8c3RSZWY6ZG9jdW1lbnRJRD54bXAuZGlkOjY0OTJjNzEzLTlkMzQtNmU0ZC1iZTA2LWEwMzJjZDg0NWM0ZTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmNmYzA3NWY0LWQ4MDctYjQ0My1hYjBhLTZhZWFmNGMwODFlYTwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNi0wOC0wMVQxMTo1ODowNC0wMzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNS41IChXaW5kb3dzKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAxNi0wOC0wMVQwOTo0MDo1Ni0wMzowMDwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE2LTA4LTAxVDExOjU4OjA0LTAzOjAwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNi0wOC0wMVQxMTo1ODowNC0wMzowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+NjU1MzU8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjE4ODwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4xODg8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PvAvv7QAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAmdJREFUeNrs1LsJQkEQhtH/mtmBgQ8QA7tQK1e7MBBBMbADwzUZEyuQveeDCXbD4TBDay3SWJpYgYCXgJeAl4CXgJeAl4CXgJeAl4CXgJeAF/AS8BLwEvAS8BLwEvAS8BLwEvAS8BLwAl4CXgJeAl4CXv/WJskpyQJ4jQH7Mcmu0C+BV+/Y5/VeF/oV8Ood+7dpDfDqHvsrySHJBXjBDrxgB16wAy/YgRfswAt24AU78IIdeMEOPOywAw+7gIcdeMEOvGAHXrADL9iBF+zAC3bgBTvwsMMOPOwCHnYBD7uAhx14wQ68YAdesAMv2IEX7MDDDjvwsAt42AU87AIedgEPu4CHXcDDDrxgB16wAw877MDDDjvwsAt42AU87AIedgEPu4CHXcDDLuBhB16wAw877MDDLuBhF/CwC3jYBTzsAh52AQ+7gIddwEtjB3+tS/78+Z/V5d9iATz0Ah56AQ+9gIdewEMv4KEX8NALeOgFPPQCHnoBDz3wgh54QQ889NADDz30wEMv4KEX8NALeOgFPPQCHnoBD72Ahx54QQ+8oAde0AMv6IEX9MBDDz3w0EMPPPQCHnoBD72Ah17AQw+8FUAPvKAHXtADL+iBF/TAC3rgBT3wgh546KEHHnrogYdewEMv4KEHXtADL+iBF/TAC3rgBT3wgh54QQ+8oAde0AMv6IGHHnrgoU/yrgFe3aO/JdknuQOv3tGfC/tjjEsYWmsoyIWXgJeAl4CXgJeAl4CXgJeAl4CXgJeAF/AS8BLwEvAS8BLwEvAS8BLwEvAS8BLwAl4CXgJeAl4CXvqnPgAAAP//AwCEcoCBRabYzAAAAABJRU5ErkJggg==') no-repeat 50% 50%; - } - .iziModal-navigate-next{ - right: 50%; - background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALwAAAC8CAYAAADCScSrAAAACXBIWXMAAB3SAAAd0gEUasEwAAA7pGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzIgNzkuMTU5Mjg0LCAyMDE2LzA0LzE5LTEzOjEzOjQwICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNS41IChXaW5kb3dzKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAxNi0wOC0wMVQwOTo0MDoxNC0wMzowMDwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE2LTA4LTAxVDExOjU4OjEyLTAzOjAwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNi0wOC0wMVQxMTo1ODoxMi0wMzowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDphZjljN2Q2MC00MTg2LWE3NGQtYTBiMS1mMGU5ODUwYzg2ZGY8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpEb2N1bWVudElEPnhtcC5kaWQ6NjQ5MmM3MTMtOWQzNC02ZTRkLWJlMDYtYTAzMmNkODQ1YzRlPC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6NjQ5MmM3MTMtOWQzNC02ZTRkLWJlMDYtYTAzMmNkODQ1YzRlPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjY0OTJjNzEzLTlkMzQtNmU0ZC1iZTA2LWEwMzJjZDg0NWM0ZTwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNi0wOC0wMVQwOTo0MDoxNC0wMzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjAxNjJjMmE3LWZmMjYtYzE0ZC05Yjg4LTc2MGM2NzAxYjYzNzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNi0wOC0wMVQxMTo1MTowNy0wMzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmFmOWM3ZDYwLTQxODYtYTc0ZC1hMGIxLWYwZTk4NTBjODZkZjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNi0wOC0wMVQxMTo1ODoxMi0wMzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+MTkzOTAzNi8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+MTkzOTAzNi8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MTg4PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjE4ODwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+nbt1mgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACQklEQVR42uzSsQ3CQAAEQTdiOyGg/wrciJ0QUMYSECEKAP3PSdvAaZZqkWbJCQJeAl4CXgJeAl4CXgJeAl4CXgJeAl4CXsBLwEvAS8BLwEvAS8BLwEvAS8BLwEvAC3gJeAl4CXgJ+D9vrY7qBgLwo7dVZ+89oAd+5Pbq6nPQAz9s9+rZ96AHHnoBD72Ah17AQy/goRfw0At46AU89AIeegEPvYCHHnhBD7ygBx566IGHHnrgoRfw0At46AU89AIeegEPvYCHXsBDL+ChB17QAy/ogRf0wAt64KGHHnjooQceegEPvYCHXsBDL+ChF/DQAy/ogRf0wAt64AU98IIeeEEPvKAHXtADDz30wEPvI+ChF/DQAy/ogRf0wAt64AU98IIeeEEPvKAHXtADL+iBF/TAC3rgoZ8ePRDAAy/YgRfswAt24AU78IIdeMEOvGAHXrADL9iBhx124GEX8LADL9iBF+zAC3bgBTvwgh14wQ68YAcedtiBh13Awy7gYRfwsAMv2IEX7MALduAFO/CCHXjYYQcedgEPu4CHXcDDLuBhF/CwA+8E2IEX7MALduAFO/Cwww487AIedgEPu4CHXcDDLuBhF/CwC3jYgRfswMMOO/CwC3jYBTzsAh52AQ+7gIddwMMu4GEX8LBravB7dcEO/Ext1Qk78DO1VgfswEvAS8BLwEvAS8BLwEvAS8BLwEvAS8ALeAl4CXgJeAl4CXgJeAl4CXgJeAl4CXgBLwEvAS8BLwEvAS/9shcAAAD//wMAtAygvJrkwJUAAAAASUVORK5CYII=') no-repeat 50% 50%; - } - -.iziModal.isAttachedTop .iziModal-header{ - border-top-left-radius: 0; - border-top-right-radius: 0; -} -.iziModal.isAttachedTop{ - margin-top: 0 !important; - margin-bottom: auto !important; - border-top-left-radius: 0 !important; - border-top-right-radius: 0 !important; -} -.iziModal.isAttachedBottom{ - margin-top: auto !important; - margin-bottom: 0 !important; - border-bottom-left-radius: 0 !important; - border-bottom-right-radius: 0 !important; -} -.iziModal.isFullscreen{ - max-width: 100% !important; - margin: 0 !important; - height: 100% !important; - border-radius: 0 !important; -} -.iziModal.isAttached{ - border-radius: 0 !important; -} -.iziModal.hasScroll .iziModal-wrap{ - overflow-y: auto; - overflow-x: hidden; -} - -html.iziModal-isOverflow{ - overflow: hidden; -} -html.iziModal-isOverflow body, html.iziModal-isAttached body{ - overflow-y: scroll; - position: relative; -} -html.iziModal-isAttached{ - overflow: hidden; -} - -/* SCROLL */ - -.iziModal ::-webkit-scrollbar { - overflow: visible; - height: 7px; - width: 7px; -} -.iziModal ::-webkit-scrollbar-thumb { - background-color: rgba(0,0,0,.2); - background-clip: padding-box; - border: solid transparent; - border-width: 0px; - min-height: 28px; - padding: 100px 0 0; - box-shadow: inset 1px 1px 0 rgba(0,0,0,.1),inset 0 -1px 0 rgba(0,0,0,.07); -} -.iziModal ::-webkit-scrollbar-thumb:active { - background-color: rgba(0,0,0,.4); -} -.iziModal ::-webkit-scrollbar-button { - height: 0; - width: 0; -} -.iziModal ::-webkit-scrollbar-track { - background-clip: padding-box; - border: solid transparent; - border-width: 0 0 0 2px; -} - -/* MODAL ANIMATIONS */ - -.iziModal.transitionIn .iziModal-header{ - -webkit-animation: iziM-slideDown 0.7s cubic-bezier(0.7,0,0.3,1); - -moz-animation: iziM-slideDown 0.7s cubic-bezier(0.7,0,0.3,1); - animation: iziM-slideDown 0.7s cubic-bezier(0.7,0,0.3,1); -} - .iziModal.transitionIn .iziModal-header .iziModal-header-icon { - -webkit-animation: iziM-revealIn 1s cubic-bezier(.16,.81,.32,1) both; - -moz-animation: iziM-revealIn 1s cubic-bezier(.16,.81,.32,1) both; - animation: iziM-revealIn 1s cubic-bezier(.16,.81,.32,1) both; - } - .iziModal.transitionIn .iziModal-header .iziModal-header-title, .iziModal.transitionIn .iziModal-header .iziModal-header-subtitle { - -webkit-animation: iziM-slideIn 1s cubic-bezier(.16,.81,.32,1) both; - -moz-animation: iziM-slideIn 1s cubic-bezier(.16,.81,.32,1) both; - animation: iziM-slideIn 1s cubic-bezier(.16,.81,.32,1) both; - } - - .iziModal.transitionIn .iziModal-header .iziModal-button{ - -webkit-animation: iziM-revealIn 1.2s cubic-bezier(0.7,0,0.3,1); - -moz-animation: iziM-revealIn 1.2s cubic-bezier(0.7,0,0.3,1); - animation: iziM-revealIn 1.2s cubic-bezier(0.7,0,0.3,1); - } - -.iziModal.transitionIn .iziModal-iframe, .iziModal.transitionIn .iziModal-wrap{ - -webkit-animation: iziM-fadeIn 1.3s; - -moz-animation: iziM-fadeIn 1.3s; - animation: iziM-fadeIn 1.3s; -} -.iziModal.transitionIn .iziModal-header { - -webkit-animation-delay: 0.0s; - -moz-animation: 0.0s; - animation-delay: 0.0s; -} -.iziModal.transitionIn .iziModal-header .iziModal-header-icon, -.iziModal.transitionIn .iziModal-header .iziModal-header-title { - -webkit-animation-delay: 0.4s; - -moz-animation: 0.4s; - animation-delay: 0.4s; -} -.iziModal.transitionIn .iziModal-header .iziModal-header-subtitle { - -webkit-animation-delay: 0.5s; - -moz-animation: 0.5s; - animation-delay: 0.5s; -} - - .iziModal.transitionOut .iziModal-header, .iziModal.transitionOut .iziModal-header *{ - transition: none !important; - } - -/* ANIMATIONS */ - -.iziModal.fadeOut, .iziModal-overlay.fadeOut, .iziModal-navigate.fadeOut, .iziModal .fadeOut{ - -webkit-animation: iziM-fadeOut 0.5s; - -moz-animation: iziM-fadeOut 0.5s; - animation: iziM-fadeOut 0.5s; - animation-fill-mode: forwards; -} -.iziModal.fadeIn, .iziModal-overlay.fadeIn, .iziModal-navigate.fadeIn, .iziModal .fadeIn { - -webkit-animation: iziM-fadeIn 0.5s; - -moz-animation: iziM-fadeIn 0.5s; - animation: iziM-fadeIn 0.5s; -} -.iziModal.comingIn, .iziModal-overlay.comingIn { - -webkit-animation: iziM-comingIn 0.5s ease; - -moz-animation: iziM-comingIn 0.5s ease; - animation: iziM-comingIn 0.5s ease; -} -.iziModal.comingOut, .iziModal-overlay.comingOut { - -webkit-animation: iziM-comingOut 0.5s cubic-bezier(.16,.81,.32,1); - -moz-animation: iziM-comingOut 0.5s cubic-bezier(.16,.81,.32,1); - animation: iziM-comingOut 0.5s cubic-bezier(.16,.81,.32,1); - animation-fill-mode: forwards; -} -.iziModal.bounceInDown, .iziModal-overlay.bounceInDown { - -webkit-animation: iziM-bounceInDown 0.7s ease; - animation: iziM-bounceInDown 0.7s ease; -} -.iziModal.bounceOutDown, .iziModal-overlay.bounceOutDown { - -webkit-animation: iziM-bounceOutDown 0.7s ease; - animation: iziM-bounceOutDown 0.7s ease; -} -.iziModal.bounceInUp, .iziModal-overlay.bounceInUp { - -webkit-animation: iziM-bounceInUp 0.7s ease; - animation: iziM-bounceInUp 0.7s ease; -} -.iziModal.bounceOutUp, .iziModal-overlay.bounceOutUp { - -webkit-animation: iziM-bounceOutUp 0.7s ease; - animation: iziM-bounceOutUp 0.7s ease; -} -.iziModal.fadeInDown, .iziModal-overlay.fadeInDown { - -webkit-animation: iziM-fadeInDown 0.7s cubic-bezier(.16,.81,.32,1); - animation: iziM-fadeInDown 0.7s cubic-bezier(.16,.81,.32,1); -} -.iziModal.fadeOutDown, .iziModal-overlay.fadeOutDown { - -webkit-animation: iziM-fadeOutDown 0.5s ease; - animation: iziM-fadeOutDown 0.5s ease; -} -.iziModal.fadeInUp, .iziModal-overlay.fadeInUp { - -webkit-animation: iziM-fadeInUp 0.7s cubic-bezier(.16,.81,.32,1); - animation: iziM-fadeInUp 0.7s cubic-bezier(.16,.81,.32,1); -} -.iziModal.fadeOutUp, .iziModal-overlay.fadeOutUp { - -webkit-animation: iziM-fadeOutUp 0.5s ease; - animation: iziM-fadeOutUp 0.5s ease; -} -.iziModal.fadeInLeft, .iziModal-overlay.fadeInLeft { - -webkit-animation: iziM-fadeInLeft 0.7s cubic-bezier(.16,.81,.32,1); - animation: iziM-fadeInLeft 0.7s cubic-bezier(.16,.81,.32,1); -} -.iziModal.fadeOutLeft, .iziModal-overlay.fadeOutLeft { - -webkit-animation: iziM-fadeOutLeft 0.5s ease; - animation: iziM-fadeOutLeft 0.5s ease; -} -.iziModal.fadeInRight, .iziModal-overlay.fadeInRight { - -webkit-animation: iziM-fadeInRight 0.7s cubic-bezier(.16,.81,.32,1); - animation: iziM-fadeInRight 0.7s cubic-bezier(.16,.81,.32,1); -} -.iziModal.fadeOutRight, .iziModal-overlay.fadeOutRight { - -webkit-animation: iziM-fadeOutRight 0.5s ease; - animation: iziM-fadeOutRight 0.5s ease; -} -.iziModal.flipInX, .iziModal-overlay.flipInX { - -webkit-animation: iziM-flipInX 0.7s ease; - animation: iziM-flipInX 0.7s ease; -} -.iziModal.flipOutX, .iziModal-overlay.flipOutX { - -webkit-animation: iziM-flipOutX 0.7s ease; - animation: iziM-flipOutX 0.7s ease; -} - -@-webkit-keyframes iziM-comingIn { - 0% { - opacity: 0; - transform: scale(0.9) translateY(-20px) perspective( 600px ) rotateX( 10deg ); - } - 100% { - opacity: 1; - transform: scale(1) translateY(0) perspective( 600px ) rotateX( 0 ); - } -} -@-moz-keyframes iziM-comingIn { - 0% { - opacity: 0; - transform: scale(0.9) translateY(-20px) perspective( 600px ) rotateX( 10deg ); - } - 100% { - opacity: 1; - transform: scale(1) translateY(0) perspective( 600px ) rotateX( 0 ); - } -} -@keyframes iziM-comingIn { - 0% { - opacity: 0; - /*transform: translateY(-20px) perspective( 600px ) rotateX( 10deg );*/ - transform: scale(0.9) translateY(-20px) perspective( 600px ) rotateX( 10deg ); - } - 100% { - opacity: 1; - /*transform: scale(1) translateY(0) perspective( 600px ) rotateX( 0 ); */ - transform: scale(1) translateY(0) perspective( 600px ) rotateX( 0 ); - } -} - -@-webkit-keyframes iziM-comingOut { - 0% { - opacity: 1; - transform: scale(1); - } - 100% { - opacity: 0; - transform: scale(0.9); - } -} -@-moz-keyframes iziM-comingOut { - 0% { - opacity: 1; - transform: scale(1); - } - 100% { - opacity: 0; - transform: scale(0.9); - } -} -@keyframes iziM-comingOut { - 0% { - opacity: 1; - transform: scale(1); - } - 100% { - opacity: 0; - transform: scale(0.9); - } -} -@-webkit-keyframes iziM-fadeOut { - 0% {opacity: 1;} - 100% {opacity: 0;} -} -@-moz-keyframes iziM-fadeOut { - 0% {opacity: 1;} - 100% {opacity: 0;} -} -@keyframes iziM-fadeOut { - 0% {opacity: 1;} - 100% {opacity: 0;} -} - -@-webkit-keyframes iziM-fadeIn { - 0% {opacity: 0;} - 100% {opacity: 1;} -} -@-moz-keyframes iziM-fadeIn { - 0% {opacity: 0;} - 100% {opacity: 1;} -} -@keyframes iziM-fadeIn { - 0% {opacity: 0;} - 100% {opacity: 1;} -} - -@-webkit-keyframes iziM-slideIn { - 0% { - opacity: 0; - -webkit-transform: translateX(50px); - } - 100% { - opacity: 1; - -webkit-transform: translateX(0); - } -} -@-moz-keyframes iziM-slideIn { - 0% { - opacity: 0; - -moz-transform: translateX(50px); - } - 100% { - opacity: 1; - -moz-transform: translateX(0); - } -} -@keyframes iziM-slideIn { - 0% { - opacity: 0; - transform: translateX(50px); - } - 100% { - opacity: 1; - transform: translateX(0); - } -} - -@-webkit-keyframes iziM-slideDown { - 0% { opacity: 0; -webkit-transform: scale(1,0) translateY(-40px); -webkit-transform-origin: center top; } -} -@-moz-keyframes iziM-slideDown { - 0% { opacity: 0; -moz-transform: scale(1,0) translateY(-40px); -moz-transform-origin: center top; } -} -@keyframes iziM-slideDown { - 0% { opacity: 0; transform: scale(1,0) translateY(-40px); transform-origin: center top; } -} - -@-webkit-keyframes iziM-revealIn { - 0% { opacity: 0; -webkit-transform: scale3d(0.3,0.3,1); } -} -@-moz-keyframes iziM-revealIn { - 0% { opacity: 0; -moz-transform: scale3d(0.3,0.3,1); } -} -@keyframes iziM-revealIn { - 0% { opacity: 0; transform: scale3d(0.3,0.3,1); } -} - -@-webkit-keyframes iziM-bounceInDown { - from, 60%, 75%, 90%, to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -1000px, 0); - transform: translate3d(0, -1000px, 0); - } - 60% { - opacity: 1; - -webkit-transform: translate3d(0, 25px, 0); - transform: translate3d(0, 25px, 0); - } - 75% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - 90% { - -webkit-transform: translate3d(0, 5px, 0); - transform: translate3d(0, 5px, 0); - } - to { - -webkit-transform: none; - transform: none; - } -} -@keyframes iziM-bounceInDown { - from, 60%, 75%, 90%, to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -1000px, 0); - transform: translate3d(0, -1000px, 0); - } - 60% { - opacity: 1; - -webkit-transform: translate3d(0, 25px, 0); - transform: translate3d(0, 25px, 0); - } - 75% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - 90% { - -webkit-transform: translate3d(0, 5px, 0); - transform: translate3d(0, 5px, 0); - } - to { - -webkit-transform: none; - transform: none; - } -} -@-webkit-keyframes iziM-bounceOutDown { - 20% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - to { - opacity: 0; - -webkit-transform: translate3d(0, 1000px, 0); - transform: translate3d(0, 1000px, 0); - } -} -@keyframes iziM-bounceOutDown { - 20% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - to { - opacity: 0; - -webkit-transform: translate3d(0, 1000px, 0); - transform: translate3d(0, 1000px, 0); - } -} - -@-webkit-keyframes iziM-bounceInUp { - from, 60%, 75%, 90%, to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - from { - opacity: 0; - -webkit-transform: translate3d(0, 1000px, 0); - transform: translate3d(0, 1000px, 0); - } - 60% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - 75% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - 90% { - -webkit-transform: translate3d(0, -5px, 0); - transform: translate3d(0, -5px, 0); - } - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} -@keyframes iziM-bounceInUp { - from, 60%, 75%, 90%, to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); - } - from { - opacity: 0; - -webkit-transform: translate3d(0, 1000px, 0); - transform: translate3d(0, 1000px, 0); - } - 60% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - 75% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - 90% { - -webkit-transform: translate3d(0, -5px, 0); - transform: translate3d(0, -5px, 0); - } - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@-webkit-keyframes iziM-bounceOutUp { - 20% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, 20px, 0); - transform: translate3d(0, 20px, 0); - } - to { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } -} -@keyframes iziM-bounceOutUp { - 20% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - 40%, 45% { - opacity: 1; - -webkit-transform: translate3d(0, 20px, 0); - transform: translate3d(0, 20px, 0); - } - to { - opacity: 0; - -webkit-transform: translate3d(0, -1000px, 0); - transform: translate3d(0, -1000px, 0); - } -} - -@-webkit-keyframes iziM-fadeInDown { - from { - opacity: 0; - -webkit-transform: translate3d(0, -100px, 0); - transform: translate3d(0, -100px, 0); - } - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} -@keyframes iziM-fadeInDown { - from { - opacity: 0; - -webkit-transform: translate3d(0, -100px, 0); - transform: translate3d(0, -100px, 0); - } - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -@-webkit-keyframes iziM-fadeOutDown { - from { - opacity: 1; - } - to { - opacity: 0; - -webkit-transform: translate3d(0, 100px, 0); - transform: translate3d(0, 100px, 0); - } -} -@keyframes iziM-fadeOutDown { - from { - opacity: 1; - } - to { - opacity: 0; - -webkit-transform: translate3d(0, 100px, 0); - transform: translate3d(0, 100px, 0); - } -} - -@-webkit-keyframes iziM-fadeInUp { - from { - opacity: 0; - -webkit-transform: translate3d(0, 100px, 0); - transform: translate3d(0, 100px, 0); - } - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} -@keyframes iziM-fadeInUp { - from { - opacity: 0; - -webkit-transform: translate3d(0, 100px, 0); - transform: translate3d(0, 100px, 0); - } - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -@-webkit-keyframes iziM-fadeOutUp { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, -100px, 0); - transform: translate3d(0, -100px, 0); - } -} -@keyframes iziM-fadeOutUp { - from { - opacity: 1; - } - to { - opacity: 0; - -webkit-transform: translate3d(0, -100px, 0); - transform: translate3d(0, -100px, 0); - } -} - -@-webkit-keyframes iziM-fadeInLeft { - from { - opacity: 0; - -webkit-transform: translate3d(-200px, 0, 0); - transform: translate3d(-200px, 0, 0); - } - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} -@keyframes iziM-fadeInLeft { - from { - opacity: 0; - -webkit-transform: translate3d(-200px, 0, 0); - transform: translate3d(-200px, 0, 0); - } - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -@-webkit-keyframes iziM-fadeOutLeft { - from { - opacity: 1; - } - to { - opacity: 0; - -webkit-transform: translate3d(-200px, 0, 0); - transform: translate3d(-200px, 0, 0); - } -} -@keyframes iziM-fadeOutLeft { - from { - opacity: 1; - } - to { - opacity: 0; - -webkit-transform: translate3d(-200px, 0, 0); - transform: translate3d(-200px, 0, 0); - } -} - -@-webkit-keyframes iziM-fadeInRight { - from { - opacity: 0; - -webkit-transform: translate3d(200px, 0, 0); - transform: translate3d(200px, 0, 0); - } - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} -@keyframes iziM-fadeInRight { - from { - opacity: 0; - -webkit-transform: translate3d(200px, 0, 0); - transform: translate3d(200px, 0, 0); - } - to { - opacity: 1; - -webkit-transform: none; - transform: none; - } -} - -@-webkit-keyframes iziM-fadeOutRight { - from { - opacity: 1; - } - to { - opacity: 0; - -webkit-transform: translate3d(200px, 0, 0); - transform: translate3d(200px, 0, 0); - } -} -@keyframes iziM-fadeOutRight { - from { - opacity: 1; - } - to { - opacity: 0; - -webkit-transform: translate3d(200px, 0, 0); - transform: translate3d(200px, 0, 0); - } -} - -@-webkit-keyframes iziM-flipInX { - 0% { - -webkit-transform: perspective(400px) rotateX(60deg); - opacity: 0; - } - 40% { - -webkit-transform: perspective(400px) rotateX(-10deg); - } - 70% { - -webkit-transform: perspective(400px) rotateX(10deg); - } - 100% { - -webkit-transform: perspective(400px) rotateX(0deg); - opacity: 1; - } -} -@keyframes iziM-flipInX { - 0% { - transform: perspective(400px) rotateX(60deg); - opacity: 0; - } - 40% { - transform: perspective(400px) rotateX(-10deg); - } - 70% { - transform: perspective(400px) rotateX(10deg); - } - 100% { - transform: perspective(400px) rotateX(0deg); - opacity: 1; - } -} - -@-webkit-keyframes iziM-flipOutX { - from { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - - 30% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - opacity: 1; - } - - to { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 40deg); - transform: perspective(400px) rotate3d(1, 0, 0, 40deg); - opacity: 0; - } -} -@keyframes iziM-flipOutX { - from { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - 30% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - opacity: 1; - } - to { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 40deg); - transform: perspective(400px) rotate3d(1, 0, 0, 40deg); - opacity: 0; - } -} \ No newline at end of file diff --git a/assets/stylesheets/admin/vendor/_sweetalert2.scss b/assets/stylesheets/admin/vendor/_sweetalert2.scss deleted file mode 100644 index e3e88aa3..00000000 --- a/assets/stylesheets/admin/vendor/_sweetalert2.scss +++ /dev/null @@ -1,708 +0,0 @@ -body { - swal2-shown { - overflow-y: hidden; } - - .swal2-iosfix { - position: fixed; - left: 0; - right: 0; } - -.swal2-container { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - position: fixed; - top: 0; - left: 0; - bottom: 0; - right: 0; - padding: 10px; - background-color: transparent; - z-index: 1060; } - .swal2-container.swal2-fade { - -webkit-transition: background-color .1s; - transition: background-color .1s; } - .swal2-container.swal2-shown { - background-color: rgba(0, 0, 0, 0.4); } - -.swal2-modal { - background-color: #fff; - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - border-radius: 5px; - box-sizing: border-box; - text-align: center; - margin: auto; - overflow-x: hidden; - overflow-y: auto; - display: none; - position: relative; - max-width: 100%; } - .swal2-modal:focus { - outline: none; } - .swal2-modal.swal2-loading { - overflow-y: hidden; } - .swal2-modal .swal2-title { - color: #595959; - font-size: 30px; - text-align: center; - font-weight: 600; - text-transform: none; - position: relative; - margin: 0 0 .4em; - padding: 0; - display: block; - word-wrap: break-word; } - .swal2-modal .swal2-buttonswrapper { - margin-top: 15px; } - .swal2-modal .swal2-buttonswrapper:not(.swal2-loading) .swal2-styled[disabled] { - opacity: .4; - cursor: no-drop; } - .swal2-modal .swal2-buttonswrapper.swal2-loading .swal2-styled.swal2-confirm { - box-sizing: border-box; - border: 4px solid transparent; - border-color: transparent; - width: 40px; - height: 40px; - padding: 0; - margin: 7.5px; - vertical-align: top; - background-color: transparent !important; - color: transparent; - cursor: default; - border-radius: 100%; - -webkit-animation: rotate-loading 1.5s linear 0s infinite normal; - animation: rotate-loading 1.5s linear 0s infinite normal; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; } - .swal2-modal .swal2-buttonswrapper.swal2-loading .swal2-styled.swal2-cancel { - margin-left: 30px; - margin-right: 30px; } - .swal2-modal .swal2-buttonswrapper.swal2-loading :not(.swal2-styled).swal2-confirm::after { - display: inline-block; - content: ''; - margin-left: 5px 0 15px; - vertical-align: -1px; - height: 15px; - width: 15px; - border: 3px solid #999999; - box-shadow: 1px 1px 1px #fff; - border-right-color: transparent; - border-radius: 50%; - -webkit-animation: rotate-loading 1.5s linear 0s infinite normal; - animation: rotate-loading 1.5s linear 0s infinite normal; } - .swal2-modal .swal2-styled { - border: 0; - border-radius: 3px; - box-shadow: none; - color: #fff; - cursor: pointer; - font-size: 17px; - font-weight: 500; - margin: 15px 5px 0; - padding: 10px 32px; } - .swal2-modal .swal2-image { - margin: 20px auto; - max-width: 100%; } - .swal2-modal .swal2-close { - background: transparent; - border: 0; - margin: 0; - padding: 0; - width: 38px; - height: 40px; - font-size: 36px; - line-height: 40px; - font-family: serif; - position: absolute; - top: 5px; - right: 8px; - cursor: pointer; - color: #cccccc; - -webkit-transition: color .1s ease; - transition: color .1s ease; } - .swal2-modal .swal2-close:hover { - color: #d55; } - .swal2-modal > .swal2-input, - .swal2-modal > .swal2-file, - .swal2-modal > .swal2-textarea, - .swal2-modal > .swal2-select, - .swal2-modal > .swal2-radio, - .swal2-modal > .swal2-checkbox { - display: none; } - .swal2-modal .swal2-content { - font-size: 18px; - text-align: center; - font-weight: 300; - position: relative; - float: none; - margin: 0; - padding: 0; - line-height: normal; - color: #545454; - word-wrap: break-word; } - .swal2-modal .swal2-input, - .swal2-modal .swal2-file, - .swal2-modal .swal2-textarea, - .swal2-modal .swal2-select, - .swal2-modal .swal2-radio, - .swal2-modal .swal2-checkbox { - margin: 20px auto; } - .swal2-modal .swal2-input, - .swal2-modal .swal2-file, - .swal2-modal .swal2-textarea { - width: 100%; - box-sizing: border-box; - font-size: 18px; - border-radius: 3px; - border: 1px solid #d9d9d9; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06); - -webkit-transition: border-color box-shadow .3s; - transition: border-color box-shadow .3s; } - .swal2-modal .swal2-input.swal2-inputerror, - .swal2-modal .swal2-file.swal2-inputerror, - .swal2-modal .swal2-textarea.swal2-inputerror { - border-color: #f27474 !important; - box-shadow: 0 0 2px #f27474 !important; } - .swal2-modal .swal2-input:focus, - .swal2-modal .swal2-file:focus, - .swal2-modal .swal2-textarea:focus { - outline: none; - border: 1px solid #b4dbed; - box-shadow: 0 0 3px #c4e6f5; } - .swal2-modal .swal2-input:focus::-webkit-input-placeholder, - .swal2-modal .swal2-file:focus::-webkit-input-placeholder, - .swal2-modal .swal2-textarea:focus::-webkit-input-placeholder { - -webkit-transition: opacity .3s .03s ease; - transition: opacity .3s .03s ease; - opacity: .8; } - .swal2-modal .swal2-input:focus:-ms-input-placeholder, - .swal2-modal .swal2-file:focus:-ms-input-placeholder, - .swal2-modal .swal2-textarea:focus:-ms-input-placeholder { - -webkit-transition: opacity .3s .03s ease; - transition: opacity .3s .03s ease; - opacity: .8; } - .swal2-modal .swal2-input:focus::placeholder, - .swal2-modal .swal2-file:focus::placeholder, - .swal2-modal .swal2-textarea:focus::placeholder { - -webkit-transition: opacity .3s .03s ease; - transition: opacity .3s .03s ease; - opacity: .8; } - .swal2-modal .swal2-input::-webkit-input-placeholder, - .swal2-modal .swal2-file::-webkit-input-placeholder, - .swal2-modal .swal2-textarea::-webkit-input-placeholder { - color: #e6e6e6; } - .swal2-modal .swal2-input:-ms-input-placeholder, - .swal2-modal .swal2-file:-ms-input-placeholder, - .swal2-modal .swal2-textarea:-ms-input-placeholder { - color: #e6e6e6; } - .swal2-modal .swal2-input::placeholder, - .swal2-modal .swal2-file::placeholder, - .swal2-modal .swal2-textarea::placeholder { - color: #e6e6e6; } - .swal2-modal .swal2-range input { - float: left; - width: 80%; } - .swal2-modal .swal2-range output { - float: right; - width: 20%; - font-size: 20px; - font-weight: 600; - text-align: center; } - .swal2-modal .swal2-range input, - .swal2-modal .swal2-range output { - height: 43px; - line-height: 43px; - vertical-align: middle; - margin: 20px auto; - padding: 0; } - .swal2-modal .swal2-input { - height: 43px; - padding: 0 12px; } - .swal2-modal .swal2-input[type='number'] { - max-width: 150px; } - .swal2-modal .swal2-file { - font-size: 20px; } - .swal2-modal .swal2-textarea { - height: 108px; - padding: 12px; } - .swal2-modal .swal2-select { - color: #545454; - font-size: inherit; - padding: 5px 10px; - min-width: 40%; - max-width: 100%; } - .swal2-modal .swal2-radio { - border: 0; } - .swal2-modal .swal2-radio label:not(:first-child) { - margin-left: 20px; } - .swal2-modal .swal2-radio input, - .swal2-modal .swal2-radio span { - vertical-align: middle; } - .swal2-modal .swal2-radio input { - margin: 0 3px 0 0; } - .swal2-modal .swal2-checkbox { - color: #545454; } - .swal2-modal .swal2-checkbox input, - .swal2-modal .swal2-checkbox span { - vertical-align: middle; } - .swal2-modal .swal2-validationerror { - background-color: #f0f0f0; - margin: 0 -20px; - overflow: hidden; - padding: 10px; - color: gray; - font-size: 16px; - font-weight: 300; - display: none; } - .swal2-modal .swal2-validationerror::before { - content: '!'; - display: inline-block; - width: 24px; - height: 24px; - border-radius: 50%; - background-color: #ea7d7d; - color: #fff; - line-height: 24px; - text-align: center; - margin-right: 10px; } - -@supports (-ms-accelerator: true) { - .swal2-range input { - width: 100% !important; } - .swal2-range output { - display: none; } } - -@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { - .swal2-range input { - width: 100% !important; } - .swal2-range output { - display: none; } } - -.swal2-icon { - width: 80px; - height: 80px; - border: 4px solid transparent; - border-radius: 50%; - margin: 20px auto 30px; - padding: 0; - position: relative; - box-sizing: content-box; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; } - .swal2-icon.swal2-error { - border-color: #f27474; } - .swal2-icon.swal2-error .swal2-x-mark { - position: relative; - display: block; } - .swal2-icon.swal2-error [class^='swal2-x-mark-line'] { - position: absolute; - height: 5px; - width: 47px; - background-color: #f27474; - display: block; - top: 37px; - border-radius: 2px; } - .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] { - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - left: 17px; } - .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - right: 16px; } - .swal2-icon.swal2-warning { - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - color: #f8bb86; - border-color: #facea8; - font-size: 60px; - line-height: 80px; - text-align: center; } - .swal2-icon.swal2-info { - font-family: 'Open Sans', sans-serif; - color: #3fc3ee; - border-color: #9de0f6; - font-size: 60px; - line-height: 80px; - text-align: center; } - .swal2-icon.swal2-question { - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - color: #87adbd; - border-color: #c9dae1; - font-size: 60px; - line-height: 80px; - text-align: center; } - .swal2-icon.swal2-success { - border-color: #a5dc86; } - .swal2-icon.swal2-success [class^='swal2-success-circular-line'] { - border-radius: 50%; - position: absolute; - width: 60px; - height: 120px; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); } - .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='left'] { - border-radius: 120px 0 0 120px; - top: -7px; - left: -33px; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - -webkit-transform-origin: 60px 60px; - transform-origin: 60px 60px; } - .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='right'] { - border-radius: 0 120px 120px 0; - top: -11px; - left: 30px; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - -webkit-transform-origin: 0 60px; - transform-origin: 0 60px; } - .swal2-icon.swal2-success .swal2-success-ring { - width: 80px; - height: 80px; - border: 4px solid rgba(165, 220, 134, 0.2); - border-radius: 50%; - box-sizing: content-box; - position: absolute; - left: -4px; - top: -4px; - z-index: 2; } - .swal2-icon.swal2-success .swal2-success-fix { - width: 7px; - height: 90px; - position: absolute; - left: 28px; - top: 8px; - z-index: 1; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); } - .swal2-icon.swal2-success [class^='swal2-success-line'] { - height: 5px; - background-color: #a5dc86; - display: block; - border-radius: 2px; - position: absolute; - z-index: 2; } - .swal2-icon.swal2-success [class^='swal2-success-line'][class$='tip'] { - width: 25px; - left: 14px; - top: 46px; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); } - .swal2-icon.swal2-success [class^='swal2-success-line'][class$='long'] { - width: 47px; - right: 8px; - top: 38px; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); } - -.swal2-progresssteps { - font-weight: 600; - margin: 0 0 20px; - padding: 0; } - .swal2-progresssteps li { - display: inline-block; - position: relative; } - .swal2-progresssteps .swal2-progresscircle { - background: #3085d6; - border-radius: 2em; - color: #fff; - height: 2em; - line-height: 2em; - text-align: center; - width: 2em; - z-index: 20; } - .swal2-progresssteps .swal2-progresscircle:first-child { - margin-left: 0; } - .swal2-progresssteps .swal2-progresscircle:last-child { - margin-right: 0; } - .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep { - background: #3085d6; } - .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep ~ .swal2-progresscircle { - background: #add8e6; } - .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep ~ .swal2-progressline { - background: #add8e6; } - .swal2-progresssteps .swal2-progressline { - background: #3085d6; - height: .4em; - margin: 0 -1px; - z-index: 10; } - -[class^='swal2'] { - -webkit-tap-highlight-color: transparent; } - -@-webkit-keyframes showSweetAlert { - 0% { - -webkit-transform: scale(0.7); - transform: scale(0.7); } - 45% { - -webkit-transform: scale(1.05); - transform: scale(1.05); } - 80% { - -webkit-transform: scale(0.95); - transform: scale(0.95); } - 100% { - -webkit-transform: scale(1); - transform: scale(1); } } - -@keyframes showSweetAlert { - 0% { - -webkit-transform: scale(0.7); - transform: scale(0.7); } - 45% { - -webkit-transform: scale(1.05); - transform: scale(1.05); } - 80% { - -webkit-transform: scale(0.95); - transform: scale(0.95); } - 100% { - -webkit-transform: scale(1); - transform: scale(1); } } - -@-webkit-keyframes hideSweetAlert { - 0% { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1; } - 100% { - -webkit-transform: scale(0.5); - transform: scale(0.5); - opacity: 0; } } - -@keyframes hideSweetAlert { - 0% { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1; } - 100% { - -webkit-transform: scale(0.5); - transform: scale(0.5); - opacity: 0; } } - -.swal2-show { - -webkit-animation: showSweetAlert 0.3s; - animation: showSweetAlert 0.3s; } - .swal2-show.swal2-noanimation { - -webkit-animation: none; - animation: none; } - -.swal2-hide { - -webkit-animation: hideSweetAlert 0.15s forwards; - animation: hideSweetAlert 0.15s forwards; } - .swal2-hide.swal2-noanimation { - -webkit-animation: none; - animation: none; } - -@-webkit-keyframes animate-success-tip { - 0% { - width: 0; - left: 1px; - top: 19px; } - 54% { - width: 0; - left: 1px; - top: 19px; } - 70% { - width: 50px; - left: -8px; - top: 37px; } - 84% { - width: 17px; - left: 21px; - top: 48px; } - 100% { - width: 25px; - left: 14px; - top: 45px; } } - -@keyframes animate-success-tip { - 0% { - width: 0; - left: 1px; - top: 19px; } - 54% { - width: 0; - left: 1px; - top: 19px; } - 70% { - width: 50px; - left: -8px; - top: 37px; } - 84% { - width: 17px; - left: 21px; - top: 48px; } - 100% { - width: 25px; - left: 14px; - top: 45px; } } - -@-webkit-keyframes animate-success-long { - 0% { - width: 0; - right: 46px; - top: 54px; } - 65% { - width: 0; - right: 46px; - top: 54px; } - 84% { - width: 55px; - right: 0; - top: 35px; } - 100% { - width: 47px; - right: 8px; - top: 38px; } } - -@keyframes animate-success-long { - 0% { - width: 0; - right: 46px; - top: 54px; } - 65% { - width: 0; - right: 46px; - top: 54px; } - 84% { - width: 55px; - right: 0; - top: 35px; } - 100% { - width: 47px; - right: 8px; - top: 38px; } } - -@-webkit-keyframes rotatePlaceholder { - 0% { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); } - 5% { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); } - 12% { - -webkit-transform: rotate(-405deg); - transform: rotate(-405deg); } - 100% { - -webkit-transform: rotate(-405deg); - transform: rotate(-405deg); } } - -@keyframes rotatePlaceholder { - 0% { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); } - 5% { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); } - 12% { - -webkit-transform: rotate(-405deg); - transform: rotate(-405deg); } - 100% { - -webkit-transform: rotate(-405deg); - transform: rotate(-405deg); } } - -.swal2-animate-success-line-tip { - -webkit-animation: animate-success-tip 0.75s; - animation: animate-success-tip 0.75s; } - -.swal2-animate-success-line-long { - -webkit-animation: animate-success-long 0.75s; - animation: animate-success-long 0.75s; } - -.swal2-success.swal2-animate-success-icon .swal2-success-circular-line-right { - -webkit-animation: rotatePlaceholder 4.25s ease-in; - animation: rotatePlaceholder 4.25s ease-in; } - -@-webkit-keyframes animate-error-icon { - 0% { - -webkit-transform: rotateX(100deg); - transform: rotateX(100deg); - opacity: 0; } - 100% { - -webkit-transform: rotateX(0deg); - transform: rotateX(0deg); - opacity: 1; } } - -@keyframes animate-error-icon { - 0% { - -webkit-transform: rotateX(100deg); - transform: rotateX(100deg); - opacity: 0; } - 100% { - -webkit-transform: rotateX(0deg); - transform: rotateX(0deg); - opacity: 1; } } - -.swal2-animate-error-icon { - -webkit-animation: animate-error-icon 0.5s; - animation: animate-error-icon 0.5s; } - -@-webkit-keyframes animate-x-mark { - 0% { - -webkit-transform: scale(0.4); - transform: scale(0.4); - margin-top: 26px; - opacity: 0; } - 50% { - -webkit-transform: scale(0.4); - transform: scale(0.4); - margin-top: 26px; - opacity: 0; } - 80% { - -webkit-transform: scale(1.15); - transform: scale(1.15); - margin-top: -6px; } - 100% { - -webkit-transform: scale(1); - transform: scale(1); - margin-top: 0; - opacity: 1; } } - -@keyframes animate-x-mark { - 0% { - -webkit-transform: scale(0.4); - transform: scale(0.4); - margin-top: 26px; - opacity: 0; } - 50% { - -webkit-transform: scale(0.4); - transform: scale(0.4); - margin-top: 26px; - opacity: 0; } - 80% { - -webkit-transform: scale(1.15); - transform: scale(1.15); - margin-top: -6px; } - 100% { - -webkit-transform: scale(1); - transform: scale(1); - margin-top: 0; - opacity: 1; } } - -.swal2-animate-x-mark { - -webkit-animation: animate-x-mark 0.5s; - animation: animate-x-mark 0.5s; } - -@-webkit-keyframes rotate-loading { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } - -@keyframes rotate-loading { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } -} diff --git a/assets/stylesheets/base/_functions.scss b/assets/stylesheets/base/_functions.scss deleted file mode 100644 index 582dc7c6..00000000 --- a/assets/stylesheets/base/_functions.scss +++ /dev/null @@ -1,20 +0,0 @@ -@function remove-unit($number) { - $unit: unit($number); - $one: 1; - - @if $unit == "px" { $one: 1px; } - @if $unit == "em" { $one: 1px; } - @if $unit == "%" { $one: 1px; } - - @return $number / $one; -} - -@function flex($target, $context, $unit: "em") { - $size: remove-unit($target) / remove-unit($context); - - @if $unit == "em" { @return #{$size}em; } - @if $unit == "%" { @return percentage($size); } -} - -@function perc($target, $context) { @return flex($target, $context, "%"); } -@function em($target, $context:$fontSizeDefault) { @return flex($target, $context, "em"); } \ No newline at end of file diff --git a/assets/stylesheets/base/_helpers.scss b/assets/stylesheets/base/_helpers.scss deleted file mode 100644 index 8104ff5c..00000000 --- a/assets/stylesheets/base/_helpers.scss +++ /dev/null @@ -1,114 +0,0 @@ -%clearFix { - clear: both; - - &:after { - clear: both; - content: ''; - display: block; - font-size: 0; - height: 0; - visibility: hidden; - } -} - -%ellipsis { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -%imageReplacement { - overflow: hidden; - text-indent: 101%; - white-space: nowrap; -} - -%img { - display: block; - height: auto; - max-width: 100%; -} - -%alignCenterV { - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); -} - -%alignCenterH { - left: 50%; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); -} - -%alignCenter { - left: 50%; - top: 50%; - -webkit-transform: translate3d(-50%, -50%, 0); - -ms-transform: translate(-50%,-50%); - transform: translate3d(-50%, -50%, 0); -} - -%translate { - -ms-transform: translate(-50%,-50%); - -webkit-transform: translate(-50%,-50%); - transform: translate(-50%,-50%); -} - -%noSelect { - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -%transitionAll { - -webkit-transition: all 0.5s ease-in-out; - -moz-transition: all 0.5s ease-in-out; - -ms-transition: all 0.5s ease-in-out; - transition: all 0.5s ease-in-out; -} - -@-ms-keyframes spinner { - from { -ms-transform: rotate(0deg); } - to { -ms-transform: rotate(360deg); } -} -@-moz-keyframes spinner { - from { -moz-transform: rotate(0deg); } - to { -moz-transform: rotate(360deg); } -} -@-webkit-keyframes spinner { - from { -webkit-transform: rotate(0deg); } - to { -webkit-transform: rotate(360deg); } -} -@keyframes spinner { - from { - transform:rotate(0deg); - } - to { - transform:rotate(360deg); - } -} - -%spinner { - position: absolute; - -webkit-animation-name: spinner; - -webkit-animation-duration: 700ms; - -webkit-animation-iteration-count: infinite; - -webkit-animation-timing-function: linear; - -moz-animation-name: spinner; - -moz-animation-duration: 700ms; - -moz-animation-iteration-count: infinite; - -moz-animation-timing-function: linear; - -ms-animation-name: spinner; - -ms-animation-duration: 700ms; - -ms-animation-iteration-count: infinite; - -ms-animation-timing-function: linear; - - animation-name: spinner; - animation-duration: 700ms; - animation-iteration-count: infinite; - animation-timing-function: linear; -} \ No newline at end of file diff --git a/assets/stylesheets/base/_mixins.scss b/assets/stylesheets/base/_mixins.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/assets/stylesheets/base/_variables.scss b/assets/stylesheets/base/_variables.scss deleted file mode 100644 index af640324..00000000 --- a/assets/stylesheets/base/_variables.scss +++ /dev/null @@ -1,23 +0,0 @@ -$prefix : pagarme; - -// - Variables > Grid -$mobile : 533px; -$tablet : 769px; - -// - Variables > Colors -$colorWhite : #ffffff; -$colorCheckboxOn : #2fb175; -$colorCheckboxOff : #ea6262; -$colorPrimary : #45c0be; -$colorButton : #008EC2; -$colorButtonHover : #00a0d2; - -// - Variables > Fonts - -$fontPrimary : "Times New Roman", sans-serif; -$fontPrimaryBold : Tahoma, sans-serif; -$fontSecondary : Arial, sans-serif; -$fontIcon : $prefix; - -// - Variables > Font Size -$fontSizeDefault : 16px; diff --git a/assets/stylesheets/base/index.php b/assets/stylesheets/base/index.php deleted file mode 100644 index 02d344bc..00000000 --- a/assets/stylesheets/base/index.php +++ /dev/null @@ -1,2 +0,0 @@ - .swal2-input, -body .swal2-modal > .swal2-file, -body .swal2-modal > .swal2-textarea, -body .swal2-modal > .swal2-select, -body .swal2-modal > .swal2-radio, -body .swal2-modal > .swal2-checkbox { - display: none; -} -body .swal2-modal .swal2-content { - font-size: 18px; - text-align: center; - font-weight: 300; - position: relative; - float: none; - margin: 0; - padding: 0; - line-height: normal; - color: #545454; - word-wrap: break-word; -} -body .swal2-modal .swal2-input, -body .swal2-modal .swal2-file, -body .swal2-modal .swal2-textarea, -body .swal2-modal .swal2-select, -body .swal2-modal .swal2-radio, -body .swal2-modal .swal2-checkbox { - margin: 20px auto; -} -body .swal2-modal .swal2-input, -body .swal2-modal .swal2-file, -body .swal2-modal .swal2-textarea { - width: 100%; - box-sizing: border-box; - font-size: 18px; - border-radius: 3px; - border: 1px solid #d9d9d9; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06); - -webkit-transition: border-color box-shadow 0.3s; - transition: border-color box-shadow 0.3s; -} -body .swal2-modal .swal2-input.swal2-inputerror, -body .swal2-modal .swal2-file.swal2-inputerror, -body .swal2-modal .swal2-textarea.swal2-inputerror { - border-color: #f27474 !important; - box-shadow: 0 0 2px #f27474 !important; -} -body .swal2-modal .swal2-input:focus, -body .swal2-modal .swal2-file:focus, -body .swal2-modal .swal2-textarea:focus { - outline: none; - border: 1px solid #b4dbed; - box-shadow: 0 0 3px #c4e6f5; -} -body .swal2-modal .swal2-input:focus::-webkit-input-placeholder, -body .swal2-modal .swal2-file:focus::-webkit-input-placeholder, -body .swal2-modal .swal2-textarea:focus::-webkit-input-placeholder { - -webkit-transition: opacity 0.3s 0.03s ease; - transition: opacity 0.3s 0.03s ease; - opacity: 0.8; -} -body .swal2-modal .swal2-input:focus:-ms-input-placeholder, -body .swal2-modal .swal2-file:focus:-ms-input-placeholder, -body .swal2-modal .swal2-textarea:focus:-ms-input-placeholder { - -webkit-transition: opacity 0.3s 0.03s ease; - transition: opacity 0.3s 0.03s ease; - opacity: 0.8; -} -body .swal2-modal .swal2-input:focus::placeholder, -body .swal2-modal .swal2-file:focus::placeholder, -body .swal2-modal .swal2-textarea:focus::placeholder { - -webkit-transition: opacity 0.3s 0.03s ease; - transition: opacity 0.3s 0.03s ease; - opacity: 0.8; -} -body .swal2-modal .swal2-input::-webkit-input-placeholder, -body .swal2-modal .swal2-file::-webkit-input-placeholder, -body .swal2-modal .swal2-textarea::-webkit-input-placeholder { - color: #e6e6e6; -} -body .swal2-modal .swal2-input:-ms-input-placeholder, -body .swal2-modal .swal2-file:-ms-input-placeholder, -body .swal2-modal .swal2-textarea:-ms-input-placeholder { - color: #e6e6e6; -} -body .swal2-modal .swal2-input::placeholder, -body .swal2-modal .swal2-file::placeholder, -body .swal2-modal .swal2-textarea::placeholder { - color: #e6e6e6; -} -body .swal2-modal .swal2-range input { - float: left; - width: 80%; -} -body .swal2-modal .swal2-range output { - float: right; - width: 20%; - font-size: 20px; - font-weight: 600; - text-align: center; -} -body .swal2-modal .swal2-range input, -body .swal2-modal .swal2-range output { - height: 43px; - line-height: 43px; - vertical-align: middle; - margin: 20px auto; - padding: 0; -} -body .swal2-modal .swal2-input { - height: 43px; - padding: 0 12px; -} -body .swal2-modal .swal2-input[type=number] { - max-width: 150px; -} -body .swal2-modal .swal2-file { - font-size: 20px; -} -body .swal2-modal .swal2-textarea { - height: 108px; - padding: 12px; -} -body .swal2-modal .swal2-select { - color: #545454; - font-size: inherit; - padding: 5px 10px; - min-width: 40%; - max-width: 100%; -} -body .swal2-modal .swal2-radio { - border: 0; -} -body .swal2-modal .swal2-radio label:not(:first-child) { - margin-left: 20px; -} -body .swal2-modal .swal2-radio input, -body .swal2-modal .swal2-radio span { - vertical-align: middle; -} -body .swal2-modal .swal2-radio input { - margin: 0 3px 0 0; -} -body .swal2-modal .swal2-checkbox { - color: #545454; -} -body .swal2-modal .swal2-checkbox input, -body .swal2-modal .swal2-checkbox span { - vertical-align: middle; -} -body .swal2-modal .swal2-validationerror { - background-color: #f0f0f0; - margin: 0 -20px; - overflow: hidden; - padding: 10px; - color: gray; - font-size: 16px; - font-weight: 300; - display: none; -} -body .swal2-modal .swal2-validationerror::before { - content: "!"; - display: inline-block; - width: 24px; - height: 24px; - border-radius: 50%; - background-color: #ea7d7d; - color: #fff; - line-height: 24px; - text-align: center; - margin-right: 10px; -} -@supports (-ms-accelerator: true) { - body .swal2-range input { - width: 100% !important; - } - body .swal2-range output { - display: none; - } -} -@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { - body .swal2-range input { - width: 100% !important; - } - body .swal2-range output { +#wcmp-checkout-errors { display: none; - } -} -body .swal2-icon { - width: 80px; - height: 80px; - border: 4px solid transparent; - border-radius: 50%; - margin: 20px auto 30px; - padding: 0; - position: relative; - box-sizing: content-box; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -body .swal2-icon.swal2-error { - border-color: #f27474; -} -body .swal2-icon.swal2-error .swal2-x-mark { - position: relative; - display: block; -} -body .swal2-icon.swal2-error [class^=swal2-x-mark-line] { - position: absolute; - height: 5px; - width: 47px; - background-color: #f27474; - display: block; - top: 37px; - border-radius: 2px; -} -body .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left] { - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - left: 17px; -} -body .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right] { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - right: 16px; -} -body .swal2-icon.swal2-warning { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - color: #f8bb86; - border-color: #facea8; - font-size: 60px; - line-height: 80px; - text-align: center; -} -body .swal2-icon.swal2-info { - font-family: "Open Sans", sans-serif; - color: #3fc3ee; - border-color: #9de0f6; - font-size: 60px; - line-height: 80px; - text-align: center; -} -body .swal2-icon.swal2-question { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - color: #87adbd; - border-color: #c9dae1; - font-size: 60px; - line-height: 80px; - text-align: center; -} -body .swal2-icon.swal2-success { - border-color: #a5dc86; -} -body .swal2-icon.swal2-success [class^=swal2-success-circular-line] { - border-radius: 50%; - position: absolute; - width: 60px; - height: 120px; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); -} -body .swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left] { - border-radius: 120px 0 0 120px; - top: -7px; - left: -33px; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - -webkit-transform-origin: 60px 60px; - transform-origin: 60px 60px; -} -body .swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right] { - border-radius: 0 120px 120px 0; - top: -11px; - left: 30px; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - -webkit-transform-origin: 0 60px; - transform-origin: 0 60px; -} -body .swal2-icon.swal2-success .swal2-success-ring { - width: 80px; - height: 80px; - border: 4px solid rgba(165, 220, 134, 0.2); - border-radius: 50%; - box-sizing: content-box; - position: absolute; - left: -4px; - top: -4px; - z-index: 2; -} -body .swal2-icon.swal2-success .swal2-success-fix { - width: 7px; - height: 90px; - position: absolute; - left: 28px; - top: 8px; - z-index: 1; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); -} -body .swal2-icon.swal2-success [class^=swal2-success-line] { - height: 5px; - background-color: #a5dc86; - display: block; - border-radius: 2px; - position: absolute; - z-index: 2; -} -body .swal2-icon.swal2-success [class^=swal2-success-line][class$=tip] { - width: 25px; - left: 14px; - top: 46px; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); -} -body .swal2-icon.swal2-success [class^=swal2-success-line][class$=long] { - width: 47px; - right: 8px; - top: 38px; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); -} -body .swal2-progresssteps { - font-weight: 600; - margin: 0 0 20px; - padding: 0; -} -body .swal2-progresssteps li { - display: inline-block; - position: relative; -} -body .swal2-progresssteps .swal2-progresscircle { - background: #3085d6; - border-radius: 2em; - color: #fff; - height: 2em; - line-height: 2em; - text-align: center; - width: 2em; - z-index: 20; -} -body .swal2-progresssteps .swal2-progresscircle:first-child { - margin-left: 0; -} -body .swal2-progresssteps .swal2-progresscircle:last-child { - margin-right: 0; -} -body .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep { - background: #3085d6; -} -body .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep ~ .swal2-progresscircle { - background: #add8e6; -} -body .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep ~ .swal2-progressline { - background: #add8e6; -} -body .swal2-progresssteps .swal2-progressline { - background: #3085d6; - height: 0.4em; - margin: 0 -1px; - z-index: 10; -} -body [class^=swal2] { - -webkit-tap-highlight-color: transparent; -} -@-webkit-keyframes showSweetAlert { - 0% { - -webkit-transform: scale(0.7); - transform: scale(0.7); - } - 45% { - -webkit-transform: scale(1.05); - transform: scale(1.05); - } - 80% { - -webkit-transform: scale(0.95); - transform: scale(0.95); - } - 100% { - -webkit-transform: scale(1); - transform: scale(1); - } -} -@keyframes showSweetAlert { - 0% { - -webkit-transform: scale(0.7); - transform: scale(0.7); - } - 45% { - -webkit-transform: scale(1.05); - transform: scale(1.05); - } - 80% { - -webkit-transform: scale(0.95); - transform: scale(0.95); - } - 100% { - -webkit-transform: scale(1); - transform: scale(1); - } -} -@-webkit-keyframes hideSweetAlert { - 0% { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1; - } - 100% { - -webkit-transform: scale(0.5); - transform: scale(0.5); - opacity: 0; - } -} -@keyframes hideSweetAlert { - 0% { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1; - } - 100% { - -webkit-transform: scale(0.5); - transform: scale(0.5); - opacity: 0; - } -} -body .swal2-show { - -webkit-animation: showSweetAlert 0.3s; - animation: showSweetAlert 0.3s; -} -body .swal2-show.swal2-noanimation { - -webkit-animation: none; - animation: none; -} -body .swal2-hide { - -webkit-animation: hideSweetAlert 0.15s forwards; - animation: hideSweetAlert 0.15s forwards; -} -body .swal2-hide.swal2-noanimation { - -webkit-animation: none; - animation: none; -} -@-webkit-keyframes animate-success-tip { - 0% { - width: 0; - left: 1px; - top: 19px; - } - 54% { - width: 0; - left: 1px; - top: 19px; - } - 70% { - width: 50px; - left: -8px; - top: 37px; - } - 84% { - width: 17px; - left: 21px; - top: 48px; - } - 100% { - width: 25px; - left: 14px; - top: 45px; - } -} -@keyframes animate-success-tip { - 0% { - width: 0; - left: 1px; - top: 19px; - } - 54% { - width: 0; - left: 1px; - top: 19px; - } - 70% { - width: 50px; - left: -8px; - top: 37px; - } - 84% { - width: 17px; - left: 21px; - top: 48px; - } - 100% { - width: 25px; - left: 14px; - top: 45px; - } -} -@-webkit-keyframes animate-success-long { - 0% { - width: 0; - right: 46px; - top: 54px; - } - 65% { - width: 0; - right: 46px; - top: 54px; - } - 84% { - width: 55px; - right: 0; - top: 35px; - } - 100% { - width: 47px; - right: 8px; - top: 38px; - } -} -@keyframes animate-success-long { - 0% { - width: 0; - right: 46px; - top: 54px; - } - 65% { - width: 0; - right: 46px; - top: 54px; - } - 84% { - width: 55px; - right: 0; - top: 35px; - } - 100% { - width: 47px; - right: 8px; - top: 38px; - } -} -@-webkit-keyframes rotatePlaceholder { - 0% { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - } - 5% { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - } - 12% { - -webkit-transform: rotate(-405deg); - transform: rotate(-405deg); - } - 100% { - -webkit-transform: rotate(-405deg); - transform: rotate(-405deg); - } -} -@keyframes rotatePlaceholder { - 0% { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - } - 5% { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - } - 12% { - -webkit-transform: rotate(-405deg); - transform: rotate(-405deg); - } - 100% { - -webkit-transform: rotate(-405deg); - transform: rotate(-405deg); - } -} -body .swal2-animate-success-line-tip { - -webkit-animation: animate-success-tip 0.75s; - animation: animate-success-tip 0.75s; -} -body .swal2-animate-success-line-long { - -webkit-animation: animate-success-long 0.75s; - animation: animate-success-long 0.75s; -} -body .swal2-success.swal2-animate-success-icon .swal2-success-circular-line-right { - -webkit-animation: rotatePlaceholder 4.25s ease-in; - animation: rotatePlaceholder 4.25s ease-in; -} -@-webkit-keyframes animate-error-icon { - 0% { - -webkit-transform: rotateX(100deg); - transform: rotateX(100deg); - opacity: 0; - } - 100% { - -webkit-transform: rotateX(0deg); - transform: rotateX(0deg); - opacity: 1; - } -} -@keyframes animate-error-icon { - 0% { - -webkit-transform: rotateX(100deg); - transform: rotateX(100deg); - opacity: 0; - } - 100% { - -webkit-transform: rotateX(0deg); - transform: rotateX(0deg); - opacity: 1; - } -} -body .swal2-animate-error-icon { - -webkit-animation: animate-error-icon 0.5s; - animation: animate-error-icon 0.5s; -} -@-webkit-keyframes animate-x-mark { - 0% { - -webkit-transform: scale(0.4); - transform: scale(0.4); - margin-top: 26px; - opacity: 0; - } - 50% { - -webkit-transform: scale(0.4); - transform: scale(0.4); - margin-top: 26px; - opacity: 0; - } - 80% { - -webkit-transform: scale(1.15); - transform: scale(1.15); - margin-top: -6px; - } - 100% { - -webkit-transform: scale(1); - transform: scale(1); - margin-top: 0; - opacity: 1; - } -} -@keyframes animate-x-mark { - 0% { - -webkit-transform: scale(0.4); - transform: scale(0.4); - margin-top: 26px; - opacity: 0; - } - 50% { - -webkit-transform: scale(0.4); - transform: scale(0.4); - margin-top: 26px; - opacity: 0; - } - 80% { - -webkit-transform: scale(1.15); - transform: scale(1.15); - margin-top: -6px; - } - 100% { - -webkit-transform: scale(1); - transform: scale(1); - margin-top: 0; - opacity: 1; - } -} -body .swal2-animate-x-mark { - -webkit-animation: animate-x-mark 0.5s; - animation: animate-x-mark 0.5s; -} -@-webkit-keyframes rotate-loading { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } -} -@keyframes rotate-loading { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } } -#wcmp-checkout-form .panel .invalid { - border: 1px solid #da3c39; - box-shadow: 1px 1px 3px #da3c39; -} -#wcmp-checkout-form .panel input[type=text] { - width: 200px; -} -#wcmp-checkout-form .panel input, #wcmp-checkout-form .panel select { - margin: 0; -} -#wcmp-checkout-form .panel ul { - list-style: none; - margin: 0 0 10px; - padding: 0; -} -#wcmp-checkout-form .panel li { - margin: 0 20px 0 0; - float: left; - text-align: center; -} -#wcmp-checkout-form .panel label img { - display: block; -} -#wcmp-checkout-form .panel .form-group-wrap { - margin-bottom: 10px; -} -#wcmp-checkout-form .panel .form-group { - float: left; - margin-right: 10px; -} -#wcmp-checkout-form .panel .form-group label { - display: block; -} -#wcmp-checkout-form .panel .form-group input, #wcmp-checkout-form .panel .form-group select { - float: left; -} -#wcmp-checkout-form .panel .form-group .description { - color: #666; - display: block; - font-size: 80%; -} -#wcmp-checkout-form #tab-credit-card .form-group-wrap { - display: none; -} -#wcmp-checkout-form #payment .payment_methods li .logo { - max-height: 100%; - float: left; - width: 60px; -} -#wcmp-checkout-form label[for=save-credit-card] { - cursor: pointer; +#payment .payment_methods li[class*="pagarme"] .payment_box fieldset { + font-size: 1em; } -#wcmp-checkout-form #payment-type a { - text-indent: 15px; +#payment .payment_methods li[class*="pagarme"] .payment_box fieldset label { + display: flex; + align-items: center; + width: 100%; + font-size: 1em; } -.wcmp-hide-field { - display: none; +#payment .payment_methods li[class*="pagarme"] input[type=text], +#payment .payment_methods li[class*="pagarme"] input[type=number], +#payment .payment_methods li[class*="pagarme"] input[type=email], +#payment .payment_methods li[class*="pagarme"] input[type=tel], +#payment .payment_methods li[class*="pagarme"] input[type=url], +#payment .payment_methods li[class*="pagarme"] input[type=password], +#payment .payment_methods li[class*="pagarme"] input[type=search], +#payment .payment_methods li[class*="pagarme"] select, +#payment .payment_methods li[class*="pagarme"] textarea, +#payment .payment_methods li[class*="pagarme"] .input-text { + width: 100%; + height: 2.8em; + padding: 0.6em; + font-size: 1em; } -.woocommerce-message .pagarme-response, .woocommerce-error .pagarme-response { - text-align: center; -} -.woocommerce-message .pagarme-response .title, .woocommerce-error .pagarme-response .title { - font-weight: bold; -} -.woocommerce-message .pagarme-response .payment-link, .woocommerce-error .pagarme-response .payment-link { - background: #333; - border-radius: 4px; - cursor: pointer; - display: block; - font-weight: bold; - margin: 20px auto 20px auto; - padding: 6px; - text-align: center; - max-width: 200px; +#payment .payment_methods li[class*="pagarme"] .payment_box fieldset .form-row input[type=checkbox] { + width: 1.2em; + height: 1.2em; + margin-right: 0.5em; } -#wcmp-checkout-errors { - display: none; +#payment .payment_methods li[class*="pagarme"] .payment_box .wc-credit-card-form-card-number { + padding-right: 3.714em; } -.payment_method_woo-pagarme-payments img { - max-height: 1.618em !important; +#payment .payment_methods li[class*="pagarme"] img { + max-height: 2em; } -.select2-container--open .select2-dropdown--below{ - margin-top: 40px; +#payment .payment_methods li[class*="pagarme"] .payment_box .pagarme-brand-image { + display: block; + position: relative; } -.pagarme-response .pix-qr-code-instruction{ - max-width: 70%; - margin: auto; - padding: 5px; - text-align: left; +#payment .payment_methods li[class*="pagarme"] .payment_box .pagarme-brand-image img { + position: absolute; + right: 0.6em; + top: 50%; + margin-top: -0.8em; + max-height: 1.6em; + background-color: #fff; + pointer-events: none; } -.pagarme-response .pix-qr-code-instruction input { - width: 100%; +.woocommerce-order .woocommerce-message .pagarme-response p:last-child { + margin-bottom: 0; } -#pix-image-attention{ - margin: auto; +.woocommerce-order .woocommerce-message .pagarme-response .pagarme-qr-code-img { display: block; - width: 20px; - height: 20px; -} - -#pix-image-attention-container{ - width: 20px; - height: 30px; - display: inline-block; - margin: 0; -} - -.pagarme-response .pix-attention-instruction{ - display: inline-block; + margin: 0 auto; } -@media only screen and (max-width: 1023px) { - .select2-container--open .select2-dropdown--below{ - margin-top: 50px; - } - } - -.payment_method_woo-pagarme-payments { - padding: 0 !important; +.woocommerce-order .woocommerce-message .pagarme-response .pagarme-payment-button { + display: block; + margin: 1em auto; } -.pagarme-method { - border-bottom: 1px black solid !important; +.woocommerce-order .woocommerce-message .pagarme-response .pagarme-flex-container { + --gutter-x: 1.5rem; + --gutter-y: 1em; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--gutter-y)); + margin-right: calc(-.5 * var(--gutter-x)); + margin-bottom: calc(2 * var(--gutter-y)); + margin-left: calc(-.5 * var(--gutter-x)); } -#woo-pagarme-payment-methods ul li:first-child { - border-top: 1px black solid !important; +.woocommerce-order .woocommerce-message .pagarme-response .pagarme-flex-container > * { + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--gutter-x) * .5); + padding-left: calc(var(--gutter-x) * .5); + margin-top: var(--gutter-y); + margin-bottom: calc(var(--gutter-x) * .25); } -.pagarme-method label { - padding-top: 0.8em !important; - padding-bottom: 0.8em !important; +.woocommerce-order .woocommerce-message .pagarme-response .pagarme-qr-code-attention { + width: 100% !important; } -.pagarme-card-form-card-cvc { +.woocommerce-order .woocommerce-message .pagarme-response .pagarme-qr-code-instruction > p { + display: flex; + flex-direction: column; + height: 100%; + border: 1px solid rgba(255,255,255,.15); + border-radius: 4px; + padding: calc(var(--gutter-x) * .5); + background-color: rgba(0,0,0,.15); + box-shadow: 0 0 3rem inset rgba(0,0,0,.15); } -.pagarme-card-form-card-expiry { +.woocommerce-order .woocommerce-message .pagarme-response .pagarme-qr-code-instruction > p > span { + height: 1em; + white-space: nowrap; + font-size: 2em; + font-weight: 600; + line-height: 1em; + margin-bottom: calc(var(--gutter-x) * .25); } -.pagarme-card-form-card-number { +.woocommerce-order .woocommerce-message .pagarme-response .pagarme-qr-code-instruction > p > span > img { + min-width: 2rem; } -.pagarme-message-warning { - margin: 0 0 10px; - padding: 12px 20px 12px 25px; - display: block; - background: #fdf0d5; - color: #6f4400; - position: relative; -} +/* sm */ +/* @media (min-width: 576px) { + +} */ -@media only screen and (max-width: 1023px) { - .select2-container--open .select2-dropdown--below{ - margin-top: 50px; +/* md */ +@media (min-width: 768px) { + .woocommerce-order .woocommerce-message .pagarme-response .pagarme-flex-container > * { + width: 50%; } } -li.wc_payment_method[class*="pagarme-payments"] label { - display: inline; +/* lg */ +@media (min-width: 992px) { + .woocommerce-order .woocommerce-message .pagarme-response .pagarme-flex-container > * { + width: 25%; + } } -li.wc_payment_method[class*="pagarme-payments"] img { - max-width: 30px; - float: right; +/* xl */ +@media (min-width: 1200px) { + } -#pagarme-qr-code { - cursor:pointer; -} -/*# sourceMappingURL=assets/stylesheets/front/style.css.map */ +/* xxl */ +/* @media (min-width: 1400px) { + +} */ diff --git a/assets/stylesheets/front/style.css.map b/assets/stylesheets/front/style.css.map deleted file mode 100644 index f38f01d7..00000000 --- a/assets/stylesheets/front/style.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sourceRoot":"","sources":["../base/_helpers.scss","vendor/_sweetalert2.scss","_checkout.scss"],"names":[],"mappings":"AAyEA;EACI;IAAO;;EACP;IAAK;;;AAET;EACI;IAAO;;EACP;IAAK;;;AAET;EACI;IAAO;;EACP;IAAK;;;AAET;EACI;IACI;;EAEJ;IACI;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;;;AC/GH;EACE;;AAEF;EACC;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACI;EACI;EACR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;;AACF;EACE;;AAEJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AACF;EACE;;AACF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACF;EACE;;AACA;EACE;EACA;;AACF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACQ;EACR;EACG;EACC;EACI;;AACV;EACE;EACA;;AACF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACQ;;AACZ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACF;EACE;EACA;;AACF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AACJ;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;AACF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACF;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;AACF;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;AAAA;AAAA;EAGE;EACA;;AACF;AAAA;AAAA;EAGE;EACA;EACA;;AACA;AAAA;AAAA;EAGE;EACA;EACA;;AACF;AAAA;AAAA;EAGE;EACA;EACA;;AACF;AAAA;AAAA;EAGE;EACA;EACA;;AACJ;AAAA;AAAA;EAGE;;AACF;AAAA;AAAA;EAGE;;AACF;AAAA;AAAA;EAGE;;AACJ;EACE;EACA;;AACF;EACE;EACA;EACA;EACA;EACA;;AACF;AAAA;EAEE;EACA;EACA;EACA;EACA;;AACF;EACE;EACA;;AACA;EACE;;AACJ;EACE;;AACF;EACE;EACA;;AACF;EACE;EACA;EACA;EACA;EACA;;AACF;EACE;;AACA;EACE;;AACF;AAAA;EAEE;;AACF;EACE;;AACJ;EACE;;AACA;AAAA;EAEE;;AACJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEN;EACE;IACE;;EACF;IACE;;;AAEJ;EACE;IACE;;EACF;IACE;;;AAEJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACG;EACC;EACI;;AACR;EACE;;AACA;EACE;EACA;;AACF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACQ;EACR;;AACF;EACE;EACQ;EACR;;AACN;EACE;EACA;EACA;EACA;EACA;EACA;;AACF;EACE;EACA;EACA;EACA;EACA;EACA;;AACF;EACE;EACA;EACA;EACA;EACA;EACA;;AACF;EACE;;AACA;EACE;EACA;EACA;EACA;EACA;EACQ;;AACR;EACE;EACA;EACA;EACA;EACQ;EACR;EACQ;;AACV;EACE;EACA;EACA;EACA;EACQ;EACR;EACQ;;AACZ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACQ;;AACV;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACQ;;AACV;EACE;EACA;EACA;EACA;EACQ;;AAEhB;EACE;EACA;EACA;;AACA;EACE;EACA;;AACF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AACF;EACE;;AACF;EACE;;AACA;EACE;;AACF;EACE;;AACN;EACE;EACA;EACA;EACA;;AAEJ;EACE;;AAEF;EACE;IACE;IACQ;;EACV;IACE;IACQ;;EACV;IACE;IACQ;;EACV;IACE;IACQ;;;AAEZ;EACE;IACE;IACQ;;EACV;IACE;IACQ;;EACV;IACE;IACQ;;EACV;IACE;IACQ;;;AAEZ;EACE;IACE;IACQ;IACR;;EACF;IACE;IACQ;IACR;;;AAEJ;EACE;IACE;IACQ;IACR;;EACF;IACE;IACQ;IACR;;;AAEJ;EACE;EACQ;;AACR;EACE;EACQ;;AAEZ;EACE;EACQ;;AACR;EACE;EACQ;;AAEZ;EACE;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;;AAEJ;EACE;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;;AAEJ;EACE;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;;AAEJ;EACE;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;EACF;IACE;IACA;IACA;;;AAEJ;EACE;IACE;IACQ;;EACV;IACE;IACQ;;EACV;IACE;IACQ;;EACV;IACE;IACQ;;;AAEZ;EACE;IACE;IACQ;;EACV;IACE;IACQ;;EACV;IACE;IACQ;;EACV;IACE;IACQ;;;AAEZ;EACE;EACQ;;AAEV;EACE;EACQ;;AAEV;EACE;EACQ;;AAEV;EACE;IACE;IACQ;IACR;;EACF;IACE;IACQ;IACR;;;AAEJ;EACE;IACE;IACQ;IACR;;EACF;IACE;IACQ;IACR;;;AAEJ;EACE;EACQ;;AAEV;EACE;IACE;IACQ;IACR;IACA;;EACF;IACE;IACQ;IACR;IACA;;EACF;IACE;IACQ;IACR;;EACF;IACE;IACQ;IACR;IACA;;;AAEJ;EACE;IACE;IACQ;IACR;IACA;;EACF;IACE;IACQ;IACR;IACA;;EACF;IACE;IACQ;IACR;;EACF;IACE;IACQ;IACR;IACA;;;AAEJ;EACE;EACQ;;AAEV;EACE;IACE;IACQ;;EACV;IACE;IACQ;;;AAEZ;EACE;IACE;IACQ;;EACV;IACE;IACQ;;;;AC/rBV;EACC;EACA;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;;AAKH;EACC;;AAGD;EACC;EACA;EACG;;AAGJ;EACC;;AAGD;EACI;;;AAIL;EACC;;;AAGD;EACC;;;AAKA;EAEC;;AAEA;EAAS;;AAET;EACI;EACA;EACH;EACG;EACA;EACA;EACA;EACA;EACA;;;AAMN;EACC;;;AAID;EACC","file":"style.css"} \ No newline at end of file diff --git a/assets/stylesheets/front/style.scss b/assets/stylesheets/front/style.scss deleted file mode 100644 index 1c8e847a..00000000 --- a/assets/stylesheets/front/style.scss +++ /dev/null @@ -1,20 +0,0 @@ -//= BEGIN BASE - -@import "../base/variables"; -@import "../base/functions"; -@import "../base/helpers"; -@import "../base/mixins"; - -//= END BASE - -//= BEGIN COMPONENTS - -//= END COMPONENTS - -//= BEGIN ELEMENTS - -@import "elements/spinner"; -@import "vendor/sweetalert2"; -@import "checkout"; - -//= END ELEMENTS diff --git a/assets/stylesheets/front/vendor/_sweetalert2.scss b/assets/stylesheets/front/vendor/_sweetalert2.scss deleted file mode 100644 index e3e88aa3..00000000 --- a/assets/stylesheets/front/vendor/_sweetalert2.scss +++ /dev/null @@ -1,708 +0,0 @@ -body { - swal2-shown { - overflow-y: hidden; } - - .swal2-iosfix { - position: fixed; - left: 0; - right: 0; } - -.swal2-container { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - position: fixed; - top: 0; - left: 0; - bottom: 0; - right: 0; - padding: 10px; - background-color: transparent; - z-index: 1060; } - .swal2-container.swal2-fade { - -webkit-transition: background-color .1s; - transition: background-color .1s; } - .swal2-container.swal2-shown { - background-color: rgba(0, 0, 0, 0.4); } - -.swal2-modal { - background-color: #fff; - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - border-radius: 5px; - box-sizing: border-box; - text-align: center; - margin: auto; - overflow-x: hidden; - overflow-y: auto; - display: none; - position: relative; - max-width: 100%; } - .swal2-modal:focus { - outline: none; } - .swal2-modal.swal2-loading { - overflow-y: hidden; } - .swal2-modal .swal2-title { - color: #595959; - font-size: 30px; - text-align: center; - font-weight: 600; - text-transform: none; - position: relative; - margin: 0 0 .4em; - padding: 0; - display: block; - word-wrap: break-word; } - .swal2-modal .swal2-buttonswrapper { - margin-top: 15px; } - .swal2-modal .swal2-buttonswrapper:not(.swal2-loading) .swal2-styled[disabled] { - opacity: .4; - cursor: no-drop; } - .swal2-modal .swal2-buttonswrapper.swal2-loading .swal2-styled.swal2-confirm { - box-sizing: border-box; - border: 4px solid transparent; - border-color: transparent; - width: 40px; - height: 40px; - padding: 0; - margin: 7.5px; - vertical-align: top; - background-color: transparent !important; - color: transparent; - cursor: default; - border-radius: 100%; - -webkit-animation: rotate-loading 1.5s linear 0s infinite normal; - animation: rotate-loading 1.5s linear 0s infinite normal; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; } - .swal2-modal .swal2-buttonswrapper.swal2-loading .swal2-styled.swal2-cancel { - margin-left: 30px; - margin-right: 30px; } - .swal2-modal .swal2-buttonswrapper.swal2-loading :not(.swal2-styled).swal2-confirm::after { - display: inline-block; - content: ''; - margin-left: 5px 0 15px; - vertical-align: -1px; - height: 15px; - width: 15px; - border: 3px solid #999999; - box-shadow: 1px 1px 1px #fff; - border-right-color: transparent; - border-radius: 50%; - -webkit-animation: rotate-loading 1.5s linear 0s infinite normal; - animation: rotate-loading 1.5s linear 0s infinite normal; } - .swal2-modal .swal2-styled { - border: 0; - border-radius: 3px; - box-shadow: none; - color: #fff; - cursor: pointer; - font-size: 17px; - font-weight: 500; - margin: 15px 5px 0; - padding: 10px 32px; } - .swal2-modal .swal2-image { - margin: 20px auto; - max-width: 100%; } - .swal2-modal .swal2-close { - background: transparent; - border: 0; - margin: 0; - padding: 0; - width: 38px; - height: 40px; - font-size: 36px; - line-height: 40px; - font-family: serif; - position: absolute; - top: 5px; - right: 8px; - cursor: pointer; - color: #cccccc; - -webkit-transition: color .1s ease; - transition: color .1s ease; } - .swal2-modal .swal2-close:hover { - color: #d55; } - .swal2-modal > .swal2-input, - .swal2-modal > .swal2-file, - .swal2-modal > .swal2-textarea, - .swal2-modal > .swal2-select, - .swal2-modal > .swal2-radio, - .swal2-modal > .swal2-checkbox { - display: none; } - .swal2-modal .swal2-content { - font-size: 18px; - text-align: center; - font-weight: 300; - position: relative; - float: none; - margin: 0; - padding: 0; - line-height: normal; - color: #545454; - word-wrap: break-word; } - .swal2-modal .swal2-input, - .swal2-modal .swal2-file, - .swal2-modal .swal2-textarea, - .swal2-modal .swal2-select, - .swal2-modal .swal2-radio, - .swal2-modal .swal2-checkbox { - margin: 20px auto; } - .swal2-modal .swal2-input, - .swal2-modal .swal2-file, - .swal2-modal .swal2-textarea { - width: 100%; - box-sizing: border-box; - font-size: 18px; - border-radius: 3px; - border: 1px solid #d9d9d9; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06); - -webkit-transition: border-color box-shadow .3s; - transition: border-color box-shadow .3s; } - .swal2-modal .swal2-input.swal2-inputerror, - .swal2-modal .swal2-file.swal2-inputerror, - .swal2-modal .swal2-textarea.swal2-inputerror { - border-color: #f27474 !important; - box-shadow: 0 0 2px #f27474 !important; } - .swal2-modal .swal2-input:focus, - .swal2-modal .swal2-file:focus, - .swal2-modal .swal2-textarea:focus { - outline: none; - border: 1px solid #b4dbed; - box-shadow: 0 0 3px #c4e6f5; } - .swal2-modal .swal2-input:focus::-webkit-input-placeholder, - .swal2-modal .swal2-file:focus::-webkit-input-placeholder, - .swal2-modal .swal2-textarea:focus::-webkit-input-placeholder { - -webkit-transition: opacity .3s .03s ease; - transition: opacity .3s .03s ease; - opacity: .8; } - .swal2-modal .swal2-input:focus:-ms-input-placeholder, - .swal2-modal .swal2-file:focus:-ms-input-placeholder, - .swal2-modal .swal2-textarea:focus:-ms-input-placeholder { - -webkit-transition: opacity .3s .03s ease; - transition: opacity .3s .03s ease; - opacity: .8; } - .swal2-modal .swal2-input:focus::placeholder, - .swal2-modal .swal2-file:focus::placeholder, - .swal2-modal .swal2-textarea:focus::placeholder { - -webkit-transition: opacity .3s .03s ease; - transition: opacity .3s .03s ease; - opacity: .8; } - .swal2-modal .swal2-input::-webkit-input-placeholder, - .swal2-modal .swal2-file::-webkit-input-placeholder, - .swal2-modal .swal2-textarea::-webkit-input-placeholder { - color: #e6e6e6; } - .swal2-modal .swal2-input:-ms-input-placeholder, - .swal2-modal .swal2-file:-ms-input-placeholder, - .swal2-modal .swal2-textarea:-ms-input-placeholder { - color: #e6e6e6; } - .swal2-modal .swal2-input::placeholder, - .swal2-modal .swal2-file::placeholder, - .swal2-modal .swal2-textarea::placeholder { - color: #e6e6e6; } - .swal2-modal .swal2-range input { - float: left; - width: 80%; } - .swal2-modal .swal2-range output { - float: right; - width: 20%; - font-size: 20px; - font-weight: 600; - text-align: center; } - .swal2-modal .swal2-range input, - .swal2-modal .swal2-range output { - height: 43px; - line-height: 43px; - vertical-align: middle; - margin: 20px auto; - padding: 0; } - .swal2-modal .swal2-input { - height: 43px; - padding: 0 12px; } - .swal2-modal .swal2-input[type='number'] { - max-width: 150px; } - .swal2-modal .swal2-file { - font-size: 20px; } - .swal2-modal .swal2-textarea { - height: 108px; - padding: 12px; } - .swal2-modal .swal2-select { - color: #545454; - font-size: inherit; - padding: 5px 10px; - min-width: 40%; - max-width: 100%; } - .swal2-modal .swal2-radio { - border: 0; } - .swal2-modal .swal2-radio label:not(:first-child) { - margin-left: 20px; } - .swal2-modal .swal2-radio input, - .swal2-modal .swal2-radio span { - vertical-align: middle; } - .swal2-modal .swal2-radio input { - margin: 0 3px 0 0; } - .swal2-modal .swal2-checkbox { - color: #545454; } - .swal2-modal .swal2-checkbox input, - .swal2-modal .swal2-checkbox span { - vertical-align: middle; } - .swal2-modal .swal2-validationerror { - background-color: #f0f0f0; - margin: 0 -20px; - overflow: hidden; - padding: 10px; - color: gray; - font-size: 16px; - font-weight: 300; - display: none; } - .swal2-modal .swal2-validationerror::before { - content: '!'; - display: inline-block; - width: 24px; - height: 24px; - border-radius: 50%; - background-color: #ea7d7d; - color: #fff; - line-height: 24px; - text-align: center; - margin-right: 10px; } - -@supports (-ms-accelerator: true) { - .swal2-range input { - width: 100% !important; } - .swal2-range output { - display: none; } } - -@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { - .swal2-range input { - width: 100% !important; } - .swal2-range output { - display: none; } } - -.swal2-icon { - width: 80px; - height: 80px; - border: 4px solid transparent; - border-radius: 50%; - margin: 20px auto 30px; - padding: 0; - position: relative; - box-sizing: content-box; - cursor: default; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; } - .swal2-icon.swal2-error { - border-color: #f27474; } - .swal2-icon.swal2-error .swal2-x-mark { - position: relative; - display: block; } - .swal2-icon.swal2-error [class^='swal2-x-mark-line'] { - position: absolute; - height: 5px; - width: 47px; - background-color: #f27474; - display: block; - top: 37px; - border-radius: 2px; } - .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] { - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - left: 17px; } - .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - right: 16px; } - .swal2-icon.swal2-warning { - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - color: #f8bb86; - border-color: #facea8; - font-size: 60px; - line-height: 80px; - text-align: center; } - .swal2-icon.swal2-info { - font-family: 'Open Sans', sans-serif; - color: #3fc3ee; - border-color: #9de0f6; - font-size: 60px; - line-height: 80px; - text-align: center; } - .swal2-icon.swal2-question { - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - color: #87adbd; - border-color: #c9dae1; - font-size: 60px; - line-height: 80px; - text-align: center; } - .swal2-icon.swal2-success { - border-color: #a5dc86; } - .swal2-icon.swal2-success [class^='swal2-success-circular-line'] { - border-radius: 50%; - position: absolute; - width: 60px; - height: 120px; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); } - .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='left'] { - border-radius: 120px 0 0 120px; - top: -7px; - left: -33px; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - -webkit-transform-origin: 60px 60px; - transform-origin: 60px 60px; } - .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='right'] { - border-radius: 0 120px 120px 0; - top: -11px; - left: 30px; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - -webkit-transform-origin: 0 60px; - transform-origin: 0 60px; } - .swal2-icon.swal2-success .swal2-success-ring { - width: 80px; - height: 80px; - border: 4px solid rgba(165, 220, 134, 0.2); - border-radius: 50%; - box-sizing: content-box; - position: absolute; - left: -4px; - top: -4px; - z-index: 2; } - .swal2-icon.swal2-success .swal2-success-fix { - width: 7px; - height: 90px; - position: absolute; - left: 28px; - top: 8px; - z-index: 1; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); } - .swal2-icon.swal2-success [class^='swal2-success-line'] { - height: 5px; - background-color: #a5dc86; - display: block; - border-radius: 2px; - position: absolute; - z-index: 2; } - .swal2-icon.swal2-success [class^='swal2-success-line'][class$='tip'] { - width: 25px; - left: 14px; - top: 46px; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); } - .swal2-icon.swal2-success [class^='swal2-success-line'][class$='long'] { - width: 47px; - right: 8px; - top: 38px; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); } - -.swal2-progresssteps { - font-weight: 600; - margin: 0 0 20px; - padding: 0; } - .swal2-progresssteps li { - display: inline-block; - position: relative; } - .swal2-progresssteps .swal2-progresscircle { - background: #3085d6; - border-radius: 2em; - color: #fff; - height: 2em; - line-height: 2em; - text-align: center; - width: 2em; - z-index: 20; } - .swal2-progresssteps .swal2-progresscircle:first-child { - margin-left: 0; } - .swal2-progresssteps .swal2-progresscircle:last-child { - margin-right: 0; } - .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep { - background: #3085d6; } - .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep ~ .swal2-progresscircle { - background: #add8e6; } - .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep ~ .swal2-progressline { - background: #add8e6; } - .swal2-progresssteps .swal2-progressline { - background: #3085d6; - height: .4em; - margin: 0 -1px; - z-index: 10; } - -[class^='swal2'] { - -webkit-tap-highlight-color: transparent; } - -@-webkit-keyframes showSweetAlert { - 0% { - -webkit-transform: scale(0.7); - transform: scale(0.7); } - 45% { - -webkit-transform: scale(1.05); - transform: scale(1.05); } - 80% { - -webkit-transform: scale(0.95); - transform: scale(0.95); } - 100% { - -webkit-transform: scale(1); - transform: scale(1); } } - -@keyframes showSweetAlert { - 0% { - -webkit-transform: scale(0.7); - transform: scale(0.7); } - 45% { - -webkit-transform: scale(1.05); - transform: scale(1.05); } - 80% { - -webkit-transform: scale(0.95); - transform: scale(0.95); } - 100% { - -webkit-transform: scale(1); - transform: scale(1); } } - -@-webkit-keyframes hideSweetAlert { - 0% { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1; } - 100% { - -webkit-transform: scale(0.5); - transform: scale(0.5); - opacity: 0; } } - -@keyframes hideSweetAlert { - 0% { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1; } - 100% { - -webkit-transform: scale(0.5); - transform: scale(0.5); - opacity: 0; } } - -.swal2-show { - -webkit-animation: showSweetAlert 0.3s; - animation: showSweetAlert 0.3s; } - .swal2-show.swal2-noanimation { - -webkit-animation: none; - animation: none; } - -.swal2-hide { - -webkit-animation: hideSweetAlert 0.15s forwards; - animation: hideSweetAlert 0.15s forwards; } - .swal2-hide.swal2-noanimation { - -webkit-animation: none; - animation: none; } - -@-webkit-keyframes animate-success-tip { - 0% { - width: 0; - left: 1px; - top: 19px; } - 54% { - width: 0; - left: 1px; - top: 19px; } - 70% { - width: 50px; - left: -8px; - top: 37px; } - 84% { - width: 17px; - left: 21px; - top: 48px; } - 100% { - width: 25px; - left: 14px; - top: 45px; } } - -@keyframes animate-success-tip { - 0% { - width: 0; - left: 1px; - top: 19px; } - 54% { - width: 0; - left: 1px; - top: 19px; } - 70% { - width: 50px; - left: -8px; - top: 37px; } - 84% { - width: 17px; - left: 21px; - top: 48px; } - 100% { - width: 25px; - left: 14px; - top: 45px; } } - -@-webkit-keyframes animate-success-long { - 0% { - width: 0; - right: 46px; - top: 54px; } - 65% { - width: 0; - right: 46px; - top: 54px; } - 84% { - width: 55px; - right: 0; - top: 35px; } - 100% { - width: 47px; - right: 8px; - top: 38px; } } - -@keyframes animate-success-long { - 0% { - width: 0; - right: 46px; - top: 54px; } - 65% { - width: 0; - right: 46px; - top: 54px; } - 84% { - width: 55px; - right: 0; - top: 35px; } - 100% { - width: 47px; - right: 8px; - top: 38px; } } - -@-webkit-keyframes rotatePlaceholder { - 0% { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); } - 5% { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); } - 12% { - -webkit-transform: rotate(-405deg); - transform: rotate(-405deg); } - 100% { - -webkit-transform: rotate(-405deg); - transform: rotate(-405deg); } } - -@keyframes rotatePlaceholder { - 0% { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); } - 5% { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); } - 12% { - -webkit-transform: rotate(-405deg); - transform: rotate(-405deg); } - 100% { - -webkit-transform: rotate(-405deg); - transform: rotate(-405deg); } } - -.swal2-animate-success-line-tip { - -webkit-animation: animate-success-tip 0.75s; - animation: animate-success-tip 0.75s; } - -.swal2-animate-success-line-long { - -webkit-animation: animate-success-long 0.75s; - animation: animate-success-long 0.75s; } - -.swal2-success.swal2-animate-success-icon .swal2-success-circular-line-right { - -webkit-animation: rotatePlaceholder 4.25s ease-in; - animation: rotatePlaceholder 4.25s ease-in; } - -@-webkit-keyframes animate-error-icon { - 0% { - -webkit-transform: rotateX(100deg); - transform: rotateX(100deg); - opacity: 0; } - 100% { - -webkit-transform: rotateX(0deg); - transform: rotateX(0deg); - opacity: 1; } } - -@keyframes animate-error-icon { - 0% { - -webkit-transform: rotateX(100deg); - transform: rotateX(100deg); - opacity: 0; } - 100% { - -webkit-transform: rotateX(0deg); - transform: rotateX(0deg); - opacity: 1; } } - -.swal2-animate-error-icon { - -webkit-animation: animate-error-icon 0.5s; - animation: animate-error-icon 0.5s; } - -@-webkit-keyframes animate-x-mark { - 0% { - -webkit-transform: scale(0.4); - transform: scale(0.4); - margin-top: 26px; - opacity: 0; } - 50% { - -webkit-transform: scale(0.4); - transform: scale(0.4); - margin-top: 26px; - opacity: 0; } - 80% { - -webkit-transform: scale(1.15); - transform: scale(1.15); - margin-top: -6px; } - 100% { - -webkit-transform: scale(1); - transform: scale(1); - margin-top: 0; - opacity: 1; } } - -@keyframes animate-x-mark { - 0% { - -webkit-transform: scale(0.4); - transform: scale(0.4); - margin-top: 26px; - opacity: 0; } - 50% { - -webkit-transform: scale(0.4); - transform: scale(0.4); - margin-top: 26px; - opacity: 0; } - 80% { - -webkit-transform: scale(1.15); - transform: scale(1.15); - margin-top: -6px; } - 100% { - -webkit-transform: scale(1); - transform: scale(1); - margin-top: 0; - opacity: 1; } } - -.swal2-animate-x-mark { - -webkit-animation: animate-x-mark 0.5s; - animation: animate-x-mark 0.5s; } - -@-webkit-keyframes rotate-loading { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } - -@keyframes rotate-loading { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } -} diff --git a/assets/stylesheets/vendor/sweetalert2.min.css b/assets/stylesheets/vendor/sweetalert2.min.css new file mode 100644 index 00000000..9c582b48 --- /dev/null +++ b/assets/stylesheets/vendor/sweetalert2.min.css @@ -0,0 +1 @@ +body.swal2-shown{overflow-y:hidden}body.swal2-iosfix{position:fixed;left:0;right:0}.swal2-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:fixed;top:0;left:0;bottom:0;right:0;padding:10px;background-color:transparent;z-index:1060}.swal2-container.swal2-top{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.swal2-container.swal2-top-left{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.swal2-container.swal2-top-right{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.swal2-container.swal2-center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swal2-container.swal2-center-left{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.swal2-container.swal2-center-right{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.swal2-container.swal2-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.swal2-container.swal2-bottom-left{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.swal2-container.swal2-bottom-right{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.swal2-container.swal2-grow-fullscreen>.swal2-modal{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-item-align:stretch;align-self:stretch;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.swal2-container.swal2-grow-row>.swal2-modal{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-line-pack:center;align-content:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.swal2-container.swal2-grow-column{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swal2-container.swal2-grow-column.swal2-bottom,.swal2-container.swal2-grow-column.swal2-center,.swal2-container.swal2-grow-column.swal2-top{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swal2-container.swal2-grow-column.swal2-bottom-left,.swal2-container.swal2-grow-column.swal2-center-left,.swal2-container.swal2-grow-column.swal2-top-left{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.swal2-container.swal2-grow-column.swal2-bottom-right,.swal2-container.swal2-grow-column.swal2-center-right,.swal2-container.swal2-grow-column.swal2-top-right{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.swal2-container.swal2-grow-column>.swal2-modal{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-line-pack:center;align-content:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.swal2-container:not(.swal2-top):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-left):not(.swal2-bottom-right)>.swal2-modal{margin:auto}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-container .swal2-modal{margin:0!important}}.swal2-container.swal2-fade{-webkit-transition:background-color .1s;transition:background-color .1s}.swal2-container.swal2-shown{background-color:rgba(0,0,0,.4)}.swal2-modal{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background-color:#fff;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;border-radius:5px;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow-x:hidden;overflow-y:auto;display:none;position:relative;max-width:100%}.swal2-modal:focus{outline:0}.swal2-modal.swal2-loading{overflow-y:hidden}.swal2-modal .swal2-title{color:#595959;font-size:30px;text-align:center;font-weight:600;text-transform:none;position:relative;margin:0 0 .4em;padding:0;display:block;word-wrap:break-word}.swal2-modal .swal2-buttonswrapper{margin-top:15px}.swal2-modal .swal2-buttonswrapper:not(.swal2-loading) .swal2-styled[disabled]{opacity:.4;cursor:no-drop}.swal2-modal .swal2-buttonswrapper.swal2-loading .swal2-styled.swal2-confirm{-webkit-box-sizing:border-box;box-sizing:border-box;border:4px solid transparent;border-color:transparent;width:40px;height:40px;padding:0;margin:7.5px;vertical-align:top;background-color:transparent!important;color:transparent;cursor:default;border-radius:100%;-webkit-animation:rotate-loading 1.5s linear 0s infinite normal;animation:rotate-loading 1.5s linear 0s infinite normal;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-modal .swal2-buttonswrapper.swal2-loading .swal2-styled.swal2-cancel{margin-left:30px;margin-right:30px}.swal2-modal .swal2-buttonswrapper.swal2-loading :not(.swal2-styled).swal2-confirm::after{display:inline-block;content:'';margin-left:5px;vertical-align:-1px;height:15px;width:15px;border:3px solid #999;-webkit-box-shadow:1px 1px 1px #fff;box-shadow:1px 1px 1px #fff;border-right-color:transparent;border-radius:50%;-webkit-animation:rotate-loading 1.5s linear 0s infinite normal;animation:rotate-loading 1.5s linear 0s infinite normal}.swal2-modal .swal2-styled{border:0;border-radius:3px;-webkit-box-shadow:none;box-shadow:none;color:#fff;cursor:pointer;font-size:17px;font-weight:500;margin:15px 5px 0;padding:10px 32px}.swal2-modal .swal2-styled:focus{outline:0;-webkit-box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(50,100,150,.4);box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(50,100,150,.4)}.swal2-modal .swal2-image{margin:20px auto;max-width:100%}.swal2-modal .swal2-close{background:0 0;border:0;margin:0;padding:0;width:38px;height:40px;font-size:36px;line-height:40px;font-family:serif;position:absolute;top:5px;right:8px;cursor:pointer;color:#ccc;-webkit-transition:color .1s ease;transition:color .1s ease}.swal2-modal .swal2-close:hover{color:#d55}.swal2-modal>.swal2-checkbox,.swal2-modal>.swal2-file,.swal2-modal>.swal2-input,.swal2-modal>.swal2-radio,.swal2-modal>.swal2-select,.swal2-modal>.swal2-textarea{display:none}.swal2-modal .swal2-content{font-size:18px;text-align:center;font-weight:300;position:relative;float:none;margin:0;padding:0;line-height:normal;color:#545454;word-wrap:break-word}.swal2-modal .swal2-checkbox,.swal2-modal .swal2-file,.swal2-modal .swal2-input,.swal2-modal .swal2-radio,.swal2-modal .swal2-select,.swal2-modal .swal2-textarea{margin:20px auto}.swal2-modal .swal2-file,.swal2-modal .swal2-input,.swal2-modal .swal2-textarea{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;font-size:18px;border-radius:3px;border:1px solid #d9d9d9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.06);box-shadow:inset 0 1px 1px rgba(0,0,0,.06);-webkit-transition:border-color .3s,-webkit-box-shadow .3s;transition:border-color .3s,-webkit-box-shadow .3s;transition:border-color .3s,box-shadow .3s;transition:border-color .3s,box-shadow .3s,-webkit-box-shadow .3s}.swal2-modal .swal2-file.swal2-inputerror,.swal2-modal .swal2-input.swal2-inputerror,.swal2-modal .swal2-textarea.swal2-inputerror{border-color:#f27474!important;-webkit-box-shadow:0 0 2px #f27474!important;box-shadow:0 0 2px #f27474!important}.swal2-modal .swal2-file:focus,.swal2-modal .swal2-input:focus,.swal2-modal .swal2-textarea:focus{outline:0;border:1px solid #b4dbed;-webkit-box-shadow:0 0 3px #c4e6f5;box-shadow:0 0 3px #c4e6f5}.swal2-modal .swal2-file::-webkit-input-placeholder,.swal2-modal .swal2-input::-webkit-input-placeholder,.swal2-modal .swal2-textarea::-webkit-input-placeholder{color:#ccc}.swal2-modal .swal2-file:-ms-input-placeholder,.swal2-modal .swal2-input:-ms-input-placeholder,.swal2-modal .swal2-textarea:-ms-input-placeholder{color:#ccc}.swal2-modal .swal2-file::-ms-input-placeholder,.swal2-modal .swal2-input::-ms-input-placeholder,.swal2-modal .swal2-textarea::-ms-input-placeholder{color:#ccc}.swal2-modal .swal2-file::placeholder,.swal2-modal .swal2-input::placeholder,.swal2-modal .swal2-textarea::placeholder{color:#ccc}.swal2-modal .swal2-range input{float:left;width:80%}.swal2-modal .swal2-range output{float:right;width:20%;font-size:20px;font-weight:600;text-align:center}.swal2-modal .swal2-range input,.swal2-modal .swal2-range output{height:43px;line-height:43px;vertical-align:middle;margin:20px auto;padding:0}.swal2-modal .swal2-input{height:43px;padding:0 12px}.swal2-modal .swal2-input[type=number]{max-width:150px}.swal2-modal .swal2-file{font-size:20px}.swal2-modal .swal2-textarea{height:108px;padding:12px}.swal2-modal .swal2-select{color:#545454;font-size:inherit;padding:5px 10px;min-width:40%;max-width:100%}.swal2-modal .swal2-radio{border:0}.swal2-modal .swal2-radio label:not(:first-child){margin-left:20px}.swal2-modal .swal2-radio input,.swal2-modal .swal2-radio span{vertical-align:middle}.swal2-modal .swal2-radio input{margin:0 3px 0 0}.swal2-modal .swal2-checkbox{color:#545454}.swal2-modal .swal2-checkbox input,.swal2-modal .swal2-checkbox span{vertical-align:middle}.swal2-modal .swal2-validationerror{background-color:#f0f0f0;margin:0 -20px;overflow:hidden;padding:10px;color:gray;font-size:16px;font-weight:300;display:none}.swal2-modal .swal2-validationerror::before{content:'!';display:inline-block;width:24px;height:24px;border-radius:50%;background-color:#ea7d7d;color:#fff;line-height:24px;text-align:center;margin-right:10px}@supports (-ms-accelerator:true){.swal2-range input{width:100%!important}.swal2-range output{display:none}}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-range input{width:100%!important}.swal2-range output{display:none}}.swal2-icon{width:80px;height:80px;border:4px solid transparent;border-radius:50%;margin:20px auto 30px;padding:0;position:relative;-webkit-box-sizing:content-box;box-sizing:content-box;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-icon.swal2-error{border-color:#f27474}.swal2-icon.swal2-error .swal2-x-mark{position:relative;display:block}.swal2-icon.swal2-error [class^=swal2-x-mark-line]{position:absolute;height:5px;width:47px;background-color:#f27474;display:block;top:37px;border-radius:2px}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{-webkit-transform:rotate(45deg);transform:rotate(45deg);left:17px}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);right:16px}.swal2-icon.swal2-warning{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;color:#f8bb86;border-color:#facea8;font-size:60px;line-height:80px;text-align:center}.swal2-icon.swal2-info{font-family:'Open Sans',sans-serif;color:#3fc3ee;border-color:#9de0f6;font-size:60px;line-height:80px;text-align:center}.swal2-icon.swal2-question{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;color:#87adbd;border-color:#c9dae1;font-size:60px;line-height:80px;text-align:center}.swal2-icon.swal2-success{border-color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-circular-line]{border-radius:50%;position:absolute;width:60px;height:120px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left]{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right]{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;transform-origin:0 60px}.swal2-icon.swal2-success .swal2-success-ring{width:80px;height:80px;border:4px solid rgba(165,220,134,.2);border-radius:50%;-webkit-box-sizing:content-box;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.swal2-icon.swal2-success .swal2-success-fix{width:7px;height:90px;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.swal2-icon.swal2-success [class^=swal2-success-line]{height:5px;background-color:#a5dc86;display:block;border-radius:2px;position:absolute;z-index:2}.swal2-icon.swal2-success [class^=swal2-success-line][class$=tip]{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-line][class$=long]{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.swal2-progresssteps{font-weight:600;margin:0 0 20px;padding:0}.swal2-progresssteps li{display:inline-block;position:relative}.swal2-progresssteps .swal2-progresscircle{background:#3085d6;border-radius:2em;color:#fff;height:2em;line-height:2em;text-align:center;width:2em;z-index:20}.swal2-progresssteps .swal2-progresscircle:first-child{margin-left:0}.swal2-progresssteps .swal2-progresscircle:last-child{margin-right:0}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep{background:#3085d6}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep~.swal2-progresscircle{background:#add8e6}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep~.swal2-progressline{background:#add8e6}.swal2-progresssteps .swal2-progressline{background:#3085d6;height:.4em;margin:0 -1px;z-index:10}[class^=swal2]{-webkit-tap-highlight-color:transparent}@-webkit-keyframes showSweetAlert{0%{-webkit-transform:scale(.7);transform:scale(.7)}45%{-webkit-transform:scale(1.05);transform:scale(1.05)}80%{-webkit-transform:scale(.95);transform:scale(.95)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes showSweetAlert{0%{-webkit-transform:scale(.7);transform:scale(.7)}45%{-webkit-transform:scale(1.05);transform:scale(1.05)}80%{-webkit-transform:scale(.95);transform:scale(.95)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes hideSweetAlert{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(.5);transform:scale(.5);opacity:0}}@keyframes hideSweetAlert{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(.5);transform:scale(.5);opacity:0}}.swal2-show{-webkit-animation:showSweetAlert .3s;animation:showSweetAlert .3s}.swal2-show.swal2-noanimation{-webkit-animation:none;animation:none}.swal2-hide{-webkit-animation:hideSweetAlert .15s forwards;animation:hideSweetAlert .15s forwards}.swal2-hide.swal2-noanimation{-webkit-animation:none;animation:none}@-webkit-keyframes animate-success-tip{0%{width:0;left:1px;top:19px}54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animate-success-tip{0%{width:0;left:1px;top:19px}54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@-webkit-keyframes animate-success-long{0%{width:0;right:46px;top:54px}65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@keyframes animate-success-long{0%{width:0;right:46px;top:54px}65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@-webkit-keyframes rotatePlaceholder{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}5%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}12%{-webkit-transform:rotate(-405deg);transform:rotate(-405deg)}100%{-webkit-transform:rotate(-405deg);transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}5%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}12%{-webkit-transform:rotate(-405deg);transform:rotate(-405deg)}100%{-webkit-transform:rotate(-405deg);transform:rotate(-405deg)}}.swal2-animate-success-line-tip{-webkit-animation:animate-success-tip .75s;animation:animate-success-tip .75s}.swal2-animate-success-line-long{-webkit-animation:animate-success-long .75s;animation:animate-success-long .75s}.swal2-success.swal2-animate-success-icon .swal2-success-circular-line-right{-webkit-animation:rotatePlaceholder 4.25s ease-in;animation:rotatePlaceholder 4.25s ease-in}@-webkit-keyframes animate-error-icon{0%{-webkit-transform:rotateX(100deg);transform:rotateX(100deg);opacity:0}100%{-webkit-transform:rotateX(0);transform:rotateX(0);opacity:1}}@keyframes animate-error-icon{0%{-webkit-transform:rotateX(100deg);transform:rotateX(100deg);opacity:0}100%{-webkit-transform:rotateX(0);transform:rotateX(0);opacity:1}}.swal2-animate-error-icon{-webkit-animation:animate-error-icon .5s;animation:animate-error-icon .5s}@-webkit-keyframes animate-x-mark{0%{-webkit-transform:scale(.4);transform:scale(.4);margin-top:26px;opacity:0}50%{-webkit-transform:scale(.4);transform:scale(.4);margin-top:26px;opacity:0}80%{-webkit-transform:scale(1.15);transform:scale(1.15);margin-top:-6px}100%{-webkit-transform:scale(1);transform:scale(1);margin-top:0;opacity:1}}@keyframes animate-x-mark{0%{-webkit-transform:scale(.4);transform:scale(.4);margin-top:26px;opacity:0}50%{-webkit-transform:scale(.4);transform:scale(.4);margin-top:26px;opacity:0}80%{-webkit-transform:scale(1.15);transform:scale(1.15);margin-top:-6px}100%{-webkit-transform:scale(1);transform:scale(1);margin-top:0;opacity:1}}.swal2-animate-x-mark{-webkit-animation:animate-x-mark .5s;animation:animate-x-mark .5s}@-webkit-keyframes rotate-loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate-loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}} \ No newline at end of file diff --git a/languages/woo-pagarme-payments-pt_BR.po b/languages/woo-pagarme-payments-pt_BR.po index dbffaa5a..c83e1b6c 100644 --- a/languages/woo-pagarme-payments-pt_BR.po +++ b/languages/woo-pagarme-payments-pt_BR.po @@ -534,17 +534,17 @@ msgstr "Quantidade de parcelas" msgid "Value (Boleto)" msgstr "Valor (Boleto)" -#: templates/checkout/choose-credit-card.php:32 -msgid "Credit cards save" -msgstr "Cartões de crédito salvos" +#: templates/checkout/form/card/wallet.phtml:22 +msgid "Saved cards" +msgstr "Cartões salvos" -#: templates/checkout/choose-credit-card.php:39 -msgid "Saved credit card" -msgstr "Escolha um cartão" +#: templates/checkout/form/card/wallet.phtml:25 +msgid "Choose your saved card" +msgstr "Escolha seu cartão salvo" #: templates/checkout/common-card-item.php:53 -msgid "Expiration Date (MM/YY)" -msgstr "Validade (MM/AA)" +msgid "Expiration Date" +msgstr "Validade" #: templates/checkout/common-card-item.php:61 msgid "MM / YY" @@ -734,17 +734,17 @@ msgstr "" msgid "Copy Code" msgstr "Copiar Código" -msgid "1. Point your phone at this screen to capture the code." -msgstr "1. Aponte seu celular para essa tela para capturar o código." +msgid "1. Point your phone at this screen to capture the code." +msgstr "1. Aponte seu celular para essa tela para capturar o código." -msgid "2. Open your payments app." -msgstr "2. Abra seu aplicativo de pagamentos." +msgid "2. Open your payments app." +msgstr "2. Abra seu aplicativo de pagamentos." -msgid "3. Confirm the information and complete the payment on the app." -msgstr "3. Confirme os dados e finalize o pagamento pelo aplicativo." +msgid "3. Confirm the information and complete the payment on the app." +msgstr "3. Confirme os dados e finalize o pagamento pelo aplicativo." -msgid "4. We will send you a purchase confirmation." -msgstr "4. Enviaremos uma confirmação de compra pra você." +msgid "4. We will send you a purchase confirmation." +msgstr "4. Enviaremos uma confirmação de compra pra você." msgid "You can also complete the payment by copying and pasting the code into the app." msgstr "Você também pode finalizar o pagamento copiando e colando o código em seu aplicativo." diff --git a/languages/woo-pagarme-payments.pot b/languages/woo-pagarme-payments.pot index cf3e6f5e..cc4bf848 100644 --- a/languages/woo-pagarme-payments.pot +++ b/languages/woo-pagarme-payments.pot @@ -531,8 +531,8 @@ msgid "Saved credit card" msgstr "Escolha um cartão" #: templates/checkout/common-card-item.php:53 -msgid "Expiration Date (MM/YY)" -msgstr "Validade (MM/AA)" +msgid "Expiration Date" +msgstr "Validade" #: templates/checkout/common-card-item.php:61 msgid "MM / YY" diff --git a/src/Block/Checkout/Gateway.php b/src/Block/Checkout/Gateway.php index 1596f118..b4dbd327 100644 --- a/src/Block/Checkout/Gateway.php +++ b/src/Block/Checkout/Gateway.php @@ -217,7 +217,7 @@ public function getImage($htmlFormat = false) $content = $this->getPaymentInstance()->getImage(); if ($htmlFormat) { $name = esc_html__($this->getPaymentInstance()->getName(), 'woo-pagarme-payments'); - $content = ""; + $content = ""; } return $content; diff --git a/src/Block/Checkout/ThankYou/Billet.php b/src/Block/Checkout/ThankYou/Billet.php index 3d19915b..fa07366f 100644 --- a/src/Block/Checkout/ThankYou/Billet.php +++ b/src/Block/Checkout/ThankYou/Billet.php @@ -25,7 +25,11 @@ class Billet extends ThankYou * @var string */ protected $_template = 'templates/checkout/thankyou/billet'; - + + /** + * @var string + */ + protected $scripts = 'checkout/model/thankyou/billet'; public function getCharge() { diff --git a/src/Block/Checkout/ThankYou/Pix.php b/src/Block/Checkout/ThankYou/Pix.php index 275d34f5..f8f06601 100644 --- a/src/Block/Checkout/ThankYou/Pix.php +++ b/src/Block/Checkout/ThankYou/Pix.php @@ -69,10 +69,10 @@ public function getRawQrCode() public function getInstructions() { return [ - '1. Point your phone at this screen to capture the code.', - '2. Open your payments app.', - '3. Confirm the information and complete the payment on the app.', - '4. We will send you a purchase confirmation.' + '1. Point your phone at this screen to capture the code.', + '2. Open your payments app.', + '3. Confirm the information and complete the payment on the app.', + '4. We will send you a purchase confirmation.' ]; } } diff --git a/src/Block/Order/Transaction/Pix.php b/src/Block/Order/Transaction/Pix.php index 398459ed..37cb3154 100644 --- a/src/Block/Order/Transaction/Pix.php +++ b/src/Block/Order/Transaction/Pix.php @@ -69,10 +69,10 @@ public function getRawQrCode() public function getInstructions() { return [ - '1. Point your phone at this screen to capture the code.', - '2. Open your payments app.', - '3. Confirm the information and complete the payment on the app.', - '4. We will send you a purchase confirmation.' + '1. Point your phone at this screen to capture the code.', + '2. Open your payments app.', + '3. Confirm the information and complete the payment on the app.', + '4. We will send you a purchase confirmation.' ]; } } diff --git a/src/Core.php b/src/Core.php index 242ba155..e2c92b8d 100644 --- a/src/Core.php +++ b/src/Core.php @@ -125,10 +125,10 @@ public static function enqueue_scripts($type, $deps = array(), $localize_args = ); wp_enqueue_script( 'sweetalert2', - self::plugins_url("assets/javascripts/vendor/sweetalert2.js"), - array_merge(array('jquery'), $deps), - self::filemtime("assets/javascripts/vendor/sweetalert2.js"), - false + self::plugins_url("assets/javascripts/vendor/sweetalert2.all.min.js"), + array(), + '6.11.5', + true ); if ($type == 'admin') { wp_enqueue_script( @@ -140,7 +140,6 @@ public static function enqueue_scripts($type, $deps = array(), $localize_args = ); } if ($type == 'front') { - $id = "{$type}-script-" . self::SLUG; wp_enqueue_script( 'pagarme-checkout-card', self::plugins_url("assets/javascripts/front/checkout/model/payment.js"), @@ -159,6 +158,12 @@ public static function enqueue_scripts($type, $deps = array(), $localize_args = public static function enqueue_styles($type) { + wp_enqueue_style( + 'sweetalert2', + self::plugins_url("assets/stylesheets/vendor/sweetalert2.min.css"), + array(), + '6.11.5' + ); wp_enqueue_style( "{$type}-style-" . self::SLUG, self::plugins_url("assets/stylesheets/{$type}/style.css"), diff --git a/src/Model/CardInstallments.php b/src/Model/CardInstallments.php index 007af9d0..9d85dc67 100644 --- a/src/Model/CardInstallments.php +++ b/src/Model/CardInstallments.php @@ -79,9 +79,9 @@ public function getOptions($total, $maxInstallments, $minAmount, $interest, $int 'value' => 1, 'content' => __('1x', 'woo-pagarme-payments') . ' (' . wc_price($total) . ')' ]; - $interest_base = $interest; + $interestBase = $interest; for ($times = 2; $times <= $maxInstallments; $times++) { - $interest = $interest_base; + $interest = $interestBase; $amount = $total; if ($interest || $interestIncrease) { if ($interestIncrease && $times > $noInterest + 1) { @@ -103,10 +103,9 @@ public function getOptions($total, $maxInstallments, $minAmount, $interest, $int wc_price($price), wc_price($value) ); - $amount = $total; - if ($times > $noInterest && $interest) { - $text .= " c/juros de {$interest}%"; - } + + $text .= $this->verifyInterest($times, $noInterest, $interest); + $options[] = [ 'value' => $times, 'content' => $text @@ -114,6 +113,21 @@ public function getOptions($total, $maxInstallments, $minAmount, $interest, $int } return $options; } + + /** + * @param int $times + * @param mixed $noInterest + * @param mixed $interest + * @return string + */ + public function verifyInterest(int $times, $noInterest, $interest): string + { + if ($times > $noInterest && $interest) { + return " c/juros"; + } + + return " s/juros"; + } /** * @param array $options diff --git a/src/Model/Gateway.php b/src/Model/Gateway.php index cc8132fe..4461f8d7 100644 --- a/src/Model/Gateway.php +++ b/src/Model/Gateway.php @@ -112,10 +112,10 @@ public function render_installments_options($total, $max_installments, $min_amou __('1x', 'woo-pagarme-payments') . ' (' . wc_price($total) . ')' ); - $interest_base = $interest; + $interestBase = $interest; for ($times = 2; $times <= $max_installments; $times++) { - $interest = $interest_base; + $interest = $interestBase; $amount = $total; if ($interest || $interest_increase) { @@ -144,10 +144,10 @@ public function render_installments_options($total, $max_installments, $min_amou wc_price($value) ); - $amount = $total; - if ($times > $no_interest && $interest) { - $text .= " c/juros de {$interest}%"; + $text .= " c/juros"; + } else { + $text .= " s/juros"; } $output .= sprintf('', $times, $text); diff --git a/templates/adminhtml/system/config/form/field/hub/environment.phtml b/templates/adminhtml/system/config/form/field/hub/environment.phtml index 307faa81..4728355e 100644 --- a/templates/adminhtml/system/config/form/field/hub/environment.phtml +++ b/templates/adminhtml/system/config/form/field/hub/environment.phtml @@ -16,8 +16,6 @@ if ( ! defined( 'ABSPATH' ) ) {

    getCurrent()); ?>

    config->getIsSandboxMode() || $this->getCurrent() === $this->getDefault()) : ?>
    - - - +
    diff --git a/templates/adminhtml/system/config/form/field/hub/integration.phtml b/templates/adminhtml/system/config/form/field/hub/integration.phtml index e1752295..0a20b8bd 100644 --- a/templates/adminhtml/system/config/form/field/hub/integration.phtml +++ b/templates/adminhtml/system/config/form/field/hub/integration.phtml @@ -13,15 +13,17 @@ if ( ! defined( 'ABSPATH' ) ) { exit; } ?> -
    - + config->getHubInstallId() && $this->config->getIsGatewayIntegrationType()) : ?> -
    -
    diff --git a/templates/order/transaction/pix.phtml b/templates/order/transaction/pix.phtml index 5063e09d..9dae484c 100644 --- a/templates/order/transaction/pix.phtml +++ b/templates/order/transaction/pix.phtml @@ -20,29 +20,24 @@ if (!function_exists('add_action')) { : -

    - -

    - +

    Pix QRCode

    +

    getInstructions() as $instruction) : ?> -
    - -
    +

    -
    - ', - esc_url($this->getFilePath('assets/images/pix-checkout-attention.svg')), - esc_html__('pix attention icon', 'woo-pagarme-payments') +

    + -

    -
    - -
    + ?>
    +

    From 9c90b5e38f76075b7ef7ce9faf3bff90409f589c Mon Sep 17 00:00:00 2001 From: mauriciohaygert Date: Thu, 25 May 2023 14:43:16 -0300 Subject: [PATCH 142/156] Card brand does't update because of the cache --- assets/javascripts/front/checkout/model/payment.js | 5 +---- assets/javascripts/front/checkout/model/payment/card.js | 7 ++++--- templates/checkout/form/card/installments.phtml | 8 +++++++- templates/checkout/form/card/wallet.phtml | 3 +-- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/assets/javascripts/front/checkout/model/payment.js b/assets/javascripts/front/checkout/model/payment.js index 7e7c7893..21f6928c 100644 --- a/assets/javascripts/front/checkout/model/payment.js +++ b/assets/javascripts/front/checkout/model/payment.js @@ -5,15 +5,12 @@ jQuery(function ($) { globalThis.wc_pagarme_checkout = wc_pagarme_checkout; $.jMaskGlobals.watchDataMask = true; wc_pagarme_checkout.validate = function () { - var requiredFields = $('#billing_number, #shipping_number:visible, input[data-required=true]:visible'), + var requiredFields = $('#billing_number, #shipping_number:visible, input[data-required=true]:visible, select[data-required=true]:visible'), isValid = true; requiredFields.each(function (index, item) { var field = $(item); const wrapper = field.closest( '.form-row' ) if (field.val() == 0 || !$.trim(field.val())) { - if (field.attr('id') == 'installments') { - field = field.next(); //Select2 span - } field.addClass('invalid').val(''); if (isValid) { field.focus(); diff --git a/assets/javascripts/front/checkout/model/payment/card.js b/assets/javascripts/front/checkout/model/payment/card.js index c70f1e5f..a2950aad 100644 --- a/assets/javascripts/front/checkout/model/payment/card.js +++ b/assets/javascripts/front/checkout/model/payment/card.js @@ -153,7 +153,7 @@ let pagarmeCard = { getCardData: async function (cardNumber) { let result = []; let value = await this.getCardDataByApi(cardNumber); - if (value === 'error' || typeof value == 'undefined') { + if (value === 'error' || typeof value.brandName == 'undefined') { value = await this.getCardDataContingency(cardNumber); } let codeWithArray = { @@ -178,12 +178,13 @@ let pagarmeCard = { getCardDataByApi: function (cardNumber) { return new Promise((resolve) => { + let bin = cardNumber.substring(0, 6); $.ajax({ type: "GET", dataType: "json", - url: 'https://api.mundipagg.com/bin/v1/' + cardNumber, + url: 'https://api.mundipagg.com/bin/v1/' + bin, async: false, - cache: true, + cache: false, success: function (data) { resolve(data); }, diff --git a/templates/checkout/form/card/installments.phtml b/templates/checkout/form/card/installments.phtml index b3232eb9..bf113f7b 100644 --- a/templates/checkout/form/card/installments.phtml +++ b/templates/checkout/form/card/installments.phtml @@ -19,5 +19,11 @@ if (!function_exists('add_action')) { * diff --git a/templates/checkout/form/card/wallet.phtml b/templates/checkout/form/card/wallet.phtml index d7e6257a..268048d8 100644 --- a/templates/checkout/form/card/wallet.phtml +++ b/templates/checkout/form/card/wallet.phtml @@ -26,8 +26,7 @@ if (!function_exists('add_action')) { getPaymentInstance()->getCards() as $card) : ?> (%1$s) •••• •••• •••• %4$s', - esc_html(strtoupper($card->getBrand()->getName())), + '', esc_attr($card->getPagarmeId()->getValue()), esc_html(strtolower($card->getBrand()->getName())), esc_html($card->getLastFourDigits()->getValue()) From de4359b3d03239095d0a4f0f6475eba5eb34ee97 Mon Sep 17 00:00:00 2001 From: RafaMelazzo Date: Thu, 25 May 2023 17:24:00 -0300 Subject: [PATCH 143/156] Small frontend fixes --- assets/stylesheets/front/style.css | 4 ++-- src/Model/Gateway.php | 21 ++++++++++++++++----- templates/checkout/form/card.phtml | 3 +-- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/assets/stylesheets/front/style.css b/assets/stylesheets/front/style.css index f516ed67..d1716f2b 100644 --- a/assets/stylesheets/front/style.css +++ b/assets/stylesheets/front/style.css @@ -141,9 +141,9 @@ } /* xl */ -@media (min-width: 1200px) { +/* @media (min-width: 1200px) { -} +} */ /* xxl */ /* @media (min-width: 1400px) { diff --git a/src/Model/Gateway.php b/src/Model/Gateway.php index 4461f8d7..7128170b 100644 --- a/src/Model/Gateway.php +++ b/src/Model/Gateway.php @@ -144,17 +144,28 @@ public function render_installments_options($total, $max_installments, $min_amou wc_price($value) ); - if ($times > $no_interest && $interest) { - $text .= " c/juros"; - } else { - $text .= " s/juros"; - } + $text .= $this->verifyInterest($times, $no_interest, $interest); $output .= sprintf('', $times, $text); } return $output; } + + /** + * @param int $times + * @param mixed $noInterest + * @param mixed $interest + * @return string + */ + public function verifyInterest(int $times, $no_interest, $interest): string + { + if ($times > $no_interest && $interest) { + return " c/juros"; + } + + return " s/juros"; + } private function _calc_installments_1(array $params) { diff --git a/templates/checkout/form/card.phtml b/templates/checkout/form/card.phtml index 3bfe5585..4e1adda4 100644 --- a/templates/checkout/form/card.phtml +++ b/templates/checkout/form/card.phtml @@ -76,8 +76,7 @@ if (!function_exists('add_action')) { data-element="pagarme-card-number" class="input-text wc-credit-card-form-card-number pagarme-card-form-card-number" data-mask="0000 0000 0000 0000" placeholder="•••• •••• •••• ••••" - data-required="true" style="background-image: none" - data-pagarmecheckout-element="number"> + data-required="true" data-pagarmecheckout-element="number"> From 1b38dd934b9a59f060ee7c1c2053abea1b625082 Mon Sep 17 00:00:00 2001 From: RafaMelazzo Date: Fri, 26 May 2023 11:46:28 -0300 Subject: [PATCH 144/156] PAOPN-419 Change on the desintegration button --- assets/javascripts/admin/built.js | 16 +++--------- assets/stylesheets/admin/style.css | 24 ++++++++++++++---- languages/woo-pagarme-payments-pt_BR.mo | Bin 22087 -> 22422 bytes languages/woo-pagarme-payments-pt_BR.po | 23 +++++++++-------- .../config/form/field/hub/environment.phtml | 10 +++++--- .../config/form/field/hub/integration.phtml | 13 +++------- 6 files changed, 46 insertions(+), 40 deletions(-) diff --git a/assets/javascripts/admin/built.js b/assets/javascripts/admin/built.js index 74df4424..23138be1 100644 --- a/assets/javascripts/admin/built.js +++ b/assets/javascripts/admin/built.js @@ -4143,7 +4143,6 @@ MONSTER('Pagarme.Components.Settings', function(Model, $, Utils) { this.VoucherccBrands = $('[data-field="voucher-flags-select"]'); this.cardWallet = $('[data-field="card-wallet"]'); this.voucherCardWallet = $('[data-field="voucher-card-wallet"]'); - this.disintegrate = $('#btn-uninstall-hub'); this.isGatewayIntegrationType = $('input[id*="woo-pagarme-payments_is_gateway_integration_type"]').prop("checked"); this.installmentsMaxByFlag = this.installmentsByFlag.find('input[name*="cc_installments_by_flag[max_installment]"]'); @@ -4363,8 +4362,7 @@ MONSTER('Pagarme.Components.Settings', function(Model, $, Utils) { VoucherccBrands, cardWallet, voucherEnabled, - voucherCardWallet, - disintegrate + voucherCardWallet ) { antifraudEnabled.hide(); antifraudMinValue.hide(); @@ -4377,7 +4375,6 @@ MONSTER('Pagarme.Components.Settings', function(Model, $, Utils) { cardWallet.hide(); voucherEnabled.hide(); voucherCardWallet.hide(); - disintegrate.hide(); this.ccAllowSave.prop("checked", false); var $optionsToRemove = this.ccBrands.find(this.getOnlyGatewayBrands()); @@ -4407,8 +4404,7 @@ MONSTER('Pagarme.Components.Settings', function(Model, $, Utils) { VoucherccBrands, cardWallet, voucherEnabled, - voucherCardWallet, - disintegrate + voucherCardWallet ) { antifraudEnabled.show(); antifraudMinValue.show(); @@ -4421,7 +4417,6 @@ MONSTER('Pagarme.Components.Settings', function(Model, $, Utils) { cardWallet.show(); voucherCardWallet.show(); voucherEnabled.show(); - disintegrate.show(); this.restoreOptions(this.ccBrands); @@ -4444,7 +4439,6 @@ MONSTER('Pagarme.Components.Settings', function(Model, $, Utils) { VoucherccBrands = this.VoucherccBrands.closest('tr'), voucherEnabled = this.voucherEnabled.closest('tr'), voucherCardWallet = this.voucherCardWallet.closest('tr'), - disintegrate = this.disintegrate.closest('p'), cardWallet = this.cardWallet.closest('tr'); if (isGateway) { @@ -4457,8 +4451,7 @@ MONSTER('Pagarme.Components.Settings', function(Model, $, Utils) { VoucherccBrands, cardWallet, voucherEnabled, - voucherCardWallet, - disintegrate + voucherCardWallet ); } @@ -4472,8 +4465,7 @@ MONSTER('Pagarme.Components.Settings', function(Model, $, Utils) { VoucherccBrands, cardWallet, voucherEnabled, - voucherCardWallet, - disintegrate + voucherCardWallet ); }; diff --git a/assets/stylesheets/admin/style.css b/assets/stylesheets/admin/style.css index 45d9674d..85a764f4 100644 --- a/assets/stylesheets/admin/style.css +++ b/assets/stylesheets/admin/style.css @@ -1,12 +1,14 @@ -.hub_button_integration-field > div { - display: inline; +.form-table td p.pagarme-hub-desintegration { + margin: 1em 0 0; + font-style: italic; } -.pagarme-hub-desintegration-btn { - margin-left: .6em; +.form-table td p.pagarme-hub-desintegration > a { + font-weight: 700; + cursor: pointer; } -.pagarme-hub-integration-btn img { +.pagarme-hub-integration-btn > a > img { vertical-align: text-top; max-height: 1.4em; margin-left: .6em; @@ -17,4 +19,16 @@ padding: 1em; background: #fae5e5; color: #e02b27; +} + +.woocommerce_page_woo-pagarme-payments .swal2-modal { + line-height: normal; +} + +.woocommerce_page_woo-pagarme-payments .swal2-modal .swal2-title { + margin-bottom: 0.6em; +} + +.woocommerce_page_woo-pagarme-payments .swal2-modal .swal2-content { + line-height: 1.3em; } \ No newline at end of file diff --git a/languages/woo-pagarme-payments-pt_BR.mo b/languages/woo-pagarme-payments-pt_BR.mo index 0bf42bab281918c5d7e08b7747fca54241fd5aca..e47a83c115df21f43af427e5f0b010e12a3b176d 100644 GIT binary patch delta 6860 zcma*rcX(7)0>|h$Qm`Mkz#P;Ah9du&@w}*E*VczoBU*y$=rUV> z1M+OM*4{sbTDl#`e`XgiOu0FTYOgix5Yt+=r=W&A;~dOFHLwiTk*lq@pdN59Y6-TW zzV{}wYUX1cf`_pm=65q@5T1p4&T`Dd8!;PqbYuQCb%&|Y1Jb(t5AK1QszTHh564zG z+SZq$)^a*(2Iism&iTl)n>$c@>T%TbU&i+Mo^>B;FD3P0{SrGMj7;4HYP$P@j z`z6-ps0LP}MzjIdfi0*Jy@tj3GioM^9e*Ho)<#svm!LXuO^iYTg}YHx{vK*cKE)>d z8r9I!o_<3sa02(Y;1v86gIIjLG3)SlWHL<|qtc$KMmD-xjM^L5+xv&@`>_`(Xlma_ z^=z-bH@*FH+8U`c{ZUI)X01duv;;Nc)u<7@ftvcyZT*ipk^B5Co`L71_Q0J;-(%)& z3R9M&R`L1~Z)q(w}UH${=bA9{yzm$VfGdct{ zfHKs~%(C~@*o^kg0t)JR3`gS%R0FT#06b*h@6G(Bb6b+{J~ZGn9;reje+L7r%xiOspMMlC@DYDzCfHF!Ph{BJ@|l6es|@-M81 zP*a>b(68@~`uqUY^G0DBo;HyAZ$)7y6{%Q>>RGk55jBNNtv8@H;r-YQx1l=zlJz6h zX8jIZ;;{@{OV|t5(LB5Wr=Vu?wQS~Jzi7Lt(1X53jWi|4?@&inL!GTXky$i-aTrcT z_N`fg!*M<8+<${b*e}=r+_}i4m{q6&Y{!fMf9zrubpF3*2WbZSvGZguw!*=vH5-HK z-~?=gvrxw^XkCn&+LiWxjlJK9n$hj3f$T&r;X9~~#|~4_gL~xr56H(++>b?l@M28H zwb&N##&-A!PR18do3S&a&_GIf;gO~ed*d2pY-T%Z$`4_C3>5MgGKux?NI@gIg89-1 zR-t;l7BleyoP^tuwoE&IZBD{*m^dw{k-dsqTOUO& z)fP$nW~Y5)w|!$T9!LGZP&1Oj&f+hs>5f{8;n)F3B7-zjaXMa(`uxYJ0qsR~tV4-^ z+`6IO&qCGbU`$grghD5rVLvb*HL^vve!0EB6E#DdQ4e|x)sc@-Q-1)}@eU*W5oe>$ zc_HdJmS8zfL@oKc5zN0H@E8^H73_+;@dPxbetjR*5)8)ztVB+#xyjZ)hic$EWL3=1 z$SRtlBmGkp#?IWw@L0SFwZ|SF8S~fZ2`XAsu@yBnuc2n-UDQk*KxWgVjq-Q(Skziq zq1JLS>W69tcEh!(2A@H7^nFyvTe4#{(2=P2rp74fK`!c8HK2O93^m2KS?@s|tA~+o zVfLU-Lys~3=T1j$vNKULHwTZ$%TRk{9jd`Ss7<*aZ^PIj3R2Zc>jSbQEPrHYQ&qdJHCM$*mtNOvh)-EKu@$Jz zy#Whxr{1T1lXkM-a0d3}{shdy$*2x2!9jQtHpBI{{xQ_dJ&n!r6YPOsqB_{>6u;wL zQTM%3o461itizb5Y9$5j@{O2|&tos#iF)8c)UM5BW2nLYs1BWiTId2pGi0V+Y)BG9ig>AVnMlI!pm@SlHG8NNNBc6$zOmiU~kI!NeerD}{ zy1xX|t(V{c-rt1UjJq)_z%L;V;XZ4cKcLyD8K}fmjD;y^%@&|WxER}D6Y4>0tWTnT zn08@D+>ctawCVm-9*>&xZ0wIkn2j#B$172rbPZ0xb?E5)AE2O-XPn`$@o}gr?}IvC zrKnAJJ?fWlGisy8oUUZ0COI>fap4x{EPG=9}u-~DuDfyxGu3C z;RXr})Lc#eP6m?~iO#b|yPLQ~*E!@t@&joiy8c5n3*VDvMA!R-AH~F#`1_wmH?QM% z5z${SjruP{>!!;g9{GZ-CQlIdVPZMJ+^v_Ru76UVLk5xqM6-1bDI^ogeMHwAB*y+o z?ASlym!yhl$Leb3V`k#5wk$p(caV)_7gk@5><`cZYsw)`!gNd}RVY@L2n{y|Df zF^Lmhu}oi+Oh*n1>Pf4}C7nhRtWEA0~ne)j=l16krLgtgLq>|iBbRP9H zen@4m*R}p{Qn;VILM|e@c96?RISJSqI-Bw;GM4DtPnMFe$;IR|vXAs7y~(v?HhGo2 zM;;>Uh_3dek=&^B-?C7I4tbj_ zAxEyows1Y>+VWGr+K*gW6$_kDrIQtL`esG?nY;xi-x=$MDoEp!W zSU<;c+t*e&<<-IRc@9q>muNb^tW#rBMpY;jNpvjiMBE0CPcbJ=KXraJ{$ZDXfp|u@ z9fA1g-FpOLyqRdj?^=c5i=+F-gO6_0?;DdGsR}jv18eX`I%5-^C~=)&#fUz2>SK+U zT~$9PyTXec^|b8jVC}p9nHWw(i%pZY&!9yR}|l^hqE#&8uQf9uF2VX(VP9W~*V2Co2jebG z$8WG6Ufa@`HrN3*&Oqd)h`EtQQ%>B0U2!Gm;Pa>tp2kji2Ag3*D`T2tTWbz>p+6cm zKmZ%z{g{A{Vhh}cvv5DgV$;^f#4)}}rlEmS@EYudiP+1YAB-x-DEsiQna(;nlIBAYafWqgxOqXFijE-(~zClgTv7uxenQFn9?YNG4y z`KOS7rpopYp_c4J)OBi5cYGPOWHFr7c!?O9MhY)# zOtt54L9MADRf!7J-dT+-uZf~2`Y!7Fr!fh?wq8N)rKEP$Uz@8-J9p;eP^Al_?r^2; zueCmb8lVbwXK$h^a0GQ{Utu3?$wI3llTkOa%DN6U@eQa6R7Gg?qHz$l1Q$?ibQv{3 zJ;%MnBpgk@BTm8Fun=FxDopLb6M;ujd*(c{?~JFTyEodP`gy3=r=Tht@zKzX0`|n+ z$nuy6QI&ZCb%#f-XHf%rc~N)jpzdTAs^mrX{Bj&a|7GlsS5SMPduP4_@MdIbB4#-a zmGlAJhfkwsI49MuKmb*lrKk$rjj{MHs!~T#OLhXa7rw-4_!F|>&4e!QQ?LLv&Pvq# zH`n$fe9_R*8{a_9@Ke;LY1-8-QG3*k(~*B>5e{dg1Ymdbs4I} z_u2k7)cbd%uJ;Dk$7A;OQ{7qrI8L19L<2l;{ST^y^(cc(L2beuRO!Z{CO*|#fb1`` z7*&x?s3qKmn&_*z0#9N*-jwcsu@$6Ke_g186S~v2s0nRB4Yb4hJTfP<2m9eEWPh1f z)VDtlLOt(GF%P4t_nk$?G^v^H4NS!r9v)r%kn@p9Pxtws#!k|}_gdFrL;97dwR;LR z(Wg;+Vn6D!J7oO?o6!Hx_O+AMZ;q;LD(Z%^P)pedbpw%^G<4xRQ6E^3LvSnVjWrm9 z-W<0=^{^@ZWSop?s7<*9d*S2AN6caDj5^7jOe(7MGjK7F$z0?{BIe`X{4u}_U!dO5 znfhtQ8K_@AeNi)=j03O?b8!#qj{b#O<8M(DZp62eHem+pu^xq7+W1gQvJqA3qnO6{ z<~R*~qj^|B?bi0FO_z&W^Ks~487AQd)Kl^t>ito?1>Ztlxa)Q9#4@b8sLJ-YPO#_a zsL%MOfJSR9LseiM>MQtBRO$C(GkgV^t9cJ^z&LKFb~j@h{Q}g))}S7s)XchcYGIWsaByT6j@JWB8?q51AoBVaqKYn4~xC1 zJDWG$z0eA5O@A%wPIqEEtVZ2Y4XX5)Fd1V)}>=ekZDQyD$OY$M$#vHNl^;J|>KF`%O`sw*xvj2UV%% zsLj0{YoGs@X>{Vm>!=HUhT0r4Zg?MR!clC1`%!CNZ9QrI9UD)CBWUp9`RtY}G{SuRGex36<_3>H=?}eg}MtX?PJek#>_@vr&~Afh({8wFGBS z6S|11U=qI~b-oK~Df6rYF^2w#2o2rw801MaC8*~&ih1~vwb2xJ2}W4Uum`U{gW8No zG1bFwK|D#n`StEM;&-SUOPl6aA`9c_4?rzlWEc(I>1b?>b5Iv7vaUjXG3`J-h6hkf zb_7+@uTiDHgx%3hcWDE7qbxgJ~DqKYzcEO(eYbSLaG_RcD>i4 zcBGCYV?kjo^IXa`??XyYy>zq#ttW2oF;2 zp-tJ$w*RgAJ!d;&5jjonAYI55Qbe?~kCVDXUsfCHI`}uW8C?I1_6<$#bbSwa>ED1l z=8!CMjBFtVi`(4a%t$z%iW%k5-_z7uFZY9%6-SIPx)npY}K>kb46CG9LS@MfI_UKvH zu-=Uikp?7zgviHQe;xB(%$?Smc#y=|zDOn~$ZKRCsXH#%#(j9kwwL1-GST)o;v2Rt z{%YHS+iYVl_8|9@Vteis`p9RboOnsy5zF2fL1zuwNuDS5Irk?#N$w&hwP1-8obRND zoV3(XHB`cvEEo_Hs1;>4b_ zXLpN!(7wGVy0XKj#0LK#C)zRNcuZy6)~zD9`^!U4ux`8}UwD47wAk?neDjJ50}Gt+ zLcbF%DG8Q_%L0Yrawi;g{PXAg^TUqM3HTQ~g@LetL8&iX7z|`OV}gtQi~ObOP9ami z>J=vxE-Wf?O8v#Y!hl|JbaMs1&_XBA7bxKEPGN}4<@-Y+Uuo?iyf?VWUpxHO7b^Az z%6vsd<HzT{RlhwChZr{oSxhG?CGIOGj_4aza6#7`+fXYpIJ-j)Y zl}?||UdlJEPk)u~i9R)+XiC3J-pY)DSCaSoLr#I8Rj7WBWe8HoqD8?_w9BBGp6DHe zhj`se4jtMp`r^>hp6Fx4OJd@D3kn0iXp_+$5|T!S@`FVSeNI`i)*)QIJy3j17f?x^3NxFXZG`9v+n(@fSOxGM`gIt$ixCFWo8emlhX>3j+l~${MuQF7Poc z{`u$o!)3lw2B74@MZUVqRzJ&Fna(6uBoOum!ol>~>)LYFzUol#0*2!9K9$#D?A$<5 qvnt^we~}aNYf!iJ)muvo>!zDg 1);\n" -"X-Generator: Poedit 3.2.2\n" +"X-Generator: Poedit 3.3.1\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c;_nc:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2\n" "X-Poedit-Basepath: ..\n" @@ -729,7 +729,7 @@ msgstr "Habilita o gateway de pagamento Pagar.me para o WooCommerce" #. Author URI of the plugin/theme msgid "https://pagarme.me" -msgstr "" +msgstr "https://pagarme.me" msgid "Copy Code" msgstr "Copiar Código" @@ -762,7 +762,7 @@ msgid "Additional information" msgstr "Informações adicionais" msgid "Set of key and value used to add information to the generated pix. This will be visible to the buyer during the payment process." -msgstr "Conjunto de chave e valor para adicionar informações ao pix gerado. Isso ficará visível para o comprador durante o pagamento" +msgstr "Conjunto de chave e valor para adicionar informações ao pix gerado. Isso ficará visível para o comprador durante o pagamento." msgid "Additional Information Name" msgstr "Nome da informação adicional" @@ -875,14 +875,17 @@ msgstr "Integrar com Pagar.me" msgid "View Integration" msgstr "Visualizar integração" -msgid "Disintegrate" -msgstr "Desintegrar" +#: templates/adminhtml/system/config/form/field/hub/integration.phtml:23 +msgid "Have you removed your integration on Pagar.me Hub, but it shows active? Click here to remove your keys." +msgstr "Removeu sua integração no Hub Pagar.me, mas ainda aparece ativa? Clique aqui para finalizar removendo suas chaves." +#: templates/adminhtml/system/config/form/field/hub/integration.phtml:28 msgid "Disintegrate?" msgstr "Desintegrar?" -msgid "This removes the integration keys on your platform enabling the opportunity to effect a new integration. However, its integration still remains in our dash and it is necessary to remove the integration manually." -msgstr "Isso remove as chaves de integração em sua plataforma, permitindo a oportunidade de efetuar uma nova integração. No entanto, sua integração ainda permanece em nosso painel sendo necessário remove-la manualmente." +#: templates/adminhtml/system/config/form/field/hub/integration.phtml:29 +msgid "Are you shure you wish to delete the keys? This action removes the integration from your store, but first you must access Pagar.me Hub and click on Delete." +msgstr "Tem certeza que deseja excluir as chaves? Essa ação remove a integração da sua loja, mas primeiro você deve acessar o Hub Pagar.me e clicar em Excluir." msgid "Yes, remove keys!" msgstr "Sim, remova as chaves!" @@ -891,7 +894,7 @@ msgid "Disintegration Complete" msgstr "Desintegração Concluída" msgid "Integration keys successfully removed. Reload the page." -msgstr "Chaves de integração removidas com sucesso. Recarregue a pagina" +msgstr "Chaves de integração removidas com sucesso. Recarregue a página." msgid "Disintegration Error" msgstr "Erro na Desintegração" @@ -987,7 +990,7 @@ msgid "This new release contains crucial architecture and functionality updates. msgstr "Esta nova versão contém atualizações cruciais de arquitetura e funcionalidade. Recomendamos que %1$sfaça backup de seu site antes de atualizar%2$s. É altamente recomendável executar e validar a atualização primeiro no ambiente de teste antes de executar a atualização em produção." msgid "We recommend backup before upgrading!" -msgstr "Recomendamos backup antes de atualizar!" +msgstr "Recomendamos fazer backup antes de atualizar!" #~ msgid "If you have not yet received the billet, please click the button below to print." #~ msgstr "Se você ainda não efetuou o pagamento, por favor clique no botão abaixo para pagar." diff --git a/templates/adminhtml/system/config/form/field/hub/environment.phtml b/templates/adminhtml/system/config/form/field/hub/environment.phtml index 4728355e..411f3e9e 100644 --- a/templates/adminhtml/system/config/form/field/hub/environment.phtml +++ b/templates/adminhtml/system/config/form/field/hub/environment.phtml @@ -14,8 +14,10 @@ if ( ! defined( 'ABSPATH' ) ) { } ?>

    getCurrent()); ?>

    -config->getIsSandboxMode() || $this->getCurrent() === $this->getDefault()) : ?> -
    - -
    +config->getHubInstallId()) : ?> + config->getIsSandboxMode() || $this->getCurrent() === $this->getDefault()) : ?> +
    + +
    + diff --git a/templates/adminhtml/system/config/form/field/hub/integration.phtml b/templates/adminhtml/system/config/form/field/hub/integration.phtml index 0a20b8bd..c49ff6d4 100644 --- a/templates/adminhtml/system/config/form/field/hub/integration.phtml +++ b/templates/adminhtml/system/config/form/field/hub/integration.phtml @@ -20,18 +20,14 @@ if ( ! defined( 'ABSPATH' ) ) { src="">
    -config->getHubInstallId() && $this->config->getIsGatewayIntegrationType()) : ?> -
    - -
    +config->getHubInstallId()) : ?> +

    here to remove your keys.", "woo-pagarme-payments"); ?>

    - From 126b0b2810a01a3af284252029a5a790e77397b0 Mon Sep 17 00:00:00 2001 From: RafaMelazzo Date: Fri, 26 May 2023 16:11:13 -0300 Subject: [PATCH 145/156] Small fix on frontend --- .../checkout/model/{thankyou => payment}/billet.js | 0 src/Block/Checkout/ThankYou/Billet.php | 2 +- src/Block/Order/Transaction/Boleto.php | 5 +++++ .../system/config/form/field/hub/environment.phtml | 12 ++++++------ templates/order/transaction/billet.phtml | 10 ---------- 5 files changed, 12 insertions(+), 17 deletions(-) rename assets/javascripts/front/checkout/model/{thankyou => payment}/billet.js (100%) diff --git a/assets/javascripts/front/checkout/model/thankyou/billet.js b/assets/javascripts/front/checkout/model/payment/billet.js similarity index 100% rename from assets/javascripts/front/checkout/model/thankyou/billet.js rename to assets/javascripts/front/checkout/model/payment/billet.js diff --git a/src/Block/Checkout/ThankYou/Billet.php b/src/Block/Checkout/ThankYou/Billet.php index fa07366f..6d84d6a2 100644 --- a/src/Block/Checkout/ThankYou/Billet.php +++ b/src/Block/Checkout/ThankYou/Billet.php @@ -29,7 +29,7 @@ class Billet extends ThankYou /** * @var string */ - protected $scripts = 'checkout/model/thankyou/billet'; + protected $scripts = 'checkout/model/payment/billet'; public function getCharge() { diff --git a/src/Block/Order/Transaction/Boleto.php b/src/Block/Order/Transaction/Boleto.php index eb384a1d..b6183f06 100644 --- a/src/Block/Order/Transaction/Boleto.php +++ b/src/Block/Order/Transaction/Boleto.php @@ -24,6 +24,11 @@ class Boleto extends AbstractTransaction */ protected $_template = 'templates/order/transaction/billet'; + /** + * @var string[] + */ + protected $scripts = ['checkout/model/payment/billet']; + /** * @return string|null */ diff --git a/templates/adminhtml/system/config/form/field/hub/environment.phtml b/templates/adminhtml/system/config/form/field/hub/environment.phtml index 411f3e9e..96ab31c2 100644 --- a/templates/adminhtml/system/config/form/field/hub/environment.phtml +++ b/templates/adminhtml/system/config/form/field/hub/environment.phtml @@ -14,10 +14,10 @@ if ( ! defined( 'ABSPATH' ) ) { } ?>

    getCurrent()); ?>

    -config->getHubInstallId()) : ?> - config->getIsSandboxMode() || $this->getCurrent() === $this->getDefault()) : ?> -
    - -
    - +config->getHubInstallId() && + ($this->config->getIsSandboxMode() || + $this->getCurrent() === $this->getDefault())) : ?> +
    + +
    diff --git a/templates/order/transaction/billet.phtml b/templates/order/transaction/billet.phtml index b11b1c67..055c43cf 100644 --- a/templates/order/transaction/billet.phtml +++ b/templates/order/transaction/billet.phtml @@ -32,16 +32,6 @@ if (!function_exists('add_action')) { class="pagarme-payment-button"> - From 222426d7684d72405db1011bd238e3f8cb7eea8d Mon Sep 17 00:00:00 2001 From: RafaMelazzo Date: Fri, 26 May 2023 16:33:13 -0300 Subject: [PATCH 146/156] Added legend to fieldset tags --- assets/stylesheets/front/style.css | 4 ++++ templates/checkout/form/card.phtml | 1 + templates/checkout/form/multicustomers.php | 1 + 3 files changed, 6 insertions(+) diff --git a/assets/stylesheets/front/style.css b/assets/stylesheets/front/style.css index d1716f2b..202ebf13 100644 --- a/assets/stylesheets/front/style.css +++ b/assets/stylesheets/front/style.css @@ -6,6 +6,10 @@ font-size: 1em; } +#payment .payment_methods li[class*="pagarme"] .payment_box fieldset legend { + display: none; +} + #payment .payment_methods li[class*="pagarme"] .payment_box fieldset label { display: flex; align-items: center; diff --git a/templates/checkout/form/card.phtml b/templates/checkout/form/card.phtml index 4e1adda4..814f4977 100644 --- a/templates/checkout/form/card.phtml +++ b/templates/checkout/form/card.phtml @@ -22,6 +22,7 @@ if (!function_exists('add_action')) { class="wc-credit-card-form wc-payment-form" data-pagarmecheckout-method="getPaymentInstance()->getMethodCode() ?>" data-pagarmecheckout="card" data-pagarmecheckout-card-num=""> + getShowOrderValue()) : ?> getQuantityCards() > 1) : ?>

    getPaymentInstance()->getMethodCode() ?>" data-pagarme-sequence="getSequence() ?>" data-pagarme-payment-element="multicustomers" style="display:none;"> + formatElement($this->getTitle(), ['h4' => []]) ?>

    From a07a8cfa0e7448143e9692a68117dd5457826d06 Mon Sep 17 00:00:00 2001 From: RafaMelazzo Date: Mon, 29 May 2023 14:57:19 -0300 Subject: [PATCH 147/156] Fix admin order tables --- .../admin/sales/order/view/cancel-capture.js | 1 - .../javascripts/admin/vendor/iziModal.min.js | 6 + assets/javascripts/admin/vendor/izimodal.js | 1441 ----------------- assets/stylesheets/admin/style.css | 80 +- assets/stylesheets/vendor/iziModal.min.css | 6 + src/Core.php | 12 +- .../sales/order/meta-box/charge-actions.phtml | 2 +- .../sales/order/meta-box/modal.phtml | 2 +- templates/order/charge.phtml | 2 +- templates/order/transaction/billet.phtml | 2 +- templates/order/transaction/pix.phtml | 2 +- 11 files changed, 106 insertions(+), 1450 deletions(-) create mode 100644 assets/javascripts/admin/vendor/iziModal.min.js delete mode 100644 assets/javascripts/admin/vendor/izimodal.js create mode 100644 assets/stylesheets/vendor/iziModal.min.css diff --git a/assets/javascripts/admin/sales/order/view/cancel-capture.js b/assets/javascripts/admin/sales/order/view/cancel-capture.js index efbf1de0..294436bf 100644 --- a/assets/javascripts/admin/sales/order/view/cancel-capture.js +++ b/assets/javascripts/admin/sales/order/view/cancel-capture.js @@ -16,7 +16,6 @@ let pagarmeCancelCapture = { }, start: function () { - console.log('teste'); if (this.isStarted()) { return; } diff --git a/assets/javascripts/admin/vendor/iziModal.min.js b/assets/javascripts/admin/vendor/iziModal.min.js new file mode 100644 index 00000000..be57b022 --- /dev/null +++ b/assets/javascripts/admin/vendor/iziModal.min.js @@ -0,0 +1,6 @@ +/* +* iziModal | v1.6.1 +* https://izimodal.marcelodolza.com +* by Marcelo Dolza. +*/ +!function(i){"function"==typeof define&&define.amd?define(["jquery"],i):"object"==typeof module&&module.exports?module.exports=function(t,e){return void 0===e&&(e="undefined"!=typeof window?require("jquery"):require("jquery")(t)),i(e),e}:i(jQuery)}(function(d){var h=d(window),l=d(document),c="iziModal",o="closing",u="closed",p="opening",m="opened",e="destroyed";function f(t){if(9===t)return-1!==navigator.appVersion.indexOf("MSIE 9.");t=navigator.userAgent;return-1"+t+"

    ",null,!1));return t.find("*").each(function(){var i;i=this,d.each(i.attributes,function(){var t=this.name,e=this.value;0!=t.indexOf("on")&&0!=e.indexOf("javascript:")||d(i).removeAttr(t)})}),t.html()}var v=function(){var t,e=document.createElement("fakeelement"),i={animation:"animationend",OAnimation:"oAnimationEnd",MozAnimation:"animationend",WebkitAnimation:"webkitAnimationEnd"};for(t in i)if(void 0!==e.style[t])return i[t]}(),$=!!/Mobi/.test(navigator.userAgent);window.$iziModal={},window.$iziModal.autoOpen=0,window.$iziModal.history=!1;function b(t,e){this.init(t,e)}return b.prototype={constructor:b,init:function(t,n){var o=this;this.$element=d(t),void 0!==this.$element[0].id&&""!==this.$element[0].id?this.id=this.$element[0].id:(this.id=c+Math.floor(1e7*Math.random()+1),this.$element.attr("id",this.id)),this.classes=void 0!==this.$element.attr("class")?this.$element.attr("class"):"",this.content=this.$element.html(),this.state=u,this.options=n,this.width=0,this.timer=null,this.timerTimeout=null,this.progressBar=null,this.isPaused=!1,this.isFullscreen=!1,this.headerHeight=0,this.modalHeight=0,this.$overlay=d('
    ').css("background-color",n.overlayColor),this.$navigate=d('
    Use
    '),this.group={name:this.$element.attr("data-"+c+"-group"),index:null,ids:[]},this.$element.attr("aria-hidden","true"),this.$element.attr("aria-labelledby",this.id),this.$element.attr("role","dialog"),this.$element.hasClass("iziModal")||this.$element.addClass("iziModal"),void 0===this.group.name&&""!==n.group&&(this.group.name=n.group,this.$element.attr("data-"+c+"-group",n.group)),!0===this.options.loop&&this.$element.attr("data-"+c+"-loop",!0),d.each(this.options,function(t,e){var i=o.$element.attr("data-"+c+"-"+t);try{void 0!==i&&(n[t]=""===i||"true"==i||"false"!=i&&("function"==typeof e?new Function(i):i))}catch(t){}}),!1!==n.appendTo&&this.$element.appendTo(n.appendTo),!0===n.iframe?(this.$element.html('
    '+this.content+"
    "),null!==n.iframeHeight&&this.$element.find("."+c+"-iframe").css("height",n.iframeHeight)):this.$element.html('
    '+this.content+"
    "),null!==this.options.background&&this.$element.css("background",this.options.background),this.$wrap=this.$element.find("."+c+"-wrap"),null===n.zindex||isNaN(parseInt(n.zindex))||(this.$element.css("z-index",n.zindex),this.$navigate.css("z-index",n.zindex-1),this.$overlay.css("z-index",n.zindex-2)),""!==n.radius&&this.$element.css("border-radius",n.radius),""!==n.padding&&this.$element.find("."+c+"-content").css("padding",n.padding),""!==n.theme&&("light"===n.theme?this.$element.addClass(c+"-light"):this.$element.addClass(n.theme)),!0===n.rtl&&this.$element.addClass(c+"-rtl"),!0===n.openFullscreen&&(this.isFullscreen=!0,this.$element.addClass("isFullscreen")),this.createHeader(),this.recalcWidth(),this.recalcVerticalPos(),!o.options.afterRender||"function"!=typeof o.options.afterRender&&"object"!=typeof o.options.afterRender||o.options.afterRender(o)},createHeader:function(){this.$header=d('

    '),!0===this.options.closeButton&&this.$header.find("."+c+"-header-buttons").append('"),!0===this.options.fullscreen&&this.$header.find("."+c+"-header-buttons").append('"),!0===this.options.timeoutProgressbar&&this.$header.prepend(d('
    ').append(d("
    ").css("background-color",this.options.timeoutProgressbarColor))),""===this.options.subtitle?this.$header.addClass(c+"-noSubtitle"):this.$header.find("."+c+"-header-subtitle").html(i(this.options.subtitle)),""!==this.options.title&&(this.$header.find("."+c+"-header-title").html(i(this.options.title)),null!==this.options.headerColor&&(!0===this.options.borderBottom&&this.$element.css("border-bottom","3px solid "+this.options.headerColor),this.$header.css("background",this.options.headerColor)),null===this.options.icon&&null===this.options.iconText||(this.$header.prepend(''),null!==this.options.icon&&this.$header.find("."+c+"-header-icon").addClass(this.options.icon).css("color",this.options.iconColor),null!==this.options.iconText&&this.$header.find("."+c+"-header-icon").html(i(this.options.iconText))),this.$element.css("overflow","hidden").prepend(this.$header))},setGroup:function(t){var i,n=this,e=this.group.name||t;this.group.ids=[],void 0!==t&&t!==this.group.name&&(e=t,this.group.name=e,this.$element.attr("data-"+c+"-group",e)),void 0!==e&&""!==e&&(i=0,d.each(d("."+c+"[data-"+c+"-group="+e+"]"),function(t,e){n.group.ids.push(d(this)[0].id),n.id==d(this)[0].id&&(n.group.index=i),i++}))},toggle:function(){this.state==m&&this.close(),this.state==u&&this.open()},startProgress:function(t){var e=this;this.isPaused=!1,clearTimeout(this.timerTimeout),!0===this.options.timeoutProgressbar?(this.progressBar={hideEta:null,maxHideTime:null,currentTime:(new Date).getTime(),el:this.$element.find("."+c+"-progressbar > div"),updateProgress:function(){var t;e.isPaused||(e.progressBar.currentTime=e.progressBar.currentTime+10,t=(e.progressBar.hideEta-e.progressBar.currentTime)/e.progressBar.maxHideTime*100,e.progressBar.el.width(t+"%"),t<0&&e.close())}},0 div").width("100%")},open:function(i){var t,e,n,o,s=this;try{void 0!==i&&!1===i.preventClose&&d.each(d("."+c),function(t,e){var i;void 0!==d(e).data().iziModal&&("opened"!=(i=d(e).iziModal("getState"))&&"opening"!=i||d(e).iziModal("close"))})}catch(t){}function a(){s.state=m,s.$element.trigger(m),!s.options.onOpened||"function"!=typeof s.options.onOpened&&"object"!=typeof s.options.onOpened||s.options.onOpened(s)}if(s.options.history?(t=document.title,document.title=t+" - "+s.options.title,e="#"+s.id,n=e.replace(/^.*#/,""),(o=d(e)).attr("id",n+"-tmp"),window.location.hash=e,o.attr("id",n),document.title=t,window.$iziModal.history=!0):window.$iziModal.history=!1,this.state==u){if(s.$element.off("click","[data-"+c+"-close]").on("click","[data-"+c+"-close]",function(t){t.preventDefault();t=d(t.currentTarget).attr("data-"+c+"-transitionOut");void 0!==t?s.close({transition:t}):s.close()}),s.$element.off("click","[data-"+c+"-fullscreen]").on("click","[data-"+c+"-fullscreen]",function(t){t.preventDefault(),!0===s.isFullscreen?(s.isFullscreen=!1,s.$element.removeClass("isFullscreen")):(s.isFullscreen=!0,s.$element.addClass("isFullscreen")),s.options.onFullscreen&&"function"==typeof s.options.onFullscreen&&s.options.onFullscreen(s),s.$element.trigger("fullscreen",s)}),s.$navigate.off("click","."+c+"-navigate-next").on("click","."+c+"-navigate-next",function(t){s.next(t)}),s.$element.off("click","[data-"+c+"-next]").on("click","[data-"+c+"-next]",function(t){s.next(t)}),s.$navigate.off("click","."+c+"-navigate-prev").on("click","."+c+"-navigate-prev",function(t){s.prev(t)}),s.$element.off("click","[data-"+c+"-prev]").on("click","[data-"+c+"-prev]",function(t){s.prev(t)}),this.setGroup(),this.state=p,this.$element.trigger(p),this.$element.attr("aria-hidden","false"),!0===this.options.timeoutProgressbar&&this.$element.find("."+c+"-progressbar > div").width("100%"),!0===this.options.iframe){this.$element.find("."+c+"-content").addClass(c+"-content-loader"),this.$element.find("."+c+"-iframe").on("load",function(){d(this).parent().removeClass(c+"-content-loader")});var r=null;try{r=""!==d(i.currentTarget).attr("href")?d(i.currentTarget).attr("href"):null}catch(t){}if(null!==this.options.iframeURL&&null==r&&(r=this.options.iframeURL),null==r)throw new Error("Failed to find iframe URL");this.$element.find("."+c+"-iframe").attr("src",r)}(this.options.bodyOverflow||$)&&(d("html").addClass(c+"-isOverflow"),$&&d("body").css("overflow","hidden")),this.options.onOpening&&"function"==typeof this.options.onOpening&&this.options.onOpening(this),function(){var t;1

    '),this.$header.find("."+c+"-header-title").html(i(t))},setSubtitle:function(t){""===t?(this.$header.find("."+c+"-header-subtitle").remove(),this.$header.addClass(c+"-noSubtitle")):(0===this.$header.find("."+c+"-header-subtitle").length&&this.$header.append('

    '),this.$header.removeClass(c+"-noSubtitle")),this.$header.find("."+c+"-header-subtitle").html(i(t)),this.options.subtitle=t},setIcon:function(t){0===this.$header.find("."+c+"-header-icon").length&&this.$header.prepend(''),this.$header.find("."+c+"-header-icon").attr("class",c+"-header-icon "+t),this.options.icon=t},setIconText:function(t){this.$header.find("."+c+"-header-icon").html(i(t)),this.options.iconText=t},setHeaderColor:function(t){!0===this.options.borderBottom&&this.$element.css("border-bottom","3px solid "+t),this.$header.css("background",t),this.options.headerColor=t},setBackground:function(t){!1===t?(this.options.background=null,this.$element.css("background","")):(this.$element.css("background",t),this.options.background=t)},setZindex:function(t){isNaN(parseInt(this.options.zindex))||(this.options.zindex=t,this.$element.css("z-index",t),this.$navigate.css("z-index",t-1),this.$overlay.css("z-index",t-2))},setFullscreen:function(t){t?(this.isFullscreen=!0,this.$element.addClass("isFullscreen")):(this.isFullscreen=!1,this.$element.removeClass("isFullscreen"))},setContent:function(t){"object"==typeof t&&(!0===(t.default||!1)&&(this.content=t.content),t=t.content),!1===this.options.iframe&&this.$element.find("."+c+"-content").html(i(t))},setTransitionIn:function(t){this.options.transitionIn=t},setTransitionOut:function(t){this.options.transitionOut=t},setTimeout:function(t){this.options.timeout=t},resetContent:function(){this.$element.find("."+c+"-content").html(this.content)},startLoading:function(){this.$element.find("."+c+"-loader").length||this.$element.append('
    '),this.$element.find("."+c+"-loader").css({top:this.headerHeight,borderRadius:this.options.radius})},stopLoading:function(){var t=this.$element.find("."+c+"-loader");t.length||(this.$element.prepend('
    '),t=this.$element.find("."+c+"-loader").css("border-radius",this.options.radius)),t.removeClass("fadeIn").addClass("fadeOut"),setTimeout(function(){t.remove()},600)},recalcWidth:function(){var t;this.$element.css("max-width",this.options.width),f()&&(1<(t=this.options.width).toString().split("%").length&&(t=this.$element.outerWidth()),this.$element.css({left:"50%",marginLeft:-t/2}))},recalcVerticalPos:function(t){null!==this.options.top&&!1!==this.options.top?(this.$element.css("margin-top",this.options.top),0===this.options.top&&this.$element.css({borderTopRightRadius:0,borderTopLeftRadius:0})):!1===t&&this.$element.css({marginTop:"",borderRadius:this.options.radius}),null!==this.options.bottom&&!1!==this.options.bottom?(this.$element.css("margin-bottom",this.options.bottom),0===this.options.bottom&&this.$element.css({borderBottomRightRadius:0,borderBottomLeftRadius:0})):!1===t&&this.$element.css({marginBottom:"",borderRadius:this.options.radius})},recalcLayout:function(){var t=this,e=h.height(),i=this.$element.outerHeight(),n=this.$element.outerWidth(),o=this.$element.find("."+c+"-content")[0].scrollHeight,s=o+this.headerHeight,a=this.$element.innerHeight()-this.headerHeight,r=(parseInt(-(this.$element.innerHeight()+1)/2),this.$wrap.scrollTop()),l=0;f()&&(n>=h.width()||!0===this.isFullscreen?this.$element.css({left:"0",marginLeft:""}):this.$element.css({left:"50%",marginLeft:-n/2})),!0===this.options.borderBottom&&""!==this.options.title&&(l=3),this.$element.find("."+c+"-header").length&&this.$element.find("."+c+"-header").is(":visible")?(this.headerHeight=parseInt(this.$element.find("."+c+"-header").innerHeight()),this.$element.css("overflow","hidden")):(this.headerHeight=0,this.$element.css("overflow","")),this.$element.find("."+c+"-loader").length&&this.$element.find("."+c+"-loader").css("top",this.headerHeight),i!==this.modalHeight&&(this.modalHeight=i,this.options.onResize&&"function"==typeof this.options.onResize&&this.options.onResize(this)),this.state!=m&&this.state!=p||(!0===this.options.iframe&&(e=h.width()?this.$element.find("."+c+"-button-fullscreen").hide():this.$element.find("."+c+"-button-fullscreen").show(),this.recalcButtons(),!1===this.isFullscreen&&(e=e-(g(this.options.top)||0)-(g(this.options.bottom)||0)),e -1 || userAgent.indexOf("Trident/") > -1; - } - } - - function clearValue(value) { - var separators = /%|px|em|cm|vh|vw/; - return parseInt(String(value).split(separators)[0]); - } - - var animationEvent = whichAnimationEvent(), - isMobile = (/Mobi/.test(navigator.userAgent)) ? true : false; - - window.$iziModal = {}; - window.$iziModal.autoOpen = 0; - window.$iziModal.history = false; - - var iziModal = function (element, options) { - this.init(element, options); - }; - - iziModal.prototype = { - - constructor: iziModal, - - init: function (element, options) { - - var that = this; - this.$element = $(element); - - if (this.$element[0].id !== undefined && this.$element[0].id !== '') { - this.id = this.$element[0].id; - } else { - let array = new Uint8Array(3); - window.crypto.getRandomValues(array); - this.id = PLUGIN_NAME + Math.floor((array[0] * array[1] * array[2]) + 1); - this.$element.attr('id', this.id); - } - this.classes = (this.$element.attr('class') !== undefined) ? this.$element.attr('class') : ''; - this.content = this.$element.html(); - this.state = STATES.CLOSED; - this.options = options; - this.width = 0; - this.timer = null; - this.timerTimeout = null; - this.progressBar = null; - this.isPaused = false; - this.isFullscreen = false; - this.headerHeight = 0; - this.modalHeight = 0; - this.$overlay = $('
    '); - this.$navigate = $('
    Use
    '); - this.group = { - name: this.$element.attr('data-' + PLUGIN_NAME + '-group'), - index: null, - ids: [] - }; - this.$element.attr('aria-hidden', 'true'); - this.$element.attr('aria-labelledby', this.id); - this.$element.attr('role', 'dialog'); - - if (!this.$element.hasClass('iziModal')) { - this.$element.addClass('iziModal'); - } - - if (this.group.name === undefined && options.group !== "") { - this.group.name = options.group; - this.$element.attr('data-' + PLUGIN_NAME + '-group', options.group); - } - if (this.options.loop === true) { - this.$element.attr('data-' + PLUGIN_NAME + '-loop', true); - } - - $.each(this.options, function (index, val) { - var attr = that.$element.attr('data-' + PLUGIN_NAME + '-' + index); - try { - if (typeof attr !== typeof undefined) { - - if (attr === "" || attr == "true") { - options[index] = true; - } else if (attr == "false") { - options[index] = false; - } else if (typeof val == 'function') { - options[index] = new Function(attr); - } else { - options[index] = attr; - } - } - } catch (exc) { } - }); - - if (options.appendTo !== false) { - this.$element.appendTo(options.appendTo); - } - - if (options.iframe === true) { - this.$element.html('
    ' + this.content + "
    "); - - if (options.iframeHeight !== null) { - this.$element.find('.' + PLUGIN_NAME + '-iframe').css('height', options.iframeHeight); - } - } else { - this.$element.html('
    ' + this.content + '
    '); - } - - if (this.options.background !== null) { - this.$element.css('background', this.options.background); - } - - this.$wrap = this.$element.find('.' + PLUGIN_NAME + '-wrap'); - - if (options.zindex !== null && !isNaN(parseInt(options.zindex))) { - this.$element.css('z-index', options.zindex); - this.$navigate.css('z-index', options.zindex - 1); - this.$overlay.css('z-index', options.zindex - 2); - } - - if (options.radius !== "") { - this.$element.css('border-radius', options.radius); - } - - if (options.padding !== "") { - this.$element.find('.' + PLUGIN_NAME + '-content').css('padding', options.padding); - } - - if (options.theme !== "") { - if (options.theme === "light") { - this.$element.addClass(PLUGIN_NAME + '-light'); - } else { - this.$element.addClass(options.theme); - } - } - - if (options.rtl === true) { - this.$element.addClass(PLUGIN_NAME + '-rtl'); - } - - if (options.openFullscreen === true) { - this.isFullscreen = true; - this.$element.addClass('isFullscreen'); - } - - this.createHeader(); - this.recalcWidth(); - this.recalcVerticalPos(); - - if (that.options.afterRender && (typeof (that.options.afterRender) === "function" || typeof (that.options.afterRender) === "object")) { - that.options.afterRender(that); - } - - }, - - createHeader: function () { - - this.$header = $('

    ' + this.options.title + '

    ' + this.options.subtitle + '

    '); - - if (this.options.closeButton === true) { - this.$header.find('.' + PLUGIN_NAME + '-header-buttons').append(''); - } - - if (this.options.fullscreen === true) { - this.$header.find('.' + PLUGIN_NAME + '-header-buttons').append(''); - } - - if (this.options.timeoutProgressbar === true && !isNaN(parseInt(this.options.timeout)) && this.options.timeout !== false && this.options.timeout !== 0) { - this.$header.prepend('
    '); - } - - if (this.options.subtitle === '') { - this.$header.addClass(PLUGIN_NAME + '-noSubtitle'); - } - - if (this.options.title !== "") { - - if (this.options.headerColor !== null) { - if (this.options.borderBottom === true) { - this.$element.css('border-bottom', '3px solid ' + this.options.headerColor + ''); - } - this.$header.css('background', this.options.headerColor); - } - if (this.options.icon !== null || this.options.iconText !== null) { - - this.$header.prepend(''); - - if (this.options.icon !== null) { - this.$header.find('.' + PLUGIN_NAME + '-header-icon').addClass(this.options.icon).css('color', this.options.iconColor); - } - if (this.options.iconText !== null) { - this.$header.find('.' + PLUGIN_NAME + '-header-icon').html(this.options.iconText); - } - } - this.$element.css('overflow', 'hidden').prepend(this.$header); - } - }, - - setGroup: function (groupName) { - - var that = this, - group = this.group.name || groupName; - this.group.ids = []; - - if (groupName !== undefined && groupName !== this.group.name) { - group = groupName; - this.group.name = group; - this.$element.attr('data-' + PLUGIN_NAME + '-group', group); - } - if (group !== undefined && group !== "") { - - var count = 0; - $.each($('.' + PLUGIN_NAME + '[data-' + PLUGIN_NAME + '-group=' + group + ']'), function (index, val) { - - that.group.ids.push($(this)[0].id); - - if (that.id == $(this)[0].id) { - that.group.index = count; - } - count++; - }); - } - }, - - toggle: function () { - - if (this.state == STATES.OPENED) { - this.close(); - } - if (this.state == STATES.CLOSED) { - this.open(); - } - }, - - open: function (param) { - - var that = this; - - $.each($('.' + PLUGIN_NAME), function (index, modal) { - if ($(modal).data().iziModal !== undefined) { - var state = $(modal).iziModal('getState'); - if (state == 'opened' || state == 'opening') { - $(modal).iziModal('close'); - } - } - }); - - (function urlHash() { - if (that.options.history) { - var oldTitle = document.title; - document.title = oldTitle + " - " + that.options.title; - document.location.hash = that.id; - document.title = oldTitle; - //history.pushState({}, that.options.title, "#"+that.id); - window.$iziModal.history = true; - } else { - window.$iziModal.history = false; - } - })(); - - function opened() { - - // console.info('[ '+PLUGIN_NAME+' | '+that.id+' ] Opened.'); - - that.state = STATES.OPENED; - that.$element.trigger(STATES.OPENED); - - if (that.options.onOpened && (typeof (that.options.onOpened) === "function" || typeof (that.options.onOpened) === "object")) { - that.options.onOpened(that); - } - } - - function bindEvents() { - - // Close when button pressed - that.$element.off('click', '[data-' + PLUGIN_NAME + '-close]').on('click', '[data-' + PLUGIN_NAME + '-close]', function (e) { - e.preventDefault(); - - var transition = $(e.currentTarget).attr('data-' + PLUGIN_NAME + '-transitionOut'); - - if (transition !== undefined) { - that.close({ transition: transition }); - } else { - that.close(); - } - }); - - // Expand when button pressed - that.$element.off('click', '[data-' + PLUGIN_NAME + '-fullscreen]').on('click', '[data-' + PLUGIN_NAME + '-fullscreen]', function (e) { - e.preventDefault(); - if (that.isFullscreen === true) { - that.isFullscreen = false; - that.$element.removeClass('isFullscreen'); - } else { - that.isFullscreen = true; - that.$element.addClass('isFullscreen'); - } - if (that.options.onFullscreen && typeof (that.options.onFullscreen) === "function") { - that.options.onFullscreen(that); - } - that.$element.trigger('fullscreen', that); - }); - - // Next modal - that.$navigate.off('click', '.' + PLUGIN_NAME + '-navigate-next').on('click', '.' + PLUGIN_NAME + '-navigate-next', function (e) { - that.next(e); - }); - that.$element.off('click', '[data-' + PLUGIN_NAME + '-next]').on('click', '[data-' + PLUGIN_NAME + '-next]', function (e) { - that.next(e); - }); - - // Previous modal - that.$navigate.off('click', '.' + PLUGIN_NAME + '-navigate-prev').on('click', '.' + PLUGIN_NAME + '-navigate-prev', function (e) { - that.prev(e); - }); - that.$element.off('click', '[data-' + PLUGIN_NAME + '-prev]').on('click', '[data-' + PLUGIN_NAME + '-prev]', function (e) { - that.prev(e); - }); - } - - if (this.state == STATES.CLOSED) { - - bindEvents(); - - this.setGroup(); - this.state = STATES.OPENING; - this.$element.trigger(STATES.OPENING); - this.$element.attr('aria-hidden', 'false'); - - // console.info('[ '+PLUGIN_NAME+' | '+this.id+' ] Opening...'); - - if (this.options.iframe === true) { - - this.$element.find('.' + PLUGIN_NAME + '-content').addClass(PLUGIN_NAME + '-content-loader'); - - this.$element.find('.' + PLUGIN_NAME + '-iframe').on('load', function () { - $(this).parent().removeClass(PLUGIN_NAME + '-content-loader'); - }); - - var href = null; - try { - href = $(param.currentTarget).attr('href') !== "" ? $(param.currentTarget).attr('href') : null; - } catch (e) { - // console.warn(e); - } - if ((this.options.iframeURL !== null) && (href === null || href === undefined)) { - href = this.options.iframeURL; - } - if (href === null || href === undefined) { - throw new Error("Failed to find iframe URL"); - } - this.$element.find('.' + PLUGIN_NAME + '-iframe').attr('src', href); - } - - - if (this.options.bodyOverflow || isMobile) { - $('html').addClass(PLUGIN_NAME + '-isOverflow'); - if (isMobile) { - $('body').css('overflow', 'hidden'); - } - } - - if (this.options.onOpening && typeof (this.options.onOpening) === "function") { - this.options.onOpening(this); - } - (function open() { - - if (that.group.ids.length > 1) { - - that.$navigate.appendTo('body'); - that.$navigate.addClass('fadeIn'); - - if (that.options.navigateCaption === true) { - that.$navigate.find('.' + PLUGIN_NAME + '-navigate-caption').show(); - } - - var modalWidth = that.$element.outerWidth(); - if (that.options.navigateArrows !== false) { - if (that.options.navigateArrows === 'closeScreenEdge') { - that.$navigate.find('.' + PLUGIN_NAME + '-navigate-prev').css('left', 0).show(); - that.$navigate.find('.' + PLUGIN_NAME + '-navigate-next').css('right', 0).show(); - } else { - that.$navigate.find('.' + PLUGIN_NAME + '-navigate-prev').css('margin-left', -((modalWidth / 2) + 84)).show(); - that.$navigate.find('.' + PLUGIN_NAME + '-navigate-next').css('margin-right', -((modalWidth / 2) + 84)).show(); - } - } else { - that.$navigate.find('.' + PLUGIN_NAME + '-navigate-prev').hide(); - that.$navigate.find('.' + PLUGIN_NAME + '-navigate-next').hide(); - } - - var loop; - if (that.group.index === 0) { - - loop = $('.' + PLUGIN_NAME + '[data-' + PLUGIN_NAME + '-group="' + that.group.name + '"][data-' + PLUGIN_NAME + '-loop]').length; - - if (loop === 0 && that.options.loop === false) - that.$navigate.find('.' + PLUGIN_NAME + '-navigate-prev').hide(); - } - if (that.group.index + 1 === that.group.ids.length) { - - loop = $('.' + PLUGIN_NAME + '[data-' + PLUGIN_NAME + '-group="' + that.group.name + '"][data-' + PLUGIN_NAME + '-loop]').length; - - if (loop === 0 && that.options.loop === false) - that.$navigate.find('.' + PLUGIN_NAME + '-navigate-next').hide(); - } - } - - if (that.options.overlay === true) { - - if (that.options.appendToOverlay === false) { - that.$overlay.appendTo('body'); - } else { - that.$overlay.appendTo(that.options.appendToOverlay); - } - } - - if (that.options.transitionInOverlay) { - that.$overlay.addClass(that.options.transitionInOverlay); - } - - var transitionIn = that.options.transitionIn; - - if (typeof param == 'object') { - if (param.transition !== undefined || param.transitionIn !== undefined) { - transitionIn = param.transition || param.transitionIn; - } - } - - if (transitionIn !== '' && animationEvent !== undefined) { - - that.$element.addClass("transitionIn " + transitionIn).show(); - that.$wrap.one(animationEvent, function () { - - that.$element.removeClass(transitionIn + " transitionIn"); - that.$overlay.removeClass(that.options.transitionInOverlay); - that.$navigate.removeClass('fadeIn'); - - opened(); - }); - - } else { - - that.$element.show(); - opened(); - } - - if (that.options.pauseOnHover === true && that.options.pauseOnHover === true && that.options.timeout !== false && !isNaN(parseInt(that.options.timeout)) && that.options.timeout !== false && that.options.timeout !== 0) { - - that.$element.off('mouseenter').on('mouseenter', function (event) { - event.preventDefault(); - that.isPaused = true; - }); - that.$element.off('mouseleave').on('mouseleave', function (event) { - event.preventDefault(); - that.isPaused = false; - }); - } - - })(); - - if (this.options.timeout !== false && !isNaN(parseInt(this.options.timeout)) && this.options.timeout !== false && this.options.timeout !== 0) { - - if (this.options.timeoutProgressbar === true) { - - this.progressBar = { - hideEta: null, - maxHideTime: null, - currentTime: new Date().getTime(), - el: this.$element.find('.' + PLUGIN_NAME + '-progressbar > div'), - updateProgress: function () { - if (!that.isPaused) { - - that.progressBar.currentTime = that.progressBar.currentTime + 10; - - var percentage = ((that.progressBar.hideEta - (that.progressBar.currentTime)) / that.progressBar.maxHideTime) * 100; - that.progressBar.el.width(percentage + '%'); - if (percentage < 0) { - that.close(); - } - } - } - }; - if (this.options.timeout > 0) { - - this.progressBar.maxHideTime = parseFloat(this.options.timeout); - this.progressBar.hideEta = new Date().getTime() + this.progressBar.maxHideTime; - this.timerTimeout = setInterval(this.progressBar.updateProgress, 10); - } - - } else { - - this.timerTimeout = setTimeout(function () { - that.close(); - }, that.options.timeout); - } - } - - // Close on overlay click - if (this.options.overlayClose && !this.$element.hasClass(this.options.transitionOut)) { - this.$overlay.click(function () { - that.close(); - }); - } - - if (this.options.focusInput) { - this.$element.find(':input:not(button):enabled:visible:first').focus(); // Focus on the first field - } - - (function updateTimer() { - that.recalcLayout(); - that.timer = setTimeout(updateTimer, 300); - })(); - - // Close when the Escape key is pressed - $document.on('keydown.' + PLUGIN_NAME, function (e) { - if (that.options.closeOnEscape && e.keyCode === 27) { - that.close(); - } - }); - - } - - }, - - close: function (param) { - - var that = this; - - function closed() { - - // console.info('[ '+PLUGIN_NAME+' | '+that.id+' ] Closed.'); - - that.state = STATES.CLOSED; - that.$element.trigger(STATES.CLOSED); - - if (that.options.iframe === true) { - that.$element.find('.' + PLUGIN_NAME + '-iframe').attr('src', ""); - } - - if (that.options.bodyOverflow || isMobile) { - $('html').removeClass(PLUGIN_NAME + '-isOverflow'); - if (isMobile) { - $('body').css('overflow', 'auto'); - } - } - - if (that.options.onClosed && typeof (that.options.onClosed) === "function") { - that.options.onClosed(that); - } - - if (that.options.restoreDefaultContent === true) { - that.$element.find('.' + PLUGIN_NAME + '-content').html(that.content); - } - - if ($('.' + PLUGIN_NAME + ':visible').length === 0) { - $('html').removeClass(PLUGIN_NAME + '-isAttached'); - } - } - - if (this.state == STATES.OPENED || this.state == STATES.OPENING) { - - $document.off('keydown.' + PLUGIN_NAME); - - this.state = STATES.CLOSING; - this.$element.trigger(STATES.CLOSING); - this.$element.attr('aria-hidden', 'true'); - - // console.info('[ '+PLUGIN_NAME+' | '+this.id+' ] Closing...'); - - clearTimeout(this.timer); - clearTimeout(this.timerTimeout); - - if (that.options.onClosing && typeof (that.options.onClosing) === "function") { - that.options.onClosing(this); - } - - var transitionOut = this.options.transitionOut; - - if (typeof param == 'object') { - if (param.transition !== undefined || param.transitionOut !== undefined) { - transitionOut = param.transition || param.transitionOut; - } - } - - if ((transitionOut === false || transitionOut === '') || animationEvent === undefined) { - - this.$element.hide(); - this.$overlay.remove(); - this.$navigate.remove(); - closed(); - - } else { - - this.$element.attr('class', [ - this.classes, - PLUGIN_NAME, - transitionOut, - this.options.theme == 'light' ? PLUGIN_NAME + '-light' : this.options.theme, - this.isFullscreen === true ? 'isFullscreen' : '', - this.options.rtl ? PLUGIN_NAME + '-rtl' : '' - ].join(' ')); - - this.$overlay.attr('class', PLUGIN_NAME + "-overlay " + this.options.transitionOutOverlay); - - if (that.options.navigateArrows !== false) { - this.$navigate.attr('class', PLUGIN_NAME + "-navigate fadeOut"); - } - - this.$element.one(animationEvent, function () { - - if (that.$element.hasClass(transitionOut)) { - that.$element.removeClass(transitionOut + " transitionOut").hide(); - } - that.$overlay.removeClass(that.options.transitionOutOverlay).remove(); - that.$navigate.removeClass('fadeOut').remove(); - closed(); - }); - - } - - } - }, - - next: function (e) { - - var that = this; - var transitionIn = 'fadeInRight'; - var transitionOut = 'fadeOutLeft'; - var modal = $('.' + PLUGIN_NAME + ':visible'); - var modals = {}; - modals.out = this; - - if (e !== undefined && typeof e !== 'object') { - e.preventDefault(); - modal = $(e.currentTarget); - transitionIn = modal.attr('data-' + PLUGIN_NAME + '-transitionIn'); - transitionOut = modal.attr('data-' + PLUGIN_NAME + '-transitionOut'); - } else if (e !== undefined) { - if (e.transitionIn !== undefined) { - transitionIn = e.transitionIn; - } - if (e.transitionOut !== undefined) { - transitionOut = e.transitionOut; - } - } - - this.close({ transition: transitionOut }); - - setTimeout(function () { - - var loop = $('.' + PLUGIN_NAME + '[data-' + PLUGIN_NAME + '-group="' + that.group.name + '"][data-' + PLUGIN_NAME + '-loop]').length; - for (var i = that.group.index + 1; i <= that.group.ids.length; i++) { - - try { - modals.in = $("#" + that.group.ids[i]).data().iziModal; - } catch (log) { - // console.info('[ '+PLUGIN_NAME+' ] No next modal.'); - } - if (typeof modals.in !== 'undefined') { - - $("#" + that.group.ids[i]).iziModal('open', { transition: transitionIn }); - break; - - } else { - - if (i == that.group.ids.length && loop > 0 || that.options.loop === true) { - - for (var index = 0; index <= that.group.ids.length; index++) { - - modals.in = $("#" + that.group.ids[index]).data().iziModal; - if (typeof modals.in !== 'undefined') { - $("#" + that.group.ids[index]).iziModal('open', { transition: transitionIn }); - break; - } - } - } - } - } - - }, 200); - - $(document).trigger(PLUGIN_NAME + "-group-change", modals); - }, - - prev: function (e) { - var that = this; - var transitionIn = 'fadeInLeft'; - var transitionOut = 'fadeOutRight'; - var modal = $('.' + PLUGIN_NAME + ':visible'); - var modals = {}; - modals.out = this; - - if (e !== undefined && typeof e !== 'object') { - e.preventDefault(); - modal = $(e.currentTarget); - transitionIn = modal.attr('data-' + PLUGIN_NAME + '-transitionIn'); - transitionOut = modal.attr('data-' + PLUGIN_NAME + '-transitionOut'); - - } else if (e !== undefined) { - - if (e.transitionIn !== undefined) { - transitionIn = e.transitionIn; - } - if (e.transitionOut !== undefined) { - transitionOut = e.transitionOut; - } - } - - this.close({ transition: transitionOut }); - - setTimeout(function () { - - var loop = $('.' + PLUGIN_NAME + '[data-' + PLUGIN_NAME + '-group="' + that.group.name + '"][data-' + PLUGIN_NAME + '-loop]').length; - - for (var i = that.group.index; i >= 0; i--) { - - try { - modals.in = $("#" + that.group.ids[i - 1]).data().iziModal; - } catch (log) { - // console.info('[ '+PLUGIN_NAME+' ] No previous modal.'); - } - if (typeof modals.in !== 'undefined') { - - $("#" + that.group.ids[i - 1]).iziModal('open', { transition: transitionIn }); - break; - - } else { - - if (i === 0 && loop > 0 || that.options.loop === true) { - - for (var index = that.group.ids.length - 1; index >= 0; index--) { - - modals.in = $("#" + that.group.ids[index]).data().iziModal; - if (typeof modals.in !== 'undefined') { - $("#" + that.group.ids[index]).iziModal('open', { transition: transitionIn }); - break; - } - } - } - } - } - - }, 200); - - $(document).trigger(PLUGIN_NAME + "-group-change", modals); - }, - - destroy: function () { - var e = $.Event('destroy'); - - this.$element.trigger(e); - - $document.off('keydown.' + PLUGIN_NAME); - - clearTimeout(this.timer); - clearTimeout(this.timerTimeout); - - if (this.options.iframe === true) { - this.$element.find('.' + PLUGIN_NAME + '-iframe').remove(); - } - this.$element.html(this.$element.find('.' + PLUGIN_NAME + '-content').html()); - - this.$element.off('click', '[data-' + PLUGIN_NAME + '-close]'); - this.$element.off('click', '[data-' + PLUGIN_NAME + '-fullscreen]'); - - this.$element - .off('.' + PLUGIN_NAME) - .removeData(PLUGIN_NAME) - .attr('style', ''); - - this.$overlay.remove(); - this.$navigate.remove(); - this.$element.trigger(STATES.DESTROYED); - this.$element = null; - }, - - getState: function () { - - return this.state; - }, - - getGroup: function () { - - return this.group; - }, - - setWidth: function (width) { - - this.options.width = width; - - this.recalcWidth(); - - var modalWidth = this.$element.outerWidth(); - if (this.options.navigateArrows === true || this.options.navigateArrows == 'closeToModal') { - this.$navigate.find('.' + PLUGIN_NAME + '-navigate-prev').css('margin-left', -((modalWidth / 2) + 84)).show(); - this.$navigate.find('.' + PLUGIN_NAME + '-navigate-next').css('margin-right', -((modalWidth / 2) + 84)).show(); - } - - }, - - setTop: function (top) { - - this.options.top = top; - - this.recalcVerticalPos(false); - }, - - setBottom: function (bottom) { - - this.options.bottom = bottom; - - this.recalcVerticalPos(false); - - }, - - setHeader: function (status) { - - if (status) { - this.$element.find('.' + PLUGIN_NAME + '-header').show(); - } else { - this.headerHeight = 0; - this.$element.find('.' + PLUGIN_NAME + '-header').hide(); - } - }, - - setTitle: function (title) { - - this.options.title = title; - - if (this.headerHeight === 0) { - this.createHeader(); - } - - if (this.$header.find('.' + PLUGIN_NAME + '-header-title').length === 0) { - this.$header.append('

    '); - } - - this.$header.find('.' + PLUGIN_NAME + '-header-title').html(title); - }, - - setSubtitle: function (subtitle) { - - if (subtitle === '') { - - this.$header.find('.' + PLUGIN_NAME + '-header-subtitle').remove(); - this.$header.addClass(PLUGIN_NAME + '-noSubtitle'); - - } else { - - if (this.$header.find('.' + PLUGIN_NAME + '-header-subtitle').length === 0) { - this.$header.append('

    '); - } - this.$header.removeClass(PLUGIN_NAME + '-noSubtitle'); - - } - - this.$header.find('.' + PLUGIN_NAME + '-header-subtitle').html(subtitle); - this.options.subtitle = subtitle; - }, - - setIcon: function (icon) { - - if (this.$header.find('.' + PLUGIN_NAME + '-header-icon').length === 0) { - this.$header.prepend(''); - } - this.$header.find('.' + PLUGIN_NAME + '-header-icon').attr('class', PLUGIN_NAME + '-header-icon ' + icon); - this.options.icon = icon; - }, - - setIconText: function (iconText) { - - this.$header.find('.' + PLUGIN_NAME + '-header-icon').html(iconText); - this.options.iconText = iconText; - }, - - setHeaderColor: function (headerColor) { - if (this.options.borderBottom === true) { - this.$element.css('border-bottom', '3px solid ' + headerColor + ''); - } - this.$header.css('background', headerColor); - this.options.headerColor = headerColor; - }, - - setBackground: function (background) { - if (background === false) { - this.options.background = null; - this.$element.css('background', ''); - } else { - this.$element.css('background', background); - this.options.background = background; - } - }, - - setZindex: function (zIndex) { - - if (!isNaN(parseInt(this.options.zindex))) { - this.options.zindex = zIndex; - this.$element.css('z-index', zIndex); - this.$navigate.css('z-index', zIndex - 1); - this.$overlay.css('z-index', zIndex - 2); - } - }, - - setFullscreen: function (value) { - - if (value) { - this.isFullscreen = true; - this.$element.addClass('isFullscreen'); - } else { - this.isFullscreen = false; - this.$element.removeClass('isFullscreen'); - } - - }, - - setContent: function (content) { - - if (typeof content == "object") { - var replace = content.default || false; - if (replace === true) { - this.content = content.content; - } - content = content.content; - } - if (this.options.iframe === false) { - this.$element.find('.' + PLUGIN_NAME + '-content').html(content); - } - - }, - - setTransitionIn: function (transition) { - - this.options.transitionIn = transition; - }, - - setTransitionOut: function (transition) { - - this.options.transitionOut = transition; - }, - - resetContent: function () { - - this.$element.find('.' + PLUGIN_NAME + '-content').html(this.content); - - }, - - startLoading: function () { - - if (!this.$element.find('.' + PLUGIN_NAME + '-loader').length) { - this.$element.append('
    '); - } - this.$element.find('.' + PLUGIN_NAME + '-loader').css({ - top: this.headerHeight, - borderRadius: this.options.radius - }); - }, - - stopLoading: function () { - - var $loader = this.$element.find('.' + PLUGIN_NAME + '-loader'); - - if (!$loader.length) { - this.$element.prepend('
    '); - $loader = this.$element.find('.' + PLUGIN_NAME + '-loader').css('border-radius', this.options.radius); - } - $loader.removeClass('fadeIn').addClass('fadeOut'); - setTimeout(function () { - $loader.remove(); - }, 600); - }, - - recalcWidth: function () { - - var that = this; - - this.$element.css('max-width', this.options.width); - - if (isIE()) { - var modalWidth = that.options.width; - - if (modalWidth.toString().split("%").length > 1) { - modalWidth = that.$element.outerWidth(); - } - that.$element.css({ - left: '50%', - marginLeft: -(modalWidth / 2) - }); - } - }, - - recalcVerticalPos: function (first) { - - if (this.options.top !== null && this.options.top !== false) { - this.$element.css('margin-top', this.options.top); - if (this.options.top === 0) { - this.$element.css({ - borderTopRightRadius: 0, - borderTopLeftRadius: 0 - }); - } - } else { - if (first === false) { - this.$element.css({ - marginTop: '', - borderRadius: this.options.radius - }); - } - } - if (this.options.bottom !== null && this.options.bottom !== false) { - this.$element.css('margin-bottom', this.options.bottom); - if (this.options.bottom === 0) { - this.$element.css({ - borderBottomRightRadius: 0, - borderBottomLeftRadius: 0 - }); - } - } else { - if (first === false) { - this.$element.css({ - marginBottom: '', - borderRadius: this.options.radius - }); - } - } - - }, - - recalcLayout: function () { - - var that = this, - windowHeight = $window.height(), - modalHeight = this.$element.outerHeight(), - modalWidth = this.$element.outerWidth(), - contentHeight = this.$element.find('.' + PLUGIN_NAME + '-content')[0].scrollHeight, - outerHeight = contentHeight + this.headerHeight, - wrapperHeight = this.$element.innerHeight() - this.headerHeight, - modalMargin = parseInt(-((this.$element.innerHeight() + 1) / 2)) + 'px', - scrollTop = this.$wrap.scrollTop(), - borderSize = 0; - - if (isIE()) { - if (modalWidth >= $window.width() || this.isFullscreen === true) { - this.$element.css({ - left: '0', - marginLeft: '' - }); - } else { - this.$element.css({ - left: '50%', - marginLeft: -(modalWidth / 2) - }); - } - } - - if (this.options.borderBottom === true && this.options.title !== "") { - borderSize = 3; - } - - if (this.$element.find('.' + PLUGIN_NAME + '-header').length && this.$element.find('.' + PLUGIN_NAME + '-header').is(':visible')) { - this.headerHeight = parseInt(this.$element.find('.' + PLUGIN_NAME + '-header').innerHeight()); - this.$element.css('overflow', 'hidden'); - } else { - this.headerHeight = 0; - this.$element.css('overflow', ''); - } - - if (this.$element.find('.' + PLUGIN_NAME + '-loader').length) { - this.$element.find('.' + PLUGIN_NAME + '-loader').css('top', this.headerHeight); - } - - if (modalHeight !== this.modalHeight) { - this.modalHeight = modalHeight; - - if (this.options.onResize && typeof (this.options.onResize) === "function") { - this.options.onResize(this); - } - } - - if (this.state == STATES.OPENED || this.state == STATES.OPENING) { - - if (this.options.iframe === true) { - - // If the height of the window is smaller than the modal with iframe - if (windowHeight < (this.options.iframeHeight + this.headerHeight + borderSize) || this.isFullscreen === true) { - this.$element.find('.' + PLUGIN_NAME + '-iframe').css('height', windowHeight - (this.headerHeight + borderSize)); - } else { - this.$element.find('.' + PLUGIN_NAME + '-iframe').css('height', this.options.iframeHeight); - } - } - - if (modalHeight == windowHeight) { - this.$element.addClass('isAttached'); - } else { - this.$element.removeClass('isAttached'); - } - - if (this.isFullscreen === false && this.$element.width() >= $window.width()) { - this.$element.find('.' + PLUGIN_NAME + '-button-fullscreen').hide(); - } else { - this.$element.find('.' + PLUGIN_NAME + '-button-fullscreen').show(); - } - this.recalcButtons(); - - if (this.isFullscreen === false) { - windowHeight = windowHeight - (clearValue(this.options.top) || 0) - (clearValue(this.options.bottom) || 0); - } - // If the modal is larger than the height of the window.. - if (outerHeight > windowHeight) { - if (this.options.top > 0 && this.options.bottom === null && contentHeight < $window.height()) { - this.$element.addClass('isAttachedBottom'); - } - if (this.options.bottom > 0 && this.options.top === null && contentHeight < $window.height()) { - this.$element.addClass('isAttachedTop'); - } - $('html').addClass(PLUGIN_NAME + '-isAttached'); - this.$element.css('height', windowHeight); - - } else { - this.$element.css('height', contentHeight + (this.headerHeight + borderSize)); - this.$element.removeClass('isAttachedTop isAttachedBottom'); - $('html').removeClass(PLUGIN_NAME + '-isAttached'); - } - - (function applyScroll() { - if (contentHeight > wrapperHeight && outerHeight > windowHeight) { - that.$element.addClass('hasScroll'); - that.$wrap.css('height', modalHeight - (that.headerHeight + borderSize)); - } else { - that.$element.removeClass('hasScroll'); - that.$wrap.css('height', 'auto'); - } - })(); - - (function applyShadow() { - if (wrapperHeight + scrollTop < (contentHeight - 30)) { - that.$element.addClass('hasShadow'); - } else { - that.$element.removeClass('hasShadow'); - } - })(); - - } - }, - - recalcButtons: function () { - var widthButtons = this.$header.find('.' + PLUGIN_NAME + '-header-buttons').innerWidth() + 10; - if (this.options.rtl === true) { - this.$header.css('padding-left', widthButtons); - } else { - this.$header.css('padding-right', widthButtons); - } - } - - }; - - function escapeHash(hash) { - return '#' + encodeURIComponent(hash.substr(1)); - } - - - $window.off('load.' + PLUGIN_NAME).on('load.' + PLUGIN_NAME, function (e) { - - var modalHash = escapeHash(document.location.hash); - - if (window.$iziModal.autoOpen === 0 && !$('.' + PLUGIN_NAME).is(":visible")) { - - try { - var data = $(modalHash).data(); - if (typeof data !== 'undefined') { - if (data.iziModal.options.autoOpen !== false) { - $(modalHash).iziModal("open"); - } - } - } catch (exc) { /* console.warn(exc); */ } - } - - }); - - $window.off('hashchange.' + PLUGIN_NAME).on('hashchange.' + PLUGIN_NAME, function (e) { - - var modalHash = escapeHash(document.location.hash); - var data = $(modalHash).data(); - - if (modalHash !== "") { - try { - if (typeof data !== 'undefined' && $(modalHash).iziModal('getState') !== 'opening') { - - setTimeout(function () { - $(modalHash).iziModal("open"); - }, 200); - } - } catch (exc) { /* console.warn(exc); */ } - - } else { - - if (window.$iziModal.history) { - $.each($('.' + PLUGIN_NAME), function (index, modal) { - if ($(modal).data().iziModal !== undefined) { - var state = $(modal).iziModal('getState'); - if (state == 'opened' || state == 'opening') { - $(modal).iziModal('close'); - } - } - }); - } - } - - - }); - - $document.off('click', '[data-' + PLUGIN_NAME + '-open]').on('click', '[data-' + PLUGIN_NAME + '-open]', function (e) { - e.preventDefault(); - - var modal = $('.' + PLUGIN_NAME + ':visible'); - var openModal = $(e.currentTarget).attr('data-' + PLUGIN_NAME + '-open'); - var transitionIn = $(e.currentTarget).attr('data-' + PLUGIN_NAME + '-transitionIn'); - var transitionOut = $(e.currentTarget).attr('data-' + PLUGIN_NAME + '-transitionOut'); - - if (transitionOut !== undefined) { - modal.iziModal('close', { - transition: transitionOut - }); - } else { - modal.iziModal('close'); - } - - setTimeout(function () { - if (transitionIn !== undefined) { - $(openModal).iziModal('open', { - transition: transitionIn - }); - } else { - $(openModal).iziModal('open'); - } - }, 200); - }); - - $document.off('keyup.' + PLUGIN_NAME).on('keyup.' + PLUGIN_NAME, function (event) { - - if ($('.' + PLUGIN_NAME + ':visible').length) { - var modal = $('.' + PLUGIN_NAME + ':visible')[0].id, - group = $("#" + modal).iziModal('getGroup'), - e = event || window.event, - target = e.target || e.srcElement, - modals = {}; - - if (modal !== undefined && group.name !== undefined && !e.ctrlKey && !e.metaKey && !e.altKey && target.tagName.toUpperCase() !== 'INPUT' && target.tagName.toUpperCase() != 'TEXTAREA') { //&& $(e.target).is('body') - - if (e.keyCode === 37) { // left - - $("#" + modal).iziModal('prev', e); - } - else if (e.keyCode === 39) { // right - - $("#" + modal).iziModal('next', e); - - } - } - } - }); - - $.fn[PLUGIN_NAME] = function (option, args) { - - - if (!$(this).length && typeof option == "object") { - - var newEL = { - $el: document.createElement("div"), - id: this.selector.split('#'), - class: this.selector.split('.') - }; - - if (newEL.id.length > 1) { - try { - newEL.$el = document.createElement(id[0]); - } catch (exc) { } - - newEL.$el.id = this.selector.split('#')[1].trim(); - - } else if (newEL.class.length > 1) { - try { - newEL.$el = document.createElement(newEL.class[0]); - } catch (exc) { } - - for (var x = 1; x < newEL.class.length; x++) { - newEL.$el.classList.add(newEL.class[x].trim()); - } - } - document.body.appendChild(newEL.$el); - - this.push($(this.selector)); - } - var objs = this; - - for (var i = 0; i < objs.length; i++) { - - var $this = $(objs[i]); - var data = $this.data(PLUGIN_NAME); - var options = $.extend({}, $.fn[PLUGIN_NAME].defaults, $this.data(), typeof option == 'object' && option); - - if (!data && (!option || typeof option == 'object')) { - - $this.data(PLUGIN_NAME, (data = new iziModal($this, options))); - } - else if (typeof option == 'string' && typeof data != 'undefined') { - - return data[option].apply(data, [].concat(args)); - } - if (options.autoOpen) { // Automatically open the modal if autoOpen setted true or ms - - if (!isNaN(parseInt(options.autoOpen))) { - - setTimeout(function () { - data.open(); - }, options.autoOpen); - - } else if (options.autoOpen === true) { - - data.open(); - } - window.$iziModal.autoOpen++; - } - } - - return this; - }; - - $.fn[PLUGIN_NAME].defaults = { - title: '', - subtitle: '', - headerColor: '#88A0B9', - background: null, - theme: '', // light - icon: null, - iconText: null, - iconColor: '', - rtl: false, - width: 600, - top: null, - bottom: null, - borderBottom: true, - padding: 0, - radius: 3, - zindex: 999, - iframe: false, - iframeHeight: 400, - iframeURL: null, - focusInput: true, - group: '', - loop: false, - navigateCaption: true, - navigateArrows: true, // Boolean, 'closeToModal', 'closeScreenEdge' - history: false, - restoreDefaultContent: false, - autoOpen: 0, // Boolean, Number - bodyOverflow: false, - fullscreen: false, - openFullscreen: false, - closeOnEscape: true, - closeButton: true, - appendTo: 'body', // or false - appendToOverlay: 'body', // or false - overlay: true, - overlayClose: true, - overlayColor: 'rgba(0, 0, 0, 0.4)', - timeout: false, - timeoutProgressbar: false, - pauseOnHover: false, - timeoutProgressbarColor: 'rgba(255,255,255,0.5)', - transitionIn: 'comingIn', // comingIn, bounceInDown, bounceInUp, fadeInDown, fadeInUp, fadeInLeft, fadeInRight, flipInX - transitionOut: 'comingOut', // comingOut, bounceOutDown, bounceOutUp, fadeOutDown, fadeOutUp, , fadeOutLeft, fadeOutRight, flipOutX - transitionInOverlay: 'fadeIn', - transitionOutOverlay: 'fadeOut', - onFullscreen: function () { }, - onResize: function () { }, - onOpening: function () { }, - onOpened: function () { }, - onClosing: function () { }, - onClosed: function () { }, - afterRender: function () { } - }; - - $.fn[PLUGIN_NAME].Constructor = iziModal; - - return $.fn.iziModal; - -})); diff --git a/assets/stylesheets/admin/style.css b/assets/stylesheets/admin/style.css index 85a764f4..b45825e6 100644 --- a/assets/stylesheets/admin/style.css +++ b/assets/stylesheets/admin/style.css @@ -31,4 +31,82 @@ .woocommerce_page_woo-pagarme-payments .swal2-modal .swal2-content { line-height: 1.3em; -} \ No newline at end of file +} + +#woo-pagarme-additional-information table.woocommerce-table { + max-width: 100%; +} + +#woo-pagarme-additional-information table.woocommerce-table thead th { + padding: 1.41575em; + text-align: center; +} + +#woo-pagarme-additional-information table.woocommerce-table td { + padding: 1em 1.41575em; + background-color: #fdfdfd; +} + +#woo-pagarme-additional-information table.woocommerce-table th { + padding: 1em 1.41575em; + text-align: left; + font-weight: 600; + background-color: #f8f8f8; +} + +#woo-pagarme-capture .wrapper table { + width: 100%; +} + +#woo-pagarme-capture .wrapper table thead th { + text-align: left; + padding: 1em; + font-weight: 600; + background: #f8f8f8; +} + +#woo-pagarme-capture .wrapper table thead th.sortable { + cursor: pointer; +} + +#woo-pagarme-capture .wrapper table thead th:last-child { + padding-right: 2em; +} + +#woo-pagarme-capture .wrapper table thead th:first-child { + padding-left: 2em; +} + +#woo-pagarme-capture .wrapper table thead th .wc-arrow { + float: right; + position: relative; + margin-right: -1em; +} + +#woo-pagarme-capture .wrapper table tbody tr td { + padding-top: .6em; +} + +#woo-pagarme-capture .wrapper table tbody th textarea, +#woo-pagarme-capture .wrapper table td textarea { + width: 100%; +} + +#woo-pagarme-capture .wrapper table tbody th input, +#woo-pagarme-capture .wrapper table tbody th textarea, +#woo-pagarme-capture .wrapper table td input, +#woo-pagarme-capture .wrapper table td textarea { + font-size: 14px; + padding: 4px; + color: #555; +} + +#woo-pagarme-capture .wrapper table tbody th:last-child, +#woo-pagarme-capture .wrapper table td:last-child { + padding-right: 2em; +} + +#woo-pagarme-capture .wrapper table tbody th:first-child, +#woo-pagarme-capture .wrapper table td:first-child { + padding-left: 2em; +} diff --git a/assets/stylesheets/vendor/iziModal.min.css b/assets/stylesheets/vendor/iziModal.min.css new file mode 100644 index 00000000..4517966a --- /dev/null +++ b/assets/stylesheets/vendor/iziModal.min.css @@ -0,0 +1,6 @@ +/* +* iziModal | v1.6.1 +* https://izimodal.marcelodolza.com +* by Marcelo Dolza. +*/ +.iziModal{display:none;position:fixed;top:0;bottom:0;left:0;right:0;margin:auto;background:#fff;box-shadow:0 0 8px rgba(0,0,0,.3);transition:margin-top .3s ease,height .3s ease;transform:translateZ(0);box-sizing:border-box}.iziModal *{box-sizing:border-box;-webkit-font-smoothing:antialiased}.iziModal::after{content:'';width:100%;height:0;opacity:0;position:absolute;left:0;bottom:0;z-index:1;background:-moz-linear-gradient(top,rgba(0,0,0,0) 0,rgba(0,0,0,.35) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(0,0,0,0)),color-stop(100%,rgba(0,0,0,.35)));background:-webkit-linear-gradient(top,rgba(0,0,0,0) 0,rgba(0,0,0,.35) 100%);background:-o-linear-gradient(top,rgba(0,0,0,0) 0,rgba(0,0,0,.35) 100%);background:-ms-linear-gradient(top,rgba(0,0,0,0) 0,rgba(0,0,0,.35) 100%);background:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.35) 100%);transition:height .3s ease-in-out,opacity .3s ease-in-out;pointer-events:none}.iziModal.hasShadow::after{height:30px;opacity:1}.iziModal .iziModal-progressbar{position:absolute;left:0;top:0;width:100%;z-index:1}.iziModal .iziModal-progressbar>div{height:2px;width:100%}.iziModal .iziModal-header{background:#88a0b9;padding:14px 18px 15px 18px;box-shadow:inset 0 -10px 15px -12px rgba(0,0,0,.3),0 0 0 #555;overflow:hidden;position:relative;z-index:10}.iziModal .iziModal-header-icon{font-size:40px;color:rgba(255,255,255,.5);padding:0 15px 0 0;margin:0;float:left}.iziModal .iziModal-header-title{color:#fff;font-size:18px;font-weight:600;line-height:1.3}.iziModal .iziModal-header-subtitle{color:rgba(255,255,255,.6);font-size:12px;line-height:1.45}.iziModal .iziModal-header-subtitle,.iziModal .iziModal-header-title{display:block;margin:0;padding:0;font-family:Lato,Arial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.iziModal .iziModal-header-buttons{position:absolute;top:50%;right:10px;margin:-17px 0 0 0}.iziModal .iziModal-button{display:block;float:right;z-index:2;outline:0;height:34px;width:34px;border:0;padding:0;margin:0;opacity:.3;border-radius:50%;transition:transform .3s cubic-bezier(.16,.81,.32,1),opacity .3s ease;background-size:67%!important;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}.iziModal .iziModal-button-close{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODZCQkIzQ0I0RTg0MTFFNjlBODI4QTFBRTRBMkFCMDQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODZCQkIzQ0M0RTg0MTFFNjlBODI4QTFBRTRBMkFCMDQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4NkJCQjNDOTRFODQxMUU2OUE4MjhBMUFFNEEyQUIwNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4NkJCQjNDQTRFODQxMUU2OUE4MjhBMUFFNEEyQUIwNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsgTJLcAAALJSURBVHja3JnLS1VBHMfvQ7g9dBXRRrwEFRciAhMi1JRW1aIHVEIYEkW0iVpUhOD/ICK6cFMgSbUpC6VFkQa9NtpjkauriRY9Noa3pHT8/mIODMM5Or85o87pC5/NPf5mvmc8M7+Z36SFEKkY2gj2gUawF2wHW8A6+fwv+A6KYAQMg+dg2rbDtKXhGnAaHJIms4zYz9J4HxgAf1g9k2EGteAhWBBuNApaQNrUg6nRTaAbzIuV0RCocWW4DoyJlVcJXI5ruFk2tJqi/2TWxvA5sXbqA2Ucw01i7dVjargazAo/dE33p6/DlAheg50pP0SJpwG8CH7IaH/Q5pFZUhnoArkwwwVwJeWfdoMLYYZvqG+yTGo9CerAoIWBT+A4qAdPDWOugwo1NVcxJtpFZRLkwH3GJCqCghJfxVjnz1JMMMKnwAbGRAg0B5rAA4O4CblZ+qj8tkBjZthvSzDCtFIMM0ZpQhslk5Eej4jpZ/T7G+ygwG1ghrk+jjNMFy1eMPJzpOAzlou6iWmXZkm91EBHjEwUZXoQTDk2SxqhRh7HTJ9hpstB3rFZ0ldq6J2DnB9m2rXZfxOPlrX1DrJRXiaBXSHPaMHvB0cd9JPLpBImMvzLQTuUFA6A9yHPfoIjhsllOc1l5N4grtmDWgYrl5+JTUZcSjNkeMyxWdpA3ZN72IJj01OJTByJS82J2/wQVxmB5y1HK8x0JWMf/kzdD98FJcY5S51gdwyTQl6eUAraspo27PeWXgy8afim0+CELAwOWHyH9EkdkyWwJ4Yxk6BCP+bTm48anutWW5dAp34IpbW03UOzb0FPVEHbx0LKfvAyqpAyKw97JU8Mt6pml6rAJ6oY6Eu5NfvfF7QTeWWQyEsZr6694lwsNoPD8mKRo29gCNwGj7gXi7aGA1EBcY+8vq0GW8FmJb3Pgx9gEnwAr8Ab8MW2w0UBBgAVyyyaohV7ewAAAABJRU5ErkJggg==) no-repeat 50% 50%}.iziModal .iziModal-button-fullscreen{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RTBBOUI4RUM0RTg0MTFFNjk0NTY4NUNFRkZFNEFEQzIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RTBBOUI4RUQ0RTg0MTFFNjk0NTY4NUNFRkZFNEFEQzIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFMEE5QjhFQTRFODQxMUU2OTQ1Njg1Q0VGRkU0QURDMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFMEE5QjhFQjRFODQxMUU2OTQ1Njg1Q0VGRkU0QURDMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrQO6gAAAANmSURBVHjazJlbSBRRGMd3x92i0ForRRMiKiUoX4ouiFlJkRVBDxW9GJERwUasvdRT9FD00osRQtAFqegGBUHRBY0uaCVKEkSRpVR0tSwrQtp1+p/4Bk7D7M45M/Ot/uGHu+Psmf+c+eY753wnbJpmyIfGgvmgiv6WgkKQBwzwE3wBr0AnuAta6ZgnhT0aFuY2ghoyGdH4bS+4Dc6CZjCkdWVhWIPF4JoZnB6CDToeVE8sBidNPt0E5UEZrgG9Jr8GwHa/huMgaWZXDSDsxfBuc/jUBAwdw3Fz+NWoang5SJkjQwm7P3seLqQEX2LLfgfBdZcMORMcBqNDwekPqASP0uXhpjR3Ok0x/fUw9HIHGGVdw5DuRtzJpgxDsJui2qOWmuaAOuuLbHivz4YLwLgQj/aAXNmwuItlHhtbA7pAG5jEZHgKWCcbrhUTIY+NPQVjqFFObbYMi/hc6aOhl2AJ9TKnFoIyYXgemKEzJQXVVkyR3oFVzKZFuqw2qHdyFPKhrHPgMoWC3fRjRtNVVg+7SR5IiqmXxUt60cG0CK/vTIZniZVCmcKJF0C3ZNjKBqvJ9Hrwm46tsN1EkCoRQ/M3fBjvs6GrYAvdwHEfGcd1qBaGkwoxrKI+xjz83yJ0iLFHApd46X4xX+M+WECh4lepCNUIcpnMijrEWtAvTRHrbOd8FZNG8uA2Nf0hpmwtjBPwpQ5T0GPS/+tBAZhIq+b3Lu09EyHRwRgO+0C+7dhWcII+PwCf6Sk/Aa9d2vtn+A7nyASugJiD6YSDQcOlvVbxiCaAN8xrs3sgprBiac/QhlhnzjUo6JuZM0UlDS5FPtoQIdNlPYJTWUihFaDex+9Pg6T1KHJAJ2NI7ASllA28hEQ/KJIXoSlwgKlnh+jFe+GjLtwIPtjfyktUt+UaUZWqvw7H3oJD1peI7eQdoF1xWa+zQikHH13OmwqmOxxP0EiZtgK/DRwNuIcHwSeXc2K01WAPhbhKBb5hBNTVbskVH7fqpZGhbJUNtYF83fqwQSXPbOsGjb6etwx2gcEsmT3iFAZeNmUqaMeHSz2qu0k6W15Rqsx3B2i0D+xXGAHTFrRVlEeFuVoqH+ku6VNUbDkPzlAtg30nVK66i8rRIjAbTKaSQVQyN0DD6nOqcLZQld9TLfmvAAMAeMcvp3eCFqQAAAAASUVORK5CYII=) no-repeat 50% 50%}.iziModal.isFullscreen .iziModal-button-fullscreen{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkFFRTU5NDA0RTg1MTFFNjk0NEZFQzBGMkVBMDYyRDkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkFFRTU5NDE0RTg1MTFFNjk0NEZFQzBGMkVBMDYyRDkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyQUVFNTkzRTRFODUxMUU2OTQ0RkVDMEYyRUEwNjJEOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyQUVFNTkzRjRFODUxMUU2OTQ0RkVDMEYyRUEwNjJEOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuDFfX8AAANASURBVHjazJlZSBVRGMfHcWlB0xZM68GKukQLYaGkmEUR2EsvRfQS+BSJPUQE+lTR8hqIZY8hFS0ERVCRoW3gpUApghYpszLTVnCB3O70/+K7MAwzc78Z58z4hx8XzpzvzJ+Zc+d85ztphmFoU9BsUAoq+XcFyAc5QAfD4BfoBp3gCWjnNl9K82mYzO0FVWwyw0NsD3gIroBWkPB0ZzLsgc3grhGcnoE9XjxIOxaCC4Y6tYC1QRmuAj2Geg2CA1M1XAsmjHDVANL8GK4zolMz0L0YrjWiV5PU8HYw6TBIf8imD6UynA96HYKPg3mgMUTDY6DUzXCzQ+AxSz+r6QEQZz4HbLoDZNkZrnAIoOlRZjN1Gk3XS0zty/gTFaRq7Ay3uAR8BcU2ps/z9QJTWw74HrDhTyDbbHg9SKQI+sb9rKa3mV8ZmAt+KJjP1TS+zinFPkqEUqQdBeAOKLa0UwIzpqlXtcYpIKWIO4RBZPoRKNfC10YQI8MlYLkwaAB8ABsiMDwDbKU8dgtIFwRMgJ3guRadKpNPWBMa7tOi1WoyHJPuTsC4oN+IQsOLM3gPJlEWqOE/neMGBqwDeYoMz6G8c0I4h6eFyHBC8A2eVoaH8JutaPwuUA/+uvSht1sHKgTjTWZwjUCVYdrK3xT0iwkND+lc5FClUQ9fINHCRYY7FBrWPSz5Er2lAR9H9P+hpfYGl64OCmPadQ7ojcDwOJetysBMQX/6mrWS4d+cIoYtMnAEnBT2fwVeJufYxZBMFoKFlrajQtOX/uczvEtIB50Kdgn1lt3JGdANltjsXE64jPMnuQ1LPuFJcFrBE11gzQXAUnAPFNk86esO4zSBfmu5lVa9toCf8DC4Ba6C22DEdO01KDLdP5fLr1Z94X2ibV1ilWVQ1XrDpvPAU4c+u1KVqvaHXI7q43ltp3PSYmDDNCgGPrCUD1wN6y5lqzAUN89baX1Y55Jn2LrPRUffRwaHwWhIZs/aTQM/hzLlDp+coPRReprk5cgrkyvz7wM0+hOcAvOlPvwcLNIp526ux1H5aJbHeFpVX4Br4LLXWoffk9CkVnLlaBNYAxaBXJBpMjfIy+o7EAdtfIyb8HPDfwIMAM1WPs8F9tcxAAAAAElFTkSuQmCC) no-repeat 50% 50%}.iziModal .iziModal-button-close:hover{transform:rotate(180deg)}.iziModal .iziModal-button:hover{opacity:.8}.iziModal .iziModal-header.iziModal-noSubtitle{height:auto;padding:10px 15px 12px 15px}.iziModal .iziModal-header.iziModal-noSubtitle .iziModal-header-icon{font-size:23px;padding-right:13px}.iziModal .iziModal-header.iziModal-noSubtitle .iziModal-header-title{font-size:15px;margin:3px 0 0 0;font-weight:400}.iziModal .iziModal-header.iziModal-noSubtitle .iziModal-header-buttons{right:6px;margin:-16px 0 0 0}.iziModal .iziModal-header.iziModal-noSubtitle .iziModal-button{height:30px;width:30px}.iziModal-rtl{direction:rtl}.iziModal-rtl .iziModal-header{padding:14px 18px 15px 40px}.iziModal-rtl .iziModal-header-icon{float:right;padding:0 0 0 15px}.iziModal-rtl .iziModal-header-buttons{right:initial!important;left:10px}.iziModal-rtl .iziModal-button{float:left}.iziModal-rtl .iziModal-header-subtitle,.iziModal-rtl .iziModal-header-title{text-align:right;font-family:Tahoma,Lato,Arial;font-weight:500}.iziModal-rtl .iziModal-header.iziModal-noSubtitle{padding:10px 15px 12px 40px}.iziModal-rtl .iziModal-header.iziModal-noSubtitle .iziModal-header-icon{padding:0 0 0 13px}.iziModal.iziModal-light .iziModal-header-icon{color:rgba(0,0,0,.5)}.iziModal.iziModal-light .iziModal-header-title{color:#000}.iziModal.iziModal-light .iziModal-header-subtitle{color:rgba(0,0,0,.6)}.iziModal.iziModal-light .iziModal-button-close{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4JpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyQTU1RUZDNzRFODQxMUU2ODAxOEUwQzg0QjBDQjI3OSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1NEM4MTU1MEI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0RTNFNENDMkI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjZjYzMwMmE1LWFlMjEtNDI3ZS1hMmE4LTJlYjhlMmZlY2E3NSIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjdmYmU3NGE3LTAxMDUtMTE3YS1hYmM3LWEzNWNkOWU1Yzc4NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Po24QssAAANtSURBVHja3JlJaBRBFIa7ZxyTSXADHUkikuAawZNLEOOGGrwJQYko8R4RBQ+OICoqghJQUVwPYjzFY0QUBQU1kogoKO6CG0pcIwbiNibj/8JraNvu6Xo9NTOtP3xzSKe6/65+Ve9VlWlkp2IwGUwFE0E5GA4G8/U+0APegWfgHrgPuq0bpNNp0QPNgEYngHlgGpuMCNp2s+kr4BYM/8ql4WqwHEzP4mXteg7awOW0YlerPnQIaARLNBl1ikLlBDw/1WF4ClgHKozc6idogekz2RheANbaBlE+dB4chfF+qeHF3LOF0FWwF6b7nBe8RvecApolzQVr3C64GR4H1huFV51pmvV+hikRbABFRji0GqarMxluAGON8CgKmmA65mZ4DFhqhE9VPP//ZXgZiCmm1t1gI6XWAAY+gF0gCe4qtqlHL8fthkeBWsXGreA6eMgPviEw+x5sBZ3gAdjPCcNPI8Fsu+FawUCzz40psEfRNJndBl7b/pZmVLTQMkzJo0bQSys43iWm3cxS+DUJOmoSwqKCRmEZWKkYv6RSMBPc5lqXRGm0A1Q6XiaT2aSwo8jrK/qZwZlFIlXTusxa6iXDddTdARpnMj2ek9AWjWYH7h/lubcs4A28THdyAdOl0ezAmKNBNyLLiT0Btjti9zuHg06zpJKIprohwXNypcu1OIdGjYbnxCLGPyYy/EPDfejzbwYvXK59AzuFGdFLKTL8WYNZ59RVzGESJCNm0teI40E6zNIA2wSaA2REP32iaW0omKXRbJKTUVyYEVV0J8oxvEiQmiUZrFSz6XNkuJe3nBKCelaSbjOZrhLsd1BInYxweSeJq9YA6dYtuZCBI4JZ6jGW/W+sebhd0DAaMIO5mTYFW1+X6GeQ7TO3W0WyQj3cw0ulBg4nSUbcAY7zPVYp7ip95FXOH29Hb35AOPjypWMIh7PORSjFZVsIzdKW7AWvfYnTVNWHyCytHw+jd1Nehqks3KepvtChUzD7yGvE2/cduqxldQF1EWZb/PbWLF3jAVgo0WrlkN+c6hSd+rzlaSuaR7O0oX0wyIa2pVAdGaj0HCUVOqIq4dVwrg5lmmG2w+8f/9tjL6foYHE+Gy8Xtv3CPUpf7WauDxadKuIwoeNbOmoYDYbZ0ns/1wxUC7ykigs8sS/LpEe3vwUYALiKDDDSgEiSAAAAAElFTkSuQmCC) no-repeat 50% 50%}.iziModal.iziModal-light .iziModal-button-fullscreen{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4JpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpEQTg1NTA2NTRFODQxMUU2OTQ0N0VERjY2Q0M5ODYwRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0RTNFNENCQkI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0RTNFNENCQUI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjFlNTQwYzczLTVhZmEtNDJlYi04YzJlLWMwMzFlYmFiYmIyNiIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmVkYmRiMzM1LTAxMDUtMTE3YS1hYmM3LWEzNWNkOWU1Yzc4NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvIicdUAAAOvSURBVHjaxJlZbA1hFMe/qaItUUsspakg1laJ7UUisQuRvvTFA15sQSRCLBFrQryhHqxNHxEPtaQ8CCUkIrVVRbVBJdZYSrXVonr9/3pGxnTunZk78/X+k1+aO+1899/vnnvO+c4YKpi6ghEgW34OBD1BKjBAM6gH78Fz8BhUyrW/ikQivt7QiNMozU0DE8RkJx/3fgCPwA1QHvHp2K/hHJAPJqpwVA2K4flW2IZ7gyVgptKjh6AQxl+GYZi7uRr0U3rVBIpg+nIQwwvACpCkOk4XwYlosR3LMGN1qUqMroGDTqaNGDu7SiVWl+D3iP2i00c9HqxUidd8wzDy3HY4HRwCfWzXz4L7Lm+QKfHeOUTTLWAzdro6muH1YIbDjculWrmpUEM2YYXcCNMt9pAYE8WsWYLdlAxaNYTGMDDHKYYXBVy4B0jTFM/5iOcUc1fM/2JcnItNAYtBNzGtQ33BVHDV3OHpARqhV6CLLKpTs8yQYHxOCrDQO7AV1Gg2PBJhMYiGh4MMnx1eLkixXKsFuzSbZrrMpeGxHnqFFtvrTWCbhILd9AuNpnPMHXaTtZD0kl1mRdwSxXSjJsNZfONjcmqIJR5p3lp6Y+sXrAzsBz/lNXvmtZYMFKbqafi0pKQgKpOSPhmsC5BxXEs1Fz4fUr/7TWMe/q9bC2s3tJs1Df/Q/B5PwAZwJYS1WpPlo0zRZJZziL2gQU7I1GyHL7QSD26taVOytI26DpinxKypApvpk+C6dHlMnXskbUbT1yTpN3WJHWB327UCS3hUoc+tA/VyxP/ost5rGq7QWZnAdoe0eZgnYweDbgmgkoafgk8aTfNgsMNmmqfhC+Czj3V4T3mSBH255kxB0ztd4tNNDJkas2CUdkAKHQ3yAtxfijj/bdb7Cumyhmoyexzcs6Qwv2qUbPKvJDOtnNFklrF3R5qneA2XYHe/2A+ht1Xb3FZXRY1XTAjFTgtxJ45qKtWDpZK1g6dhIQuvBzjcy8FgQ6y8Nw+sCdnwL1Dn8jdMe6m2a+3ma9ESNUdOC1VixSH3bnPiYyraswnO0fqDIQkyW8WmCWab7b+I9TCF3+x0j2e+MPUA7LPGrVfD1F3VNsrPVR0zhS8BB5x21muzYa1Sy1Tb4y4d4qOwIi9Pk/wcj1gV50p5zQjJKAsJH8KcY4vpdYrjV0w9HMxxHjfKNpfwdMyRNuAmyy2M1vq5OegBNFMmR9lSHDizSLPMJGjuO2BZfSOtLKvpMylUvh/d/hFgAOH4+ibxGTZuAAAAAElFTkSuQmCC) no-repeat 50% 50%}.iziModal.iziModal-light.isFullscreen .iziModal-button-fullscreen{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyRUUxMkYxODRFODUxMUU2Qjc3RDk0MUUzMzJDRjBEOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0RTNFNENCRkI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0RTNFNENCRUI4QUExMUU2QjNGOEVBMjg4OTRBRTg2NyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjgzM2MwOWZiLWJjOTEtNGVlZS05MDM1LTRkMmU2ZmE1ZjBmMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyRUUxMkYxODRFODUxMUU2Qjc3RDk0MUUzMzJDRjBEOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv1Q9Z8AAAOXSURBVHjaxJlLbA1RGMfPjIs+EvoIRYt4FVUl2EkkRTxKUqQbG0SEho2FjUQ8YtEICbEgTdFYeK1KaGvVeoUltyStt0UlNE17aWhV2+v/9X5XJpMzc8/0zpn5kl+aO3Nm7r/fnPu9xhDp2URQDJbw3xkgB2QCAwyAPvANfARvQDsfG7V4PO7pC40xCiVxa8AKFjnOw7VdoA08BtG4R8VeBZeCKrBS+GPvQAM0P/NbcB7YBdYJPfYKXIXwL34IJm8eBFOFXusH9RDdnI7gLWA/MEVwdh/UOe1tN8G0V3eLcKwFXJCJNl08G5ZYsrWgWnZCJng5OOBwo1iAoisMw6hMJXgyOOywVW7xj+9BgKL3QHSxm+C9IF9y4U2GMlStRPQP8Jbp9lFwhJwE0RHrgaSV8N6xG238l7Zjtfx3K58/Bd7zsWngIqdnP2we2ACa7B7e6RL6joK5EtHNfL7b5u1Bn7dGFbycYRVM/8WyFJnuJK+z2iVwzFrMcF1h+Cx4ClhtFVyu8CW54ITE01EwFMAPcH1SMJWIqxQvItE1YHEIsXkhtkUhCV4ApiteFOPadn4IgseDMooSSxVrhWFwmkvCsKw06WGhKLhHhGuzSHChh9pZ5cc1oFFwfoTTsWrWqQCvXdZQEpkDsjUJziSv3Qu43k3LTA1BXqvRY/4DMjTd/yu4niJVm9wslCjcb4QE/9Qo+Al44baAmgpKCIqC+01OBLrsr8/de8zkiYwuUxWSq7iuM8JhantIqfYItkOepKBysnbycIfPXYKqURL6DhaBCQrrKcZHTa5loyEIJgHXwG3F9TQV+pxMGK0BiaTHn2OLEjcURbdi7XBSMO3jTxoEjtg+7wDnhG3spSD6F3hk7Tjoxnc0CJ5k+5wFCrhplYl2mmI24nyvvWumAE9z2zIfBW8WifnxIHc2yb6xiHtEoms0/hlGtpAPHCkgNDjFyZngPN88COvkPpEe+XGHbFcD7z53C+ybwKEAo0UPZ8QCybkmiL3sNvkheygSI08RYOSQiaUhd52sUpIZLWwJsYqkkdcZeHfIS66nc9XcZQRpNBY7C7F9Yy1OtonErDgSgNhGcEXmWa/VFA1O9onE6y4dRqGtXuVtkpf2iDy8EVR6GLykMnrsNFC867QF0hH8v3MVicFcuYdKy56uqQx4SukWQj3NOtJtQIt4ckSvbmdziMqy7HcS9xv0cn/Xwdn0A1drnl/d/hNgAGQa6Lgarp6BAAAAAElFTkSuQmCC) no-repeat 50% 50%}.iziModal .iziModal-loader{background:#fff url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCA0NCA0NCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHJva2U9IiM5OTkiPiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS13aWR0aD0iMiI+ICAgICAgICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxIj4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiAgICAgICAgICAgICAgICBiZWdpbj0iMHMiIGR1cj0iMS40cyIgICAgICAgICAgICAgICAgdmFsdWVzPSIxOyAyMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMTY1LCAwLjg0LCAwLjQ0LCAxIiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjEuNHMiICAgICAgICAgICAgICAgIHZhbHVlcz0iMTsgMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMywgMC42MSwgMC4zNTUsIDEiICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPiAgICAgICAgPC9jaXJjbGU+ICAgICAgICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxIj4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiAgICAgICAgICAgICAgICBiZWdpbj0iLTAuOXMiIGR1cj0iMS40cyIgICAgICAgICAgICAgICAgdmFsdWVzPSIxOyAyMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMTY1LCAwLjg0LCAwLjQ0LCAxIiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgICAgICAgICAgICAgICAgYmVnaW49Ii0wLjlzIiBkdXI9IjEuNHMiICAgICAgICAgICAgICAgIHZhbHVlcz0iMTsgMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMywgMC42MSwgMC4zNTUsIDEiICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPiAgICAgICAgPC9jaXJjbGU+ICAgIDwvZz48L3N2Zz4=) no-repeat 50% 50%;position:absolute;left:0;right:0;top:0;bottom:0;z-index:9}.iziModal .iziModal-content-loader{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCA0NCA0NCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBzdHJva2U9IiM5OTkiPiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS13aWR0aD0iMiI+ICAgICAgICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxIj4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiAgICAgICAgICAgICAgICBiZWdpbj0iMHMiIGR1cj0iMS40cyIgICAgICAgICAgICAgICAgdmFsdWVzPSIxOyAyMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMTY1LCAwLjg0LCAwLjQ0LCAxIiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgICAgICAgICAgICAgICAgYmVnaW49IjBzIiBkdXI9IjEuNHMiICAgICAgICAgICAgICAgIHZhbHVlcz0iMTsgMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMywgMC42MSwgMC4zNTUsIDEiICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPiAgICAgICAgPC9jaXJjbGU+ICAgICAgICA8Y2lyY2xlIGN4PSIyMiIgY3k9IjIyIiByPSIxIj4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJyIiAgICAgICAgICAgICAgICBiZWdpbj0iLTAuOXMiIGR1cj0iMS40cyIgICAgICAgICAgICAgICAgdmFsdWVzPSIxOyAyMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMTY1LCAwLjg0LCAwLjQ0LCAxIiAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgLz4gICAgICAgICAgICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSJzdHJva2Utb3BhY2l0eSIgICAgICAgICAgICAgICAgYmVnaW49Ii0wLjlzIiBkdXI9IjEuNHMiICAgICAgICAgICAgICAgIHZhbHVlcz0iMTsgMCIgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIgICAgICAgICAgICAgICAga2V5VGltZXM9IjA7IDEiICAgICAgICAgICAgICAgIGtleVNwbGluZXM9IjAuMywgMC42MSwgMC4zNTUsIDEiICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiAvPiAgICAgICAgPC9jaXJjbGU+ICAgIDwvZz48L3N2Zz4=) no-repeat 50% 50%}.iziModal .iziModal-content:after,.iziModal .iziModal-content:before{content:'';display:table}.iziModal .iziModal-content:after{clear:both}.iziModal .iziModal-content{zoom:1;width:100%}.iziModal .iziModal-wrap{width:100%;position:relative}.iziModal .iziModal-iframe{border:0;margin:0 0 -6px 0;width:100%;transition:height .3s ease}.iziModal-overlay{display:block;position:fixed;top:0;left:0;height:100%;width:100%}.iziModal-navigate{position:fixed;left:0;right:0;top:0;bottom:0;pointer-events:none}.iziModal-navigate-caption{position:absolute;left:10px;top:10px;color:#fff;line-height:16px;font-size:9px;font-family:Lato,Arial;letter-spacing:.1em;text-indent:0;text-align:center;width:70px;padding:5px 0;text-transform:uppercase;display:none}.iziModal-navigate-caption::after,.iziModal-navigate-caption::before{position:absolute;top:2px;width:20px;height:20px;text-align:center;line-height:14px;font-size:12px;content:'';background-size:100%!important}.iziModal-navigate-caption:before{left:0;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAoCAYAAACFFRgXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyNmFjNjAyMy04OWU0LWE0NDAtYmMxMy1kOTA5MTQ3MmYzYjAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDREQ0YwRjA1MzQzMTFFNkE5NUNDRDkyQzEwMzM5RTMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDREQ0YwRUY1MzQzMTFFNkE5NUNDRDkyQzEwMzM5RTMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmNmM0Nzk3Ni1mNzE3LTk5NDAtYTgyYS1mNTdjNmNiYmU0NWMiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowZGVmYTEyZC01MzM0LTExZTYtYWRkYi04Y2NmYjI5ZTAxNjYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7oo0ptAAACWklEQVR42uyZTWsTYRSFZybxo4kWk5g2NC5qTAU3Kq30A9udi1oXolV/hWuhv6R/Q6utioi4LbbVFHemamlRU0OCEk0wZjwXzwtDoBDopHMHcuFJMplZnLm5ue+589qu61qeOApyYAjEgG0FEyLqN/gKiqBuTtgewWlwCZw056xgwwirgU3wxSv4NJgCUV5YBRXQDEhsBJwCSSauBVZFdJRlIJk9Av7wbj577jDIOENtRmPVwcsw6KfAAvikRKzEDlhnhuU/lRPBWaa9wsxqC6ndPX7OiOA4D8qW3vjO9z7H0w3+KhZstNmOFbLoCQ6DYGmL+bAInmGfLFC4asFXwRJIgB+goVmw+I7HXO+/gevGnGgUPEGxktkSmAMbWmt4HDwBKS6XN1jDKrvEFYoVK7oLroE3h93Woh1eNwqWafJ/gQV65vM+ail34mc6EZwBK2CAx8fAIjjeBYMzDT4cVHCEXtRbRvEu/Nr9HCIOnGGp15vgEec9KYn74B0nAT/CZnv86FcNvwK3wENwAjwAs2Bbs5d4CW5zir0AXvv8p+tKH34B5lkW4h2egRHtbu05uMMHHWfB0zC4NRF5l09kzvE4rd2tyUJyjy4tz7akZqXbL8QETbJ/FsMgWOJtb6brCQ5YsBsC8Uab63DVkkgqFpzie93h8OhScFah2LTHi5ccWroaLd5l6//+hpYQoWP05LKqFs2WQYbTsNxAi+5fxpWmdfh7HS7XhwSzG+H3a2JnvZsyktmLbdOFhpDMvrf4sN1u2/aK0cwMcmYLcturweceW+CnOfFPgAEA8uWFFylBJYoAAAAASUVORK5CYII=) no-repeat 50% 50%}.iziModal-navigate-caption:after{right:0;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAoCAYAAACFFRgXAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADhmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzIgNzkuMTU5Mjg0LCAyMDE2LzA0LzE5LTEzOjEzOjQwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjI2YWM2MDIzLTg5ZTQtYTQ0MC1iYzEzLWQ5MDkxNDcyZjNiMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0NERDRjBGMDUzNDMxMUU2QTk1Q0NEOTJDMTAzMzlFMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0NERDRjBFRjUzNDMxMUU2QTk1Q0NEOTJDMTAzMzlFMyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNS41IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOmY2YzQ3OTc2LWY3MTctOTk0MC1hODJhLWY1N2M2Y2JiZTQ1YyIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjBkZWZhMTJkLTUzMzQtMTFlNi1hZGRiLThjY2ZiMjllMDE2NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuijSm0AAAKbSURBVFhH7ZnJj0xRGEerzFoIMTaCZmOIedhaiJj55yz8DaYdNhIJEUMQbCTG3rQ02hDSiEY553XdTpHS3nv96taV9ElO6lVt6peb7933fffVG41GrYW5uBaX4EysYzcw1Fd8hc/wM2a0Bl6Nm3BW9i0dDPsQX/olBF6FO72AH/gG3+N3jL3KBpqGC3ERTsGfeAsHDTyHi71oCXzBe/gaU2A5bscZOIxXTb8OLQNX9i6mElYsg/voqruwfQb2BhODWgqpMYDv0NLsNXC4yd42P1PEwNJj4HBTWdipErLVDfxfMRm408QMvBu3jV6WJ1Zg9/rbeBOP+UNZYgX+iE/Rp+lpPIKliBXYB9IhtPNy3z/T/F6YmDXsChvyBc7Gs3gACxEzsDzBg9iPPXgO92NuYgeWx2h3+AhtaM7jPsyF7aV37XR8gNZYO/pwKY51+xPkG27Fk2joT3gCr2A7NuJ6HMkTeAPadlp3VeMChF7G0P6X3dmfjAXOUxIj6LZkv1ylNuStDZejkL+PS96ScFzRqnDAtI5PoTefvbg7iNNOOwqVRCfYghdxBbpHH8Y7+DcKlUTV7MLLaNghPIrjhf2N2IF34AVcjE44hrXHyE3MwE6/loEzpEcIlqKjeyFiBe7FS+he/gENewMLEyuwXdo8dGWP43UsRazA9g7uDNbwNX8oS8watlsz+ISIGbgSJgN3GgOHlnFq8zNFQraGgT1iFc9iUyU0XsMGHhy9zh6XbvCp4ZuBBWglDBj4OdqLeu0+uRJTwMZ+Dbp/e21P3m97yWe2snsw1LTHmz5C/9lQdwhfGbiq89GwvrrwUT4UAouhN6MzloTRpVuEYI5O9urZYXtrYPGQw2OlZegM163QhrJMfWVgyTq0Qq32C/N7uPz9OknWAAAAAElFTkSuQmCC) no-repeat 50% 50%}.iziModal-navigate>button{position:fixed;bottom:0;top:0;border:0;height:100%;width:84px;background-size:100%!important;cursor:pointer;padding:0;opacity:.2;transition:opacity .3s ease;pointer-events:all;margin:0;outline:0}.iziModal-navigate>button:hover{opacity:1}.iziModal-navigate-prev{left:50%;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALwAAAC8CAYAAADCScSrAAAACXBIWXMAAAsTAAALEwEAmpwYAAA5sGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzIgNzkuMTU5Mjg0LCAyMDE2LzA0LzE5LTEzOjEzOjQwICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDo2NDkyYzcxMy05ZDM0LTZlNGQtYmUwNi1hMDMyY2Q4NDVjNGU8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDo1QjIzMUMxODU3RjcxMUU2ODUzRkRBRjE5RDhDQjZBRDwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDpjZmMwNzVmNC1kODA3LWI0NDMtYWIwYS02YWVhZjRjMDgxZWE8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpEZXJpdmVkRnJvbSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgIDxzdFJlZjppbnN0YW5jZUlEPnhtcC5paWQ6NjQ5MmM3MTMtOWQzNC02ZTRkLWJlMDYtYTAzMmNkODQ1YzRlPC9zdFJlZjppbnN0YW5jZUlEPgogICAgICAgICAgICA8c3RSZWY6ZG9jdW1lbnRJRD54bXAuZGlkOjY0OTJjNzEzLTlkMzQtNmU0ZC1iZTA2LWEwMzJjZDg0NWM0ZTwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmNmYzA3NWY0LWQ4MDctYjQ0My1hYjBhLTZhZWFmNGMwODFlYTwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNi0wOC0wMVQxMTo1ODowNC0wMzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNS41IChXaW5kb3dzKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAxNi0wOC0wMVQwOTo0MDo1Ni0wMzowMDwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE2LTA4LTAxVDExOjU4OjA0LTAzOjAwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNi0wOC0wMVQxMTo1ODowNC0wMzowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+NjU1MzU8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjE4ODwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4xODg8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PvAvv7QAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAmdJREFUeNrs1LsJQkEQhtH/mtmBgQ8QA7tQK1e7MBBBMbADwzUZEyuQveeDCXbD4TBDay3SWJpYgYCXgJeAl4CXgJeAl4CXgJeAl4CXgJeAF/AS8BLwEvAS8BLwEvAS8BLwEvAS8BLwAl4CXgJeAl4CXv/WJskpyQJ4jQH7Mcmu0C+BV+/Y5/VeF/oV8Ood+7dpDfDqHvsrySHJBXjBDrxgB16wAy/YgRfswAt24AU78IIdeMEOPOywAw+7gIcdeMEOvGAHXrADL9iBF+zAC3bgBTvwsMMOPOwCHnYBD7uAhx14wQ68YAdesAMv2IEX7MDDDjvwsAt42AU87AIedgEPu4CHXcDDDrxgB16wAw877MDDDjvwsAt42AU87AIedgEPu4CHXcDDLuBhB16wAw877MDDLuBhF/CwC3jYBTzsAh52AQ+7gIddwEtjB3+tS/78+Z/V5d9iATz0Ah56AQ+9gIdewEMv4KEX8NALeOgFPPQCHnoBDz3wgh54QQ889NADDz30wEMv4KEX8NALeOgFPPQCHnoBD72Ahx54QQ+8oAde0AMv6IEX9MBDDz3w0EMPPPQCHnoBD72Ah17AQw+8FUAPvKAHXtADL+iBF/TAC3rgBT3wgh546KEHHnrogYdewEMv4KEHXtADL+iBF/TAC3rgBT3wgh54QQ+8oAde0AMv6IGHHnrgoU/yrgFe3aO/JdknuQOv3tGfC/tjjEsYWmsoyIWXgJeAl4CXgJeAl4CXgJeAl4CXgJeAF/AS8BLwEvAS8BLwEvAS8BLwEvAS8BLwAl4CXgJeAl4CXvqnPgAAAP//AwCEcoCBRabYzAAAAABJRU5ErkJggg==) no-repeat 50% 50%}.iziModal-navigate-next{right:50%;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALwAAAC8CAYAAADCScSrAAAACXBIWXMAAB3SAAAd0gEUasEwAAA7pGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzIgNzkuMTU5Mjg0LCAyMDE2LzA0LzE5LTEzOjEzOjQwICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNS41IChXaW5kb3dzKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAxNi0wOC0wMVQwOTo0MDoxNC0wMzowMDwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE2LTA4LTAxVDExOjU4OjEyLTAzOjAwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNi0wOC0wMVQxMTo1ODoxMi0wMzowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDphZjljN2Q2MC00MTg2LWE3NGQtYTBiMS1mMGU5ODUwYzg2ZGY8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpEb2N1bWVudElEPnhtcC5kaWQ6NjQ5MmM3MTMtOWQzNC02ZTRkLWJlMDYtYTAzMmNkODQ1YzRlPC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6NjQ5MmM3MTMtOWQzNC02ZTRkLWJlMDYtYTAzMmNkODQ1YzRlPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjY0OTJjNzEzLTlkMzQtNmU0ZC1iZTA2LWEwMzJjZDg0NWM0ZTwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNi0wOC0wMVQwOTo0MDoxNC0wMzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjAxNjJjMmE3LWZmMjYtYzE0ZC05Yjg4LTc2MGM2NzAxYjYzNzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNi0wOC0wMVQxMTo1MTowNy0wMzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmFmOWM3ZDYwLTQxODYtYTc0ZC1hMGIxLWYwZTk4NTBjODZkZjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNi0wOC0wMVQxMTo1ODoxMi0wMzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUuNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+MTkzOTAzNi8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+MTkzOTAzNi8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MTg4PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjE4ODwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+nbt1mgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACQklEQVR42uzSsQ3CQAAEQTdiOyGg/wrciJ0QUMYSECEKAP3PSdvAaZZqkWbJCQJeAl4CXgJeAl4CXgJeAl4CXgJeAl4CXsBLwEvAS8BLwEvAS8BLwEvAS8BLwEvAC3gJeAl4CXgJ+D9vrY7qBgLwo7dVZ+89oAd+5Pbq6nPQAz9s9+rZ96AHHnoBD72Ah17AQy/goRfw0At46AU89AIeegEPvYCHHnhBD7ygBx566IGHHnrgoRfw0At46AU89AIeegEPvYCHXsBDL+ChB17QAy/ogRf0wAt64KGHHnjooQceegEPvYCHXsBDL+ChF/DQAy/ogRf0wAt64AU98IIeeEEPvKAHXtADDz30wEPvI+ChF/DQAy/ogRf0wAt64AU98IIeeEEPvKAHXtADL+iBF/TAC3rgoZ8ePRDAAy/YgRfswAt24AU78IIdeMEOvGAHXrADL9iBhx124GEX8LADL9iBF+zAC3bgBTvwgh14wQ68YAcedtiBh13Awy7gYRfwsAMv2IEX7MALduAFO/CCHXjYYQcedgEPu4CHXcDDLuBhF/CwA+8E2IEX7MALduAFO/Cwww487AIedgEPu4CHXcDDLuBhF/CwC3jYgRfswMMOO/CwC3jYBTzsAh52AQ+7gIddwMMu4GEX8LBravB7dcEO/Ext1Qk78DO1VgfswEvAS8BLwEvAS8BLwEvAS8BLwEvAS8ALeAl4CXgJeAl4CXgJeAl4CXgJeAl4CXgBLwEvAS8BLwEvAS/9shcAAAD//wMAtAygvJrkwJUAAAAASUVORK5CYII=) no-repeat 50% 50%}.iziModal.isAttachedTop .iziModal-header{border-top-left-radius:0;border-top-right-radius:0}.iziModal.isAttachedTop{margin-top:0!important;margin-bottom:auto!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.iziModal.isAttachedBottom{margin-top:auto!important;margin-bottom:0!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.iziModal.isFullscreen{max-width:100%!important;margin:0!important;height:100%!important;border-radius:0!important}.iziModal.isAttached{border-radius:0!important}.iziModal.hasScroll .iziModal-wrap{overflow-y:auto;overflow-x:hidden}html.iziModal-isOverflow{overflow:hidden}html.iziModal-isAttached body,html.iziModal-isOverflow body{overflow-y:scroll;position:relative}html.iziModal-isAttached{overflow:hidden}.iziModal ::-webkit-scrollbar{overflow:visible;height:7px;width:7px}.iziModal ::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.2);background-clip:padding-box;border:solid transparent;border-width:0;min-height:28px;padding:100px 0 0;box-shadow:inset 1px 1px 0 rgba(0,0,0,.1),inset 0 -1px 0 rgba(0,0,0,.07)}.iziModal ::-webkit-scrollbar-thumb:active{background-color:rgba(0,0,0,.4)}.iziModal ::-webkit-scrollbar-button{height:0;width:0}.iziModal ::-webkit-scrollbar-track{background-clip:padding-box;border:solid transparent;border-width:0 0 0 2px}.iziModal.transitionIn .iziModal-header{-webkit-animation:iziM-slideDown .7s cubic-bezier(.7,0,.3,1);-moz-animation:iziM-slideDown .7s cubic-bezier(.7,0,.3,1);animation:iziM-slideDown .7s cubic-bezier(.7,0,.3,1)}.iziModal.transitionIn .iziModal-header .iziModal-header-icon{-webkit-animation:iziM-revealIn 1s cubic-bezier(.16,.81,.32,1) both;-moz-animation:iziM-revealIn 1s cubic-bezier(.16,.81,.32,1) both;animation:iziM-revealIn 1s cubic-bezier(.16,.81,.32,1) both}.iziModal.transitionIn .iziModal-header .iziModal-header-subtitle,.iziModal.transitionIn .iziModal-header .iziModal-header-title{-webkit-animation:iziM-slideIn 1s cubic-bezier(.16,.81,.32,1) both;-moz-animation:iziM-slideIn 1s cubic-bezier(.16,.81,.32,1) both;animation:iziM-slideIn 1s cubic-bezier(.16,.81,.32,1) both}.iziModal.transitionIn .iziModal-header .iziModal-button{-webkit-animation:iziM-revealIn 1.2s cubic-bezier(.7,0,.3,1);-moz-animation:iziM-revealIn 1.2s cubic-bezier(.7,0,.3,1);animation:iziM-revealIn 1.2s cubic-bezier(.7,0,.3,1)}.iziModal.transitionIn .iziModal-iframe,.iziModal.transitionIn .iziModal-wrap{-webkit-animation:iziM-fadeIn 1.3s;-moz-animation:iziM-fadeIn 1.3s;animation:iziM-fadeIn 1.3s}.iziModal.transitionIn .iziModal-header{-webkit-animation-delay:0ms;-moz-animation:0ms;animation-delay:0ms}.iziModal.transitionIn .iziModal-header .iziModal-header-icon,.iziModal.transitionIn .iziModal-header .iziModal-header-title{-webkit-animation-delay:.4s;-moz-animation:.4s;animation-delay:.4s}.iziModal.transitionIn .iziModal-header .iziModal-header-subtitle{-webkit-animation-delay:.5s;-moz-animation:.5s;animation-delay:.5s}.iziModal.transitionOut .iziModal-header,.iziModal.transitionOut .iziModal-header *{transition:none!important}.iziModal .fadeOut,.iziModal-navigate.fadeOut,.iziModal-overlay.fadeOut,.iziModal.fadeOut{-webkit-animation:iziM-fadeOut .5s;-moz-animation:iziM-fadeOut .5s;animation:iziM-fadeOut .5s;animation-fill-mode:forwards}.iziModal .fadeIn,.iziModal-navigate.fadeIn,.iziModal-overlay.fadeIn,.iziModal.fadeIn{-webkit-animation:iziM-fadeIn .5s;-moz-animation:iziM-fadeIn .5s;animation:iziM-fadeIn .5s}.iziModal-overlay.comingIn,.iziModal.comingIn{-webkit-animation:iziM-comingIn .5s ease;-moz-animation:iziM-comingIn .5s ease;animation:iziM-comingIn .5s ease}.iziModal-overlay.comingOut,.iziModal.comingOut{-webkit-animation:iziM-comingOut .5s cubic-bezier(.16,.81,.32,1);-moz-animation:iziM-comingOut .5s cubic-bezier(.16,.81,.32,1);animation:iziM-comingOut .5s cubic-bezier(.16,.81,.32,1);animation-fill-mode:forwards}.iziModal-overlay.bounceInDown,.iziModal.bounceInDown{-webkit-animation:iziM-bounceInDown .7s ease;animation:iziM-bounceInDown .7s ease}.iziModal-overlay.bounceOutDown,.iziModal.bounceOutDown{-webkit-animation:iziM-bounceOutDown .7s ease;animation:iziM-bounceOutDown .7s ease}.iziModal-overlay.bounceInUp,.iziModal.bounceInUp{-webkit-animation:iziM-bounceInUp .7s ease;animation:iziM-bounceInUp .7s ease}.iziModal-overlay.bounceOutUp,.iziModal.bounceOutUp{-webkit-animation:iziM-bounceOutUp .7s ease;animation:iziM-bounceOutUp .7s ease}.iziModal-overlay.bounceInLeft,.iziModal.bounceInLeft{-webkit-animation:iziM-bounceInLeft .7s ease;animation:iziM-bounceInLeft .7s ease}.iziModal-overlay.bounceOutLeft,.iziModal.bounceOutLeft{-webkit-animation:iziM-bounceOutLeft .7s ease;animation:iziM-bounceOutLeft .7s ease}.iziModal-overlay.bounceInRight,.iziModal.bounceInRight{-webkit-animation:iziM-bounceInRight .7s ease;animation:iziM-bounceInRight .7s ease}.iziModal-overlay.bounceOutRight,.iziModal.bounceOutRight{-webkit-animation:iziM-bounceOutRight .7s ease;animation:iziM-bounceOutRight .7s ease}.iziModal-overlay.fadeInDown,.iziModal.fadeInDown{-webkit-animation:iziM-fadeInDown .7s cubic-bezier(.16,.81,.32,1);animation:iziM-fadeInDown .7s cubic-bezier(.16,.81,.32,1)}.iziModal-overlay.fadeOutDown,.iziModal.fadeOutDown{-webkit-animation:iziM-fadeOutDown .5s ease;animation:iziM-fadeOutDown .5s ease}.iziModal-overlay.fadeInUp,.iziModal.fadeInUp{-webkit-animation:iziM-fadeInUp .7s cubic-bezier(.16,.81,.32,1);animation:iziM-fadeInUp .7s cubic-bezier(.16,.81,.32,1)}.iziModal-overlay.fadeOutUp,.iziModal.fadeOutUp{-webkit-animation:iziM-fadeOutUp .5s ease;animation:iziM-fadeOutUp .5s ease}.iziModal-overlay.fadeInLeft,.iziModal.fadeInLeft{-webkit-animation:iziM-fadeInLeft .7s cubic-bezier(.16,.81,.32,1);animation:iziM-fadeInLeft .7s cubic-bezier(.16,.81,.32,1)}.iziModal-overlay.fadeOutLeft,.iziModal.fadeOutLeft{-webkit-animation:iziM-fadeOutLeft .5s ease;animation:iziM-fadeOutLeft .5s ease}.iziModal-overlay.fadeInRight,.iziModal.fadeInRight{-webkit-animation:iziM-fadeInRight .7s cubic-bezier(.16,.81,.32,1);animation:iziM-fadeInRight .7s cubic-bezier(.16,.81,.32,1)}.iziModal-overlay.fadeOutRight,.iziModal.fadeOutRight{-webkit-animation:iziM-fadeOutRight .5s ease;animation:iziM-fadeOutRight .5s ease}.iziModal-overlay.flipInX,.iziModal.flipInX{-webkit-animation:iziM-flipInX .7s ease;animation:iziM-flipInX .7s ease}.iziModal-overlay.flipOutX,.iziModal.flipOutX{-webkit-animation:iziM-flipOutX .7s ease;animation:iziM-flipOutX .7s ease}@-webkit-keyframes iziM-comingIn{0%{opacity:0;transform:scale(.9) translateY(-20px) perspective(600px) rotateX(10deg)}100%{opacity:1;transform:scale(1) translateY(0) perspective(600px) rotateX(0)}}@-moz-keyframes iziM-comingIn{0%{opacity:0;transform:scale(.9) translateY(-20px) perspective(600px) rotateX(10deg)}100%{opacity:1;transform:scale(1) translateY(0) perspective(600px) rotateX(0)}}@keyframes iziM-comingIn{0%{opacity:0;transform:scale(.9) translateY(-20px) perspective(600px) rotateX(10deg)}100%{opacity:1;transform:scale(1) translateY(0) perspective(600px) rotateX(0)}}@-webkit-keyframes iziM-comingOut{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.9)}}@-moz-keyframes iziM-comingOut{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.9)}}@keyframes iziM-comingOut{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.9)}}@-webkit-keyframes iziM-fadeOut{0%{opacity:1}100%{opacity:0}}@-moz-keyframes iziM-fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes iziM-fadeOut{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes iziM-fadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes iziM-fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes iziM-fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes iziM-slideIn{0%{opacity:0;-webkit-transform:translateX(50px)}100%{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes iziM-slideIn{0%{opacity:0;-moz-transform:translateX(50px)}100%{opacity:1;-moz-transform:translateX(0)}}@keyframes iziM-slideIn{0%{opacity:0;transform:translateX(50px)}100%{opacity:1;transform:translateX(0)}}@-webkit-keyframes iziM-slideDown{0%{opacity:0;-webkit-transform:scale(1,0) translateY(-40px);-webkit-transform-origin:center top}}@-moz-keyframes iziM-slideDown{0%{opacity:0;-moz-transform:scale(1,0) translateY(-40px);-moz-transform-origin:center top}}@keyframes iziM-slideDown{0%{opacity:0;transform:scale(1,0) translateY(-40px);transform-origin:center top}}@-webkit-keyframes iziM-revealIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,1)}}@-moz-keyframes iziM-revealIn{0%{opacity:0;-moz-transform:scale3d(.3,.3,1)}}@keyframes iziM-revealIn{0%{opacity:0;transform:scale3d(.3,.3,1)}}@-webkit-keyframes iziM-bounceInDown{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-1000px,0);transform:translate3d(0,-1000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}@keyframes iziM-bounceInDown{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-1000px,0);transform:translate3d(0,-1000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}@-webkit-keyframes iziM-bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,1000px,0);transform:translate3d(0,1000px,0)}}@keyframes iziM-bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,1000px,0);transform:translate3d(0,1000px,0)}}@-webkit-keyframes iziM-bounceInUp{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,1000px,0);transform:translate3d(0,1000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes iziM-bounceInUp{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(0,1000px,0);transform:translate3d(0,1000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes iziM-bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes iziM-bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-1000px,0);transform:translate3d(0,-1000px,0)}}@-webkit-keyframes iziM-bounceInLeft{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-1000px,0,0);transform:translate3d(-1000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes iziM-bounceInLeft{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-1000px,0,0);transform:translate3d(-1000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}@-webkit-keyframes iziM-bounceOutLeft{20%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}40%,45%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes iziM-bounceOutLeft{20%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}40%,45%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-1000px,0,0);transform:translate3d(-1000px,0,0)}}@-webkit-keyframes iziM-bounceInRight{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(1000px,0,0);transform:translate3d(1000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes iziM-bounceInRight{60%,75%,90%,from,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;-webkit-transform:translate3d(1000px,0,0);transform:translate3d(1000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes iziM-bounceOutRight{20%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}40%,45%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(1000px,0,0);transform:translate3d(1000px,0,0)}}@keyframes iziM-bounceOutRight{20%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}40%,45%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(1000px,0,0);transform:translate3d(1000px,0,0)}}@-webkit-keyframes iziM-fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100px,0);transform:translate3d(0,-100px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes iziM-fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100px,0);transform:translate3d(0,-100px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes iziM-fadeOutDown{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100px,0);transform:translate3d(0,100px,0)}}@keyframes iziM-fadeOutDown{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100px,0);transform:translate3d(0,100px,0)}}@-webkit-keyframes iziM-fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100px,0);transform:translate3d(0,100px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes iziM-fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100px,0);transform:translate3d(0,100px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes iziM-fadeOutUp{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100px,0);transform:translate3d(0,-100px,0)}}@keyframes iziM-fadeOutUp{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100px,0);transform:translate3d(0,-100px,0)}}@-webkit-keyframes iziM-fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-200px,0,0);transform:translate3d(-200px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes iziM-fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-200px,0,0);transform:translate3d(-200px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes iziM-fadeOutLeft{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-200px,0,0);transform:translate3d(-200px,0,0)}}@keyframes iziM-fadeOutLeft{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-200px,0,0);transform:translate3d(-200px,0,0)}}@-webkit-keyframes iziM-fadeInRight{from{opacity:0;-webkit-transform:translate3d(200px,0,0);transform:translate3d(200px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes iziM-fadeInRight{from{opacity:0;-webkit-transform:translate3d(200px,0,0);transform:translate3d(200px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes iziM-fadeOutRight{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(200px,0,0);transform:translate3d(200px,0,0)}}@keyframes iziM-fadeOutRight{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(200px,0,0);transform:translate3d(200px,0,0)}}@-webkit-keyframes iziM-flipInX{0%{-webkit-transform:perspective(400px) rotateX(60deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-10deg)}70%{-webkit-transform:perspective(400px) rotateX(10deg)}100%{-webkit-transform:perspective(400px) rotateX(0);opacity:1}}@keyframes iziM-flipInX{0%{transform:perspective(400px) rotateX(60deg);opacity:0}40%{transform:perspective(400px) rotateX(-10deg)}70%{transform:perspective(400px) rotateX(10deg)}100%{transform:perspective(400px) rotateX(0);opacity:1}}@-webkit-keyframes iziM-flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,40deg);transform:perspective(400px) rotate3d(1,0,0,40deg);opacity:0}}@keyframes iziM-flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,40deg);transform:perspective(400px) rotate3d(1,0,0,40deg);opacity:0}} \ No newline at end of file diff --git a/src/Core.php b/src/Core.php index e2c92b8d..4368c2ca 100644 --- a/src/Core.php +++ b/src/Core.php @@ -133,9 +133,9 @@ public static function enqueue_scripts($type, $deps = array(), $localize_args = if ($type == 'admin') { wp_enqueue_script( 'izimodal', - self::plugins_url("assets/javascripts/admin/vendor/izimodal.js"), + self::plugins_url("assets/javascripts/admin/vendor/iziModal.min.js"), array_merge(['jquery'], $deps), - self::filemtime("assets/javascripts/admin/vendor/izimodal.js"), + '1.6.1', false ); } @@ -158,6 +158,14 @@ public static function enqueue_scripts($type, $deps = array(), $localize_args = public static function enqueue_styles($type) { + if ($type == 'admin') { + wp_enqueue_style( + 'izimodal', + self::plugins_url("assets/stylesheets/vendor/iziModal.min.css"), + array(), + '1.6.1' + ); + } wp_enqueue_style( 'sweetalert2', self::plugins_url("assets/stylesheets/vendor/sweetalert2.min.css"), diff --git a/templates/adminhtml/sales/order/meta-box/charge-actions.phtml b/templates/adminhtml/sales/order/meta-box/charge-actions.phtml index a6f6d712..dc36dd25 100644 --- a/templates/adminhtml/sales/order/meta-box/charge-actions.phtml +++ b/templates/adminhtml/sales/order/meta-box/charge-actions.phtml @@ -50,7 +50,7 @@ if (!function_exists('add_action')) { getStatus()->getStatus()), 'woo-pagarme-payments')) ?> - + getTransaction($charge)->getTransactionType()->getType() == 'credit_card') : ?> diff --git a/templates/adminhtml/sales/order/meta-box/modal.phtml b/templates/adminhtml/sales/order/meta-box/modal.phtml index 3661cc6a..b3dea1fa 100644 --- a/templates/adminhtml/sales/order/meta-box/modal.phtml +++ b/templates/adminhtml/sales/order/meta-box/modal.phtml @@ -36,7 +36,7 @@ if (!function_exists('add_action')) {

    - +

    diff --git a/templates/order/charge.phtml b/templates/order/charge.phtml index c0da8dae..9b7dbb5d 100644 --- a/templates/order/charge.phtml +++ b/templates/order/charge.phtml @@ -20,7 +20,7 @@ if (!function_exists('add_action')) { - + diff --git a/templates/order/transaction/billet.phtml b/templates/order/transaction/billet.phtml index 055c43cf..dd50d3a4 100644 --- a/templates/order/transaction/billet.phtml +++ b/templates/order/transaction/billet.phtml @@ -29,7 +29,7 @@ if (!function_exists('add_action')) {

    diff --git a/templates/order/transaction/pix.phtml b/templates/order/transaction/pix.phtml index 9dae484c..100af248 100644 --- a/templates/order/transaction/pix.phtml +++ b/templates/order/transaction/pix.phtml @@ -24,7 +24,7 @@ if (!function_exists('add_action')) {

    getInstructions() as $instruction) : ?> From 2dfdbf837e2b27f645ba1b9af73b250279bf59d2 Mon Sep 17 00:00:00 2001 From: RafaMelazzo Date: Mon, 29 May 2023 18:16:33 -0300 Subject: [PATCH 148/156] Fix code smell --- .../sales/order/meta-box/modal.phtml | 37 +++++++++++++++---- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/templates/adminhtml/sales/order/meta-box/modal.phtml b/templates/adminhtml/sales/order/meta-box/modal.phtml index b3dea1fa..c74ba9bd 100644 --- a/templates/adminhtml/sales/order/meta-box/modal.phtml +++ b/templates/adminhtml/sales/order/meta-box/modal.phtml @@ -23,21 +23,42 @@ if (!function_exists('add_action')) { data-charge="getCharge()->getPagarmeId()->getValue() ?>" class="modal">

    -

    -

    : getCharge()->getPagarmeId()->getValue() ?>

    -

    : getTransaction($this->getCharge())->getTransactionType()->getType() ?>

    -

    : getAmount() ?>

    -

    getPartiallyType(), 'woo-pagarme-payments')) ?>: getPartiallyAmount()?>

    -

    : getCharge()->getStatus()->getStatus()), 'woo-pagarme-payments')) ?>

    +

    + : + getCharge()->getPagarmeId()->getValue() ?> +

    +

    + : + getTransaction($this->getCharge())->getTransactionType()->getType() ?> +

    +

    + : + getAmount() ?> +

    +

    + getPartiallyType(), 'woo-pagarme-payments')) ?>: + getPartiallyAmount()?> +

    +

    + : + getCharge()->getStatus()->getStatus()), 'woo-pagarme-payments')) ?> +

    - - + +

    From 2e02529767e8ed1f989ef677c82fb478d9de0320 Mon Sep 17 00:00:00 2001 From: mauriciohaygert Date: Tue, 30 May 2023 12:19:58 -0300 Subject: [PATCH 149/156] Bugfix - IsInstallmentsDefaultConfig --- src/Controller/Gateways/AbstractGateway.php | 1 - src/Controller/Gateways/CreditCard.php | 2 +- src/Model/Config.php | 9 +- .../system/config/page/settings.phtml | 174 +++++++++--------- .../checkout/form/card/installments.phtml | 2 +- 5 files changed, 94 insertions(+), 94 deletions(-) diff --git a/src/Controller/Gateways/AbstractGateway.php b/src/Controller/Gateways/AbstractGateway.php index 41e00853..1b947c09 100644 --- a/src/Controller/Gateways/AbstractGateway.php +++ b/src/Controller/Gateways/AbstractGateway.php @@ -137,7 +137,6 @@ public function jsUrl($jsFileName) public function process_payment($orderId): array { $wooOrder = $this->wooOrderRepository->getById($orderId); -// $this->postFormatter->format($orderId); $this->postFormatter->assemblePaymentRequest(); $this->checkout->process($wooOrder); return [ diff --git a/src/Controller/Gateways/CreditCard.php b/src/Controller/Gateways/CreditCard.php index a00fba49..0c5ac1cc 100644 --- a/src/Controller/Gateways/CreditCard.php +++ b/src/Controller/Gateways/CreditCard.php @@ -47,6 +47,7 @@ public function append_form_fields() 'cc_installments_interest_increase' => $this->field_cc_installment_fields('interest_increase'), 'cc_installments_without_interest' => $this->field_cc_installment_fields('without_interest'), 'cc_installments_by_flag' => $this->field_cc_installment_fields('flags'), + 'cc_allow_save' => $this->field_cc_allow_save(), ]; } @@ -56,7 +57,6 @@ public function append_form_fields() protected function gateway_form_fields() { return [ - 'cc_allow_save' => $this->field_cc_allow_save(), 'section_antifraud' => $this->section_antifraud(), 'antifraud_enabled' => $this->antifraud_enabled(), 'antifraud_min_value' => $this->antifraud_min_value(), diff --git a/src/Model/Config.php b/src/Model/Config.php index e23bb209..ad25a1f4 100644 --- a/src/Model/Config.php +++ b/src/Model/Config.php @@ -245,7 +245,7 @@ public function getCcAllowSave() public function getVoucherCardWallet() { - return $this->getData('enable_logs') === 'yes'; + return $this->getData('voucher_card_wallet') === 'yes'; } public function getEnableLogs() @@ -258,7 +258,12 @@ public function getIsGatewayIntegrationType() return $this->getData('is_gateway_integration_type') === 'yes'; } - public function getAntifraudEnabled() + public function getIsInstallmentsDefaultConfig() + { + return $this->getData('cc_installment_type') === '1'; + } + + public function getAntifraudEnabled() { return $this->getData('antifraud_enabled') === 'yes'; } diff --git a/templates/adminhtml/system/config/page/settings.phtml b/templates/adminhtml/system/config/page/settings.phtml index b50e07d6..820b9882 100644 --- a/templates/adminhtml/system/config/page/settings.phtml +++ b/templates/adminhtml/system/config/page/settings.phtml @@ -27,99 +27,95 @@ if (!defined('ABSPATH')) { ?> -
    - - + + echo ''; + } + + echo ''; + } + ?> + +
    getTransactionType($transaction), 'woo-pagarme-payments'); ?>getTransactionType($transaction), 'woo-pagarme-payments'); ?>
    - - - - __('Method', 'woocommerce'), - 'status' => __('Enabled', 'woocommerce'), - 'description' => __('Description', 'woocommerce'), - 'action' => '', - ); - - $columns = apply_filters('woocommerce_payment_gateways_setting_columns', $default_columns); - - foreach ($columns as $key => $column) { - echo ''; - } - ?> - - - - paymentGateways as $gateway) { - - echo ''; - - foreach ($columns as $key => $column) { - if (!array_key_exists($key, $default_columns)) { - do_action('woocommerce_payment_gateways_setting_column_' . $key, $gateway); - continue; - } +
    ' . esc_html($column) . '
    + + + __('Method', 'woocommerce'), + 'status' => __('Enabled', 'woocommerce'), + 'description' => __('Description', 'woocommerce'), + 'action' => '', + ); + + $columns = apply_filters('woocommerce_payment_gateways_setting_columns', $default_columns); + + foreach ($columns as $key => $column) { + echo ''; + } + ?> + + + + paymentGateways as $gateway) { - $width = ''; + echo ''; - if (in_array($key, array('sort', 'status', 'action'), true)) { - $width = '1%'; - } + foreach ($columns as $key => $column) { + if (!array_key_exists($key, $default_columns)) { + do_action('woocommerce_payment_gateways_setting_column_' . $key, $gateway); + continue; + } - $method_title = $gateway->get_method_title() ? $gateway->get_method_title() : $gateway->get_title(); - $custom_title = $gateway->get_title(); - - echo ''; - } + echo ''; + switch ($key) { + case 'name': + echo '' . wp_kses_post($method_title) . ''; + + if ($method_title !== $custom_title) { + echo ' – ' . wp_kses_post($custom_title) . ''; + } + break; + case 'description': + echo wp_kses_post($gateway->get_method_description()); + break; + case 'action': + if (wc_string_to_bool($gateway->enabled)) { + /* Translators: %s Payment gateway name. */ + echo '' . esc_html__('Manage', 'woocommerce') . ''; + } else { + if ( + 'WooCommerce Payments' === $method_title && + class_exists('WC_Payments_Account') + ) { + $setup_url = WC_Payments_Account::get_connect_url(); + } else { + $setup_url = admin_url('admin.php?page=wc-settings&tab=checkout§ion=' . strtolower($gateway->id)); + } + /* Translators: %s Payment gateway name. */ + echo '' . esc_html__('Finish set up', 'woocommerce') . ''; + } + break; + case 'status': + echo ''; + if (wc_string_to_bool($gateway->enabled)) { + /* Translators: %s Payment gateway name. */ + echo '' . esc_attr__('Yes', 'woocommerce') . ''; + } else { + /* Translators: %s Payment gateway name. */ + echo '' . esc_attr__('No', 'woocommerce') . ''; + } + echo ''; + break; } - ?> - -
    ' . esc_html($column) . '
    '; - - switch ($key) { - case 'name': - echo '' . wp_kses_post($method_title) . ''; - - if ($method_title !== $custom_title) { - echo ' – ' . wp_kses_post($custom_title) . ''; - } - break; - case 'description': - echo wp_kses_post($gateway->get_method_description()); - break; - case 'action': - if (wc_string_to_bool($gateway->enabled)) { - /* Translators: %s Payment gateway name. */ - echo '' . esc_html__('Manage', 'woocommerce') . ''; - } else { - if ( - 'WooCommerce Payments' === $method_title && - class_exists('WC_Payments_Account') - ) { - $setup_url = WC_Payments_Account::get_connect_url(); - } else { - $setup_url = admin_url('admin.php?page=wc-settings&tab=checkout§ion=' . strtolower($gateway->id)); - } - /* Translators: %s Payment gateway name. */ - echo '' . esc_html__('Finish set up', 'woocommerce') . ''; - } - break; - case 'status': - echo ''; - if (wc_string_to_bool($gateway->enabled)) { - /* Translators: %s Payment gateway name. */ - echo '' . esc_attr__('Yes', 'woocommerce') . ''; - } else { - /* Translators: %s Payment gateway name. */ - echo '' . esc_attr__('No', 'woocommerce') . ''; - } - echo ''; - break; - } + $width = ''; + + if (in_array($key, array('sort', 'status', 'action'), true)) { + $width = '1%'; + } + + $method_title = $gateway->get_method_title() ? $gateway->get_method_title() : $gateway->get_title(); + $custom_title = $gateway->get_title(); - echo ''; - echo '
    -
    diff --git a/templates/checkout/form/card/installments.phtml b/templates/checkout/form/card/installments.phtml index bf113f7b..fc33af37 100644 --- a/templates/checkout/form/card/installments.phtml +++ b/templates/checkout/form/card/installments.phtml @@ -19,7 +19,7 @@ if (!function_exists('add_action')) { * +

    createBlock( '\Woocommerce\Pagarme\Block\Checkout\Field\Wallet', From e1e61a36270696a029f3cea08e81ee73c278c259 Mon Sep 17 00:00:00 2001 From: mauriciohaygert Date: Tue, 30 May 2023 18:15:21 -0300 Subject: [PATCH 151/156] Removendo arquivos JS obsoletos --- assets/javascripts/admin/app/application.js | 45 - .../admin/app/component-capture.js | 137 - .../admin/app/component-settings.js | 487 -- assets/javascripts/admin/built.js | 4557 ----------------- assets/javascripts/admin/libs/index.php | 2 - .../admin/{app => sales/order/view}/index.php | 0 assets/javascripts/admin/templates/index.php | 2 - assets/javascripts/front/app/application.js | 11 - .../javascripts/front/app/checkout-errors.js | 54 - .../app/component-checkout-transparent.js | 394 -- .../front/app/component-installments.js | 96 - .../front/app/component-pagarme-checkout.js | 398 -- assets/javascripts/front/app/index.php | 2 - .../front/checkout/model/payment/card.js | 6 +- .../checkout/model/payment/card/tokenize.js | 8 +- .../checkout/model/payment/order-value.js | 6 +- .../front/checkout/model/payment/pix.js | 6 +- assets/javascripts/libs/index.php | 2 - assets/javascripts/libs/monster.js | 266 - assets/javascripts/vendor/build-components.js | 50 - assets/javascripts/vendor/build-create.js | 24 - assets/javascripts/vendor/jquery.utils.js | 7 - 22 files changed, 5 insertions(+), 6555 deletions(-) delete mode 100644 assets/javascripts/admin/app/application.js delete mode 100644 assets/javascripts/admin/app/component-capture.js delete mode 100644 assets/javascripts/admin/app/component-settings.js delete mode 100644 assets/javascripts/admin/built.js delete mode 100644 assets/javascripts/admin/libs/index.php rename assets/javascripts/admin/{app => sales/order/view}/index.php (100%) delete mode 100644 assets/javascripts/admin/templates/index.php delete mode 100644 assets/javascripts/front/app/application.js delete mode 100644 assets/javascripts/front/app/checkout-errors.js delete mode 100644 assets/javascripts/front/app/component-checkout-transparent.js delete mode 100644 assets/javascripts/front/app/component-installments.js delete mode 100644 assets/javascripts/front/app/component-pagarme-checkout.js delete mode 100644 assets/javascripts/front/app/index.php delete mode 100644 assets/javascripts/libs/index.php delete mode 100644 assets/javascripts/libs/monster.js delete mode 100644 assets/javascripts/vendor/build-components.js delete mode 100644 assets/javascripts/vendor/build-create.js delete mode 100644 assets/javascripts/vendor/jquery.utils.js diff --git a/assets/javascripts/admin/app/application.js b/assets/javascripts/admin/app/application.js deleted file mode 100644 index 8f5019c6..00000000 --- a/assets/javascripts/admin/app/application.js +++ /dev/null @@ -1,45 +0,0 @@ -MONSTER( 'Pagarme.Application', function(Model, $, utils) { - - var createNames = [ - // Name for instance method create() if not component - ]; - - Model.init = function(container) { - Model.setArrayIncludesPolyfill(); - Pagarme.BuildComponents.create( container ); - Pagarme.BuildCreate.init( container, createNames ); - }; - - Model.setArrayIncludesPolyfill = function() { - if ( ! Array.prototype.includes ) { - Object.defineProperty( Array.prototype, 'includes', { - value: function(searchElement, fromIndex) { - - if ( this == null ) { - throw new TypeError('"this" is null or not defined'); - } - - var o = Object(this); - var len = o.length >>> 0; - - if ( len === 0 ) { - return false; - } - - var n = fromIndex | 0; - var k = Math.max(n >= 0 ? n : len - Math.abs(n), 0); - - while ( k < len ) { - if (o[k] === searchElement) { - return true; - } - k++; - } - - return false; - } - }); - } - }; - -}); diff --git a/assets/javascripts/admin/app/component-capture.js b/assets/javascripts/admin/app/component-capture.js deleted file mode 100644 index 7fc44fb5..00000000 --- a/assets/javascripts/admin/app/component-capture.js +++ /dev/null @@ -1,137 +0,0 @@ -MONSTER( 'Pagarme.Components.Capture', function(Model, $, Utils) { - - Model.fn.start = function() { - this.init(); - this.lock = false; - }; - - Model.fn.init = function() { - this.addEventListener(); - this.startModal(); - }; - - Model.fn.addEventListener = function() { - this.$el.find( '[data-ref]:enabled' ).on( 'click', function(e){ - e.preventDefault(); - var target = e.currentTarget; - var selector = '[data-charge-action=' + target.dataset.ref + '-' + target.dataset.type + ']'; - $( selector ).iziModal( 'open' ); - }); - }; - - Model.fn.onClickCancel = function(e) { - e.preventDefault(); - this.handleEvents( e, 'cancel' ); - }; - - Model.fn.onClickCapture = function(e) { - e.preventDefault(); - this.handleEvents( e, 'capture' ); - }; - - Model.fn.handleEvents = function(DOMEvent, type) { - var target = $( DOMEvent.currentTarget ); - var wrapper = target.closest( '[data-charge]' ); - var chargeId = wrapper.data( 'charge' ); - var amount = wrapper.find( '[data-element=amount]' ).val(); - - this.request( type, chargeId, amount); - }; - - Model.fn.request = function(mode, chargeId, amount) { - if ( this.lock ) { - return; - } - this.lock = true; - this.requestInProgress(); - var ajax = $.ajax({ - 'url': MONSTER.utils.getAjaxUrl(), - 'method': 'POST', - 'data': { - 'action': 'STW3dqRT6E', - 'mode': mode, - 'charge_id': chargeId, - 'amount': amount - } - }); - - ajax.done( this._onDone.bind(this) ); - ajax.fail( this._onFail.bind(this) ); - }; - - Model.fn.startModal = function() { - var self = this; - $( '.modal' ).iziModal({ - padding: 20, - onOpening: function (modal) { - var amount = modal.$element.find( '[data-element=amount]' ); - const options = { - reverse:true, - onKeyPress: function(amountValue, event, field){ - if (!event.originalEvent){ - return; - } - - amountValue = amountValue.replace(/^0+/, '') - if (amountValue[0] === ','){ - amountValue = '0' + amountValue; - } - - if (amountValue && amountValue.length <= 2){ - amountValue = ('000'+amountValue).slice(-3); - field.val(amountValue); - field.trigger('input'); - return; - } - - field.val(amountValue); - } - }; - amount.mask( "#.##0,00", options ); - modal.$element.on( 'click', '[data-action=capture]', self.onClickCapture.bind(self) ); - modal.$element.on( 'click', '[data-action=cancel]', self.onClickCancel.bind(self) ); - } - }); - }; - - Model.fn.requestInProgress = function () { - swal({ - title: ' ', - text: 'Processando...', - allowOutsideClick: false - }); - swal.showLoading(); - }; - - Model.fn._onDone = function(response) { - this.lock = false; - $( '.modal' ).iziModal('close'); - swal.close(); - swal({ - type: 'success', - title: ' ', - html: response.data.message, - showConfirmButton: false, - timer: 2000 - }).then( - function () { }, - function (dismiss) { - window.location.reload(); - } - ); - }; - - Model.fn._onFail = function(xhr) { - this.lock = false; - swal.close(); - var data = JSON.parse(xhr.responseText); - swal({ - type: 'error', - title: ' ', - html: data.message, - showConfirmButton: false, - timer: 2000 - }); - }; - -}); diff --git a/assets/javascripts/admin/app/component-settings.js b/assets/javascripts/admin/app/component-settings.js deleted file mode 100644 index 84a9888b..00000000 --- a/assets/javascripts/admin/app/component-settings.js +++ /dev/null @@ -1,487 +0,0 @@ -MONSTER("Pagarme.Components.Settings", function (Model, $, Utils) { - var errorClass = Utils.addPrefix("field-error"); - - Model.fn.start = function () { - this.init(); - }; - - Model.fn.init = function () { - this.installments = $('[data-field="installments"]'); - this.billet = $('[data-field="billet"]'); - this.installmentsMax = $('[data-field="installments-maximum"]'); - this.installmentsMinAmount = $('[data-field="installments-min-amount"]'); - this.installmentsInterest = $('[data-field="installments-interest"]'); - this.installmentsByFlag = $('[data-field="installments-by-flag"]'); - this.installmentsWithoutInterest = $( - '[data-field="installments-without-interest"]' - ); - this.installmentsInterestIncrease = $( - '[data-field="installments-interest-increase"]' - ); - this.antifraudSection = $( - 'h3[id*="woo-pagarme-payments_section_antifraud"]' - ); - this.antifraudEnabled = $('[data-field="antifraud-enabled"]'); - this.antifraudMinValue = $('[data-field="antifraud-min-value"]'); - this.ccBrands = $('[data-field="flags-select"]'); - this.ccAllowSave = $('[data-field="cc-allow-save"]'); - this.billetBank = $('[data-field="billet-bank"]'); - this.softDescriptor = $('[data-field="soft-descriptor"]'); - this.voucherSection = $( - 'h3[id*="woo-pagarme-payments_section_voucher"]' - ); - - this.voucherEnabled = $('#woocommerce_woo-pagarme-payments_enable_voucher'); - this.voucherSoftDescriptor = $( - '[data-field="voucher-soft-descriptor"]' - ); - this.VoucherccBrands = $('[data-field="voucher-flags-select"]'); - this.cardWallet = $('[data-field="card-wallet"]'); - this.voucherCardWallet = $('[data-field="voucher-card-wallet"]'); - - this.isGatewayIntegrationType = $( - 'input[id*="woo-pagarme-payments_is_gateway_integration_type"]' - ).prop("checked"); - this.installmentsMaxByFlag = this.installmentsByFlag.find( - 'input[name*="cc_installments_by_flag[max_installment]"]' - ); - this.installmentsWithoutInterestByFlag = this.installmentsByFlag.find( - 'input[name*="cc_installments_by_flag[no_interest]"]' - ); - - this.handleInstallmentFieldsVisibility( - this.elements.installmentsTypeSelect.val() - ); - this.handleGatewayIntegrationFieldsVisibility( - this.isGatewayIntegrationType - ); - this.handleBilletBankRequirement(); - - this.setMaxInstallmentsWithoutInterestBasedOnMaxInstallments(); - this.setMaxInstallmentsWithoutInterestBasedOnMaxInstallmentsByFlag(); - - this.setInstallmentsByFlags(null, true); - - this.addEventListener(); - }; - - Model.fn.addEventListener = function () { - this.on("keyup", "soft-descriptor"); - this.on("change", "environment"); - this.on("change", "installments-type"); - this.on("change", "is-gateway-integration-type"); - this.on("change", "enable-billet"); - this.on("change", "enable-multimethods-billet-card"); - - this.elements.flagsSelect.on( - "select2:unselecting", - this._onChangeFlags.bind(this) - ); - this.elements.flagsSelect.on( - "select2:selecting", - this._onChangeFlags.bind(this) - ); - - $("#mainform").on("submit", this._onSubmitForm.bind(this)); - }; - - Model.fn._onKeyupSoftDescriptor = function (event) { - var isGatewayIntegrationType = $( - 'input[id*="woo-pagarme-payments_is_gateway_integration_type"]' - ).prop("checked"); - - if (!isGatewayIntegrationType && - event.currentTarget.value.length > 13 - ) { - $(event.currentTarget).addClass(errorClass); - return; - } - - if (isGatewayIntegrationType && event.currentTarget.value.length > 22) { - $(event.currentTarget).addClass(errorClass); - return; - } - - $(event.currentTarget).removeClass(errorClass); - }; - - Model.fn._onSubmitForm = function (event) { - this.toTop = false; - this.items = []; - - this.elements.validate.each(this._eachValidate.bind(this)); - - return !~this.items.indexOf(true); - }; - - Model.fn._onChangeInstallmentsType = function (event) { - this.handleInstallmentFieldsVisibility(event.currentTarget.value); - }; - - Model.fn._onChangeIsGatewayIntegrationType = function (event) { - this.handleGatewayIntegrationFieldsVisibility( - event.currentTarget.checked - ); - }; - - Model.fn._onChangeEnableBillet = function () { - this.handleBilletBankRequirement(); - }; - - Model.fn._onChangeEnableMultimethodsBilletCard = function () { - this.handleBilletBankRequirement(); - }; - - Model.fn._onChangeFlags = function (event) { - this.setInstallmentsByFlags(event, false); - }; - - Model.fn._eachValidate = function (index, field) { - var rect; - var element = $(field), - empty = element.isEmptyValue(), - invalidMaxLength = element.val().length > element.prop("maxLength"), - isFieldInvalid = empty || invalidMaxLength, - func = isFieldInvalid ? "addClass" : "removeClass"; - - if (!element.is(":visible")) { - return; - } - - element[func](errorClass); - - this.items[index] = isFieldInvalid; - - if (!isFieldInvalid) { - return; - } - - field.placeholder = field.dataset.errorMsg; - - if (!this.toTop) { - this.toTop = true; - rect = field.getBoundingClientRect(); - window.scrollTo(0, rect.top + window.scrollY - 32); - } - }; - - Model.fn.handleInstallmentFieldsVisibility = function (value) { - var installmentsMaxContainer = this.installmentsMax.closest("tr"), - installmentsInterestContainer = - this.installmentsInterest.closest("tr"), - installmentsMinAmountContainer = - this.installmentsMinAmount.closest("tr"), - installmentsByFlagContainer = this.installmentsByFlag.closest("tr"), - installmentsWithoutInterestContainer = - this.installmentsWithoutInterest.closest("tr"), - installmentsInterestIncreaseContainer = - this.installmentsInterestIncrease.closest("tr"); - - if (value == 1) { - installmentsMaxContainer.show(); - installmentsInterestContainer.show(); - installmentsInterestIncreaseContainer.show(); - installmentsWithoutInterestContainer.show(); - installmentsMinAmountContainer.show(); - installmentsByFlagContainer.hide(); - } else { - if (this.elements.flagsSelect.val()) { - installmentsByFlagContainer.show(); - this.setInstallmentsByFlags(null, true); - } - installmentsMaxContainer.hide(); - installmentsMinAmountContainer.hide(); - installmentsInterestContainer.hide(); - installmentsInterestIncreaseContainer.hide(); - installmentsWithoutInterestContainer.hide(); - } - }; - - Model.fn.getOnlyGatewayBrands = function () { - return ( - 'option[value="credz"], ' + - 'option[value="sodexoalimentacao"], ' + - 'option[value="sodexocultura"], ' + - 'option[value="sodexogift"], ' + - 'option[value="sodexopremium"], ' + - 'option[value="sodexorefeicao"], ' + - 'option[value="sodexocombustivel"], ' + - 'option[value="vr"], ' + - 'option[value="alelo"], ' + - 'option[value="banese"], ' + - 'option[value="cabal"]' - ); - }; - - Model.fn.getOnlyGatewayInstallments = function () { - var installments = ""; - var maxInstallmentsLength = - this.installmentsMax.children("option").length; - - for (let i = 13; i <= maxInstallmentsLength + 1; i++) { - installments += `option[value="${i}"], `; - } - - return installments.slice(0, -2); - }; - - Model.fn.setOriginalSelect = function (select) { - if (select.data("originalHTML") === undefined) { - select.data("originalHTML", select.html()); - } - }; - - Model.fn.removeOptions = function (select, options) { - this.setOriginalSelect(select); - options.remove(); - }; - - Model.fn.restoreOptions = function (select) { - var originalHTML = select.data("originalHTML"); - if (originalHTML !== undefined) { - select.html(originalHTML); - } - }; - - Model.fn.setMaxInstallmentsWithoutInterestBasedOnMaxInstallments = - function () { - var installmentsMaxElement = this.installmentsMax; - - installmentsMaxElement.on("change", function () { - setMaxInstallmentsWithoutInterest($(this).val()); - }); - - function setMaxInstallmentsWithoutInterest(installmentsMax) { - var installmentsWithoutInterest = $( - '[data-field="installments-without-interest"]' - ); - installmentsWithoutInterest.children("option").hide(); - installmentsWithoutInterest - .children("option") - .filter(function () { - return parseInt($(this).val()) <= installmentsMax; - }) - .show(); - installmentsWithoutInterest.val(installmentsMax).change(); - } - }; - - Model.fn.setMaxInstallmentsWithoutInterestBasedOnMaxInstallmentsByFlag = - function () { - var installmentsMaxElement = this.installmentsMaxByFlag; - - installmentsMaxElement.on("change", function () { - setMaxInstallmentsWithoutInterest( - $(this).val(), - $(this).closest("tr").attr("data-flag") - ); - }); - - function setMaxInstallmentsWithoutInterest( - installmentsMax, - brandName - ) { - var setMaxInstallmentsWithoutInterestOnFlag = $( - '[data-field="installments-by-flag"]' - ).find( - `input[name*="cc_installments_by_flag[no_interest][${brandName}]"]` - ); - setMaxInstallmentsWithoutInterestOnFlag.prop( - "max", - installmentsMax - ); - } - }; - - Model.fn.setupPSPOptions = function ( - antifraudEnabled, - antifraudMinValue, - ccAllowSave, - billetBank, - voucherSoftDescriptor, - VoucherccBrands, - cardWallet, - voucherEnabled, - voucherCardWallet - ) { - antifraudEnabled.hide(); - antifraudMinValue.hide(); - ccAllowSave.hide(); - billetBank.hide(); - this.antifraudSection.hide(); - this.voucherSection.hide(); - voucherSoftDescriptor.hide(); - VoucherccBrands.hide(); - cardWallet.hide(); - voucherEnabled.hide(); - voucherCardWallet.hide(); - - this.ccAllowSave.prop("checked", false); - var $optionsToRemove = this.ccBrands.find(this.getOnlyGatewayBrands()); - this.removeOptions(this.ccBrands, $optionsToRemove); - - $("#woo-pagarme-payments_max_length_span").html("13"); - this.softDescriptor.prop("maxlength", 13); - - var $optionsToRemoveInstallments = this.installmentsMax.find( - this.getOnlyGatewayInstallments() - ); - var $optionsToRemoveInstallmentsWithoutInterest = - this.installmentsWithoutInterest.find( - this.getOnlyGatewayInstallments() - ); - this.removeOptions(this.installmentsMax, $optionsToRemoveInstallments); - this.removeOptions( - this.installmentsWithoutInterest, - $optionsToRemoveInstallmentsWithoutInterest - ); - - this.installmentsMaxByFlag.prop("max", 12); - }; - - Model.fn.setupGatewayOptions = function ( - antifraudEnabled, - antifraudMinValue, - ccAllowSave, - billetBank, - voucherSoftDescriptor, - VoucherccBrands, - cardWallet, - voucherEnabled, - voucherCardWallet - ) { - antifraudEnabled.show(); - antifraudMinValue.show(); - ccAllowSave.show(); - billetBank.show(); - this.antifraudSection.show(); - this.voucherSection.show(); - voucherSoftDescriptor.show(); - VoucherccBrands.show(); - cardWallet.show(); - voucherEnabled.show(); - voucherCardWallet.show(); - - this.restoreOptions(this.ccBrands); - - $("#woo-pagarme-payments_max_length_span").html("22"); - this.softDescriptor.prop("maxlength", 22); - - this.restoreOptions(this.installmentsMax); - this.restoreOptions(this.installmentsWithoutInterest); - - this.installmentsMaxByFlag.prop("max", 24); - }; - - Model.fn.handleGatewayIntegrationFieldsVisibility = function (isGateway) { - var antifraudEnabled = this.antifraudEnabled.closest("tr"), - antifraudMinValue = this.antifraudMinValue.closest("tr"), - ccAllowSave = this.ccAllowSave.closest("tr"), - billetBank = this.billetBank.closest("tr"), - voucherSoftDescriptor = this.voucherSoftDescriptor.closest("tr"), - VoucherccBrands = this.VoucherccBrands.closest("tr"), - voucherEnabled = this.voucherEnabled.closest('tr'), - voucherCardWallet = this.voucherCardWallet.closest('tr'), - cardWallet = this.cardWallet.closest("tr"); - - if (isGateway) { - return this.setupGatewayOptions( - antifraudEnabled, - antifraudMinValue, - ccAllowSave, - billetBank, - voucherSoftDescriptor, - VoucherccBrands, - cardWallet, - voucherEnabled, - voucherCardWallet - ); - } - - return this.setupPSPOptions( - antifraudEnabled, - antifraudMinValue, - ccAllowSave, - billetBank, - voucherSoftDescriptor, - VoucherccBrands, - cardWallet, - voucherEnabled, - voucherCardWallet - ); - }; - - Model.fn.handleBilletBankRequirement = function () { - const billetBankElementId = - "#woocommerce_woo-pagarme-payments_billet_bank"; - let bankRequirementFields = $('[data-requires-field="billet-bank"]'); - let billetBankIsRequired = false; - - bankRequirementFields.each(function () { - if ($(this).prop("checked")) { - billetBankIsRequired = true; - return false; - } - }); - - if (billetBankIsRequired) { - $(billetBankElementId).attr("required", true); - return; - } - - $(billetBankElementId).attr("required", false); - }; - - Model.fn.setInstallmentsByFlags = function (event, firstLoad) { - var flags = this.elements.flagsSelect.val() || []; - var flagsWrapper = this.installmentsByFlag.closest("tr"); - var allFlags = $("[data-flag]"); - - if (parseInt(this.elements.installmentsTypeSelect.val()) !== 2) { - allFlags.hide(); - flagsWrapper.hide(); - return; - } - - if (!firstLoad) { - var selectedItem = event.params.args.data.id; - var filtered = flags; - - flagsWrapper.show(); - - if (event.params.name == "unselect") { - filtered = flags.filter(function (i) { - return i != selectedItem; - }); - - if (filtered.length == 0) { - this.installmentsByFlag.closest("tr").hide(); - } - } else { - filtered.push(selectedItem); - } - - allFlags.hide(); - - filtered.map(function (item) { - var element = $("[data-flag=" + item + "]"); - element.show(); - }); - } else { - if (flags.length === 0) { - allFlags.hide(); - flagsWrapper.hide(); - return; - } - - allFlags.each(function (index, item) { - item = $(item); - if (!flags.includes(item.data("flag"))) { - item.hide(); - } else { - item.show(); - } - }); - } - }; -}); diff --git a/assets/javascripts/admin/built.js b/assets/javascripts/admin/built.js deleted file mode 100644 index 23138be1..00000000 --- a/assets/javascripts/admin/built.js +++ /dev/null @@ -1,4557 +0,0 @@ -; -(function(context, $) { - - 'use strict'; - - var MONSTER = function(namespace, callback) { - var parts = namespace.split('\.'), - parent = context, - count = parts.length, - i = 0; - - for (i; i < count; i++) { - parent[parts[i]] = (count - 1 === i) ? MONSTER.Builder() : parent[parts[i]] || {}; - parent = parent[parts[i]]; - } - - if ('function' === typeof callback) { - - if (!~namespace.indexOf('Components')) { - parent.click = MONSTER.click.bind(parent); - parent.ajax = MONSTER.ajax.bind(parent); - } - - callback.call(null, parent, $, MONSTER.utils); - } - - return parent; - }; - - MONSTER.getElements = function(context) { - var elements = {}, - byElement = this.byElement.bind(context); - - context.find('[data-element]').each(function(index, element) { - var name = this.utils.toDataSetName(element.dataset.element); - - if (!elements[name]) { - elements[name] = byElement(element.dataset.element); - } - }.bind(this)); - - return elements; - }; - - MONSTER.byAction = function(name, el) { - var container = (el || this); - return container.find('[data-action="' + name + '"]'); - }; - - MONSTER.byElement = function(name) { - return this.find('[data-element="' + name + '"]'); - }; - - MONSTER.event = function(instance, event, action) { - var handle = MONSTER.utils.getEventCallbackName(action, event); - this.byAction(action).on(event, $.proxy(instance, handle)); - }; - - MONSTER.getInstance = function(instance, context) { - context.byAction = this.byAction.bind(context); - instance.$el = context; - instance.data = context.data(); - instance.on = this.event.bind(context, instance); - instance.elements = this.getElements(context); - instance.addPrefix = this.utils.addPrefix; - instance.prefix = this.utils.prefix(); - instance.ajax = this.ajax.bind(instance); - instance.click = this.click.bind(instance); - - return instance; - }; - - MONSTER.Builder = function() { - var Kernel, Builder; - var self = this; - - Kernel = function() {}; - Builder = function(context) { - var instance = new Kernel(); - instance = self.getInstance(instance, context); - - instance.start.apply(instance, arguments); - - return instance; - }; - - Builder.fn = Builder.prototype; - Kernel.prototype = Builder.fn; - Builder.fn.start = function() {}; - - return Builder; - }; - - MONSTER.ajax = function(options, done, fail) { - var ajax, defaults = { - method: 'POST', - url: MONSTER.utils.getAjaxUrl(), - data: {} - }; - - ajax = $.ajax($.extend(defaults, (options || {}))); - - ajax.done($.proxy(this, (done || '_done'))); - ajax.fail($.proxy(this, (fail || '_fail'))); - }; - - MONSTER.click = function(action, context) { - var instance = (context || this); - MONSTER.byAction(action, instance.$el).on('click', $.proxy(instance, MONSTER.utils.getEventCallbackName(action))); - }; - - MONSTER.utils = { - - getGlobalVars: function(name) { - return (window.PagarmeGlobalVars || {})[name]; - }, - - prefix: function() { - return (this.getGlobalVars('prefix') || 'monster') - }, - - getAjaxUrl: function() { - return this.getGlobalVars('ajaxUrl'); - }, - - getLocale: function() { - return this.getGlobalVars('WPLANG'); - }, - - getSpinnerUrl: function() { - return this.getGlobalVars('spinnerUrl'); - }, - - getPathUrl: function(url) { - return decodeURIComponent(url).split(/[?#]/)[0]; - }, - - getTime: function() { - return (new Date()).getTime(); - }, - - encodeUrl: function(url) { - return encodeURIComponent(url); - }, - - decodeUrl: function(url) { - return decodeURIComponent(url); - }, - - ucfirst: function(text) { - return this.parseName(text, /(\b[a-z])/g); - }, - - toDataSetName: function(text) { - return this.parseName(text, /(-)\w/g); - }, - - hasParam: function() { - return ~window.location.href.indexOf('?'); - }, - - getPathName: function() { - return window.location.pathname; - }, - - getEventCallbackName: function(action, event) { - return this.ucfirst(['_on', (event || 'click'), action].join('-')); - }, - - addPrefix: function(tag, separator) { - var sep = (separator || '-'); - return this.prefix() + sep + tag; - }, - - getSpinner: function() { - var img = document.createElement('img'); - img.src = this.getSpinnerUrl(); - img.className = this.prefix() + '-spinner'; - - return img; - }, - - isMobile: function() { - return (/Android|webOS|iPhone|iPad|iPod|BlackBerry|Tablet OS|IEMobile|Opera Mini/i.test( - navigator.userAgent - )); - }, - - parseName: function(text, regex) { - return text.replace(regex, function(match) { - return match.toUpperCase(); - }).replace(/-/g, ''); - }, - - remove: function(element) { - element.fadeOut('fast', function() { - element.remove(); - }); - }, - - getId: function(id) { - if (!id) { - return false; - } - - return document.getElementById(id); - }, - - findComponent: function(selector, callback) { - var components = $(this).find(selector); - - if (components.length && typeof callback === 'function') { - callback.call(null, components, $(this)); - } - - return components.length; - }, - - get: function(key, defaultVal) { - var query, vars, varsLength, pair, i; - - if (!this.hasParam()) { - return (defaultVal || ''); - } - - query = window.location.search.substring(1); - vars = query.split('&'); - varsLength = vars.length; - - for (i = 0; i < varsLength; i++) { - pair = vars[i].split('='); - - if (pair[0] === key) { - return pair[1]; - } - } - - return (defaultVal || ''); - }, - - strToCode: function(str) { - var hash = 0, - strLen = str.length, - i, chr; - - if (!strLen) { - return hash; - } - - for (i = 0; i < strLen; i++) { - chr = str.charCodeAt(i); - hash = ((hash << 5) - hash) + chr; - hash |= 0; - } - - return Math.abs(hash); - } - }; - - context.MONSTER = MONSTER; - -})(window, jQuery);; -MONSTER('Pagarme.BuildComponents', function(Model, $, utils) { - - Model.create = function(container) { - var components = '[data-' + utils.addPrefix('component') + ']', - findComponent = utils.findComponent.bind(container); - - findComponent(components, $.proxy(this, '_start')); - }; - - Model._start = function(components) { - if (typeof Pagarme.Components === 'undefined') { - return; - } - - this._iterator(components); - }; - - Model._iterator = function(components) { - var name; - - components.each(function(index, component) { - component = $(component); - name = utils.ucfirst(this.getComponent(component)); - this._callback(name, component); - }.bind(this)); - }; - - Model.getComponent = function(component) { - var component = component.data(utils.addPrefix('component')); - - if (!component) { - return ''; - } - - return component; - }; - - Model._callback = function(name, component) { - var callback = Pagarme.Components[name]; - - if (typeof callback == 'function') { - callback.call(null, component); - return; - } - - console.log('Component "' + name + '" is not a function.'); - }; - -}, {});; -MONSTER('Pagarme.BuildCreate', function(Model, $, utils) { - - Model.init = function(container, names) { - if (!names.length) { - return; - } - - this.$el = container; - names.forEach(this.findNames.bind(this)); - }; - - Model.findNames = function(name, index) { - this.callback(Pagarme[utils.ucfirst(name)]); - }; - - Model.callback = function(callback) { - if (typeof callback !== 'function') { - return; - } - - callback.create(this.$el); - }; - -}, {});; -/** - * jquery.mask.js - * @version: v1.14.10 - * @author: Igor Escobar - * - * Created by Igor Escobar on 2012-03-10. Please report any bug at http://blog.igorescobar.com - * - * Copyright (c) 2012 Igor Escobar http://blog.igorescobar.com - * - * The MIT License (http://www.opensource.org/licenses/mit-license.php) - * - * 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. - */ - -/* jshint laxbreak: true */ -/* jshint maxcomplexity:17 */ -/* global define */ - -'use strict'; - -// UMD (Universal Module Definition) patterns for JavaScript modules that work everywhere. -// https://github.com/umdjs/umd/blob/master/jqueryPluginCommonjs.js -(function(factory, jQuery, Zepto) { - - if (typeof define === 'function' && define.amd) { - define(['jquery'], factory); - } else if (typeof exports === 'object') { - module.exports = factory(require('jquery')); - } else { - factory(jQuery || Zepto); - } - -}(function($) { - - var Mask = function(el, mask, options) { - - var p = { - invalid: [], - getCaret: function() { - try { - var sel, - pos = 0, - ctrl = el.get(0), - dSel = document.selection, - cSelStart = ctrl.selectionStart; - - // IE Support - if (dSel && navigator.appVersion.indexOf('MSIE 10') === -1) { - sel = dSel.createRange(); - sel.moveStart('character', -p.val().length); - pos = sel.text.length; - } - // Firefox support - else if (cSelStart || cSelStart === '0') { - pos = cSelStart; - } - - return pos; - } catch (e) {} - }, - setCaret: function(pos) { - try { - if (el.is(':focus')) { - var range, ctrl = el.get(0); - - // Firefox, WebKit, etc.. - if (ctrl.setSelectionRange) { - ctrl.setSelectionRange(pos, pos); - } else { // IE - range = ctrl.createTextRange(); - range.collapse(true); - range.moveEnd('character', pos); - range.moveStart('character', pos); - range.select(); - } - } - } catch (e) {} - }, - events: function() { - el - .on('keydown.mask', function(e) { - el.data('mask-keycode', e.keyCode || e.which); - el.data('mask-previus-value', el.val()); - }) - .on($.jMaskGlobals.useInput ? 'input.mask' : 'keyup.mask', p.behaviour) - .on('paste.mask drop.mask', function() { - setTimeout(function() { - el.keydown().keyup(); - }, 100); - }) - .on('change.mask', function() { - el.data('changed', true); - }) - .on('blur.mask', function() { - if (oldValue !== p.val() && !el.data('changed')) { - el.trigger('change'); - } - el.data('changed', false); - }) - // it's very important that this callback remains in this position - // otherwhise oldValue it's going to work buggy - .on('blur.mask', function() { - oldValue = p.val(); - }) - // select all text on focus - .on('focus.mask', function(e) { - if (options.selectOnFocus === true) { - $(e.target).select(); - } - }) - // clear the value if it not complete the mask - .on('focusout.mask', function() { - if (options.clearIfNotMatch && !regexMask.test(p.val())) { - p.val(''); - } - }); - }, - getRegexMask: function() { - var maskChunks = [], - translation, pattern, optional, recursive, oRecursive, r; - - for (var i = 0; i < mask.length; i++) { - translation = jMask.translation[mask.charAt(i)]; - - if (translation) { - - pattern = translation.pattern.toString().replace(/.{1}$|^.{1}/g, ''); - optional = translation.optional; - recursive = translation.recursive; - - if (recursive) { - maskChunks.push(mask.charAt(i)); - oRecursive = { digit: mask.charAt(i), pattern: pattern }; - } else { - maskChunks.push(!optional && !recursive ? pattern : (pattern + '?')); - } - - } else { - maskChunks.push(mask.charAt(i).replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&')); - } - } - - r = maskChunks.join(''); - - if (oRecursive) { - r = r.replace(new RegExp('(' + oRecursive.digit + '(.*' + oRecursive.digit + ')?)'), '($1)?') - .replace(new RegExp(oRecursive.digit, 'g'), oRecursive.pattern); - } - - return new RegExp(r); - }, - destroyEvents: function() { - el.off(['input', 'keydown', 'keyup', 'paste', 'drop', 'blur', 'focusout', ''].join('.mask ')); - }, - val: function(v) { - var isInput = el.is('input'), - method = isInput ? 'val' : 'text', - r; - - if (arguments.length > 0) { - if (el[method]() !== v) { - el[method](v); - } - r = el; - } else { - r = el[method](); - } - - return r; - }, - calculateCaretPosition: function(caretPos, newVal) { - var newValL = newVal.length, - oValue = el.data('mask-previus-value') || '', - oValueL = oValue.length; - - // edge cases when erasing digits - if (el.data('mask-keycode') === 8 && oValue !== newVal) { - caretPos = caretPos - (newVal.slice(0, caretPos).length - oValue.slice(0, caretPos).length); - - // edge cases when typing new digits - } else if (oValue !== newVal) { - // if the cursor is at the end keep it there - if (caretPos >= oValueL) { - caretPos = newValL; - } else { - caretPos = caretPos + (newVal.slice(0, caretPos).length - oValue.slice(0, caretPos).length); - } - } - - return caretPos; - }, - behaviour: function(e) { - e = e || window.event; - p.invalid = []; - - var keyCode = el.data('mask-keycode'); - - if ($.inArray(keyCode, jMask.byPassKeys) === -1) { - var newVal = p.getMasked(), - caretPos = p.getCaret(); - - setTimeout(function(caretPos, newVal) { - p.setCaret(p.calculateCaretPosition(caretPos, newVal)); - }, 10, caretPos, newVal); - - p.val(newVal); - p.setCaret(caretPos); - return p.callbacks(e); - } - }, - getMasked: function(skipMaskChars, val) { - var buf = [], - value = val === undefined ? p.val() : val + '', - m = 0, - maskLen = mask.length, - v = 0, - valLen = value.length, - offset = 1, - addMethod = 'push', - resetPos = -1, - lastMaskChar, - check; - - if (options.reverse) { - addMethod = 'unshift'; - offset = -1; - lastMaskChar = 0; - m = maskLen - 1; - v = valLen - 1; - check = function() { - return m > -1 && v > -1; - }; - } else { - lastMaskChar = maskLen - 1; - check = function() { - return m < maskLen && v < valLen; - }; - } - - var lastUntranslatedMaskChar; - while (check()) { - var maskDigit = mask.charAt(m), - valDigit = value.charAt(v), - translation = jMask.translation[maskDigit]; - - if (translation) { - if (valDigit.match(translation.pattern)) { - buf[addMethod](valDigit); - if (translation.recursive) { - if (resetPos === -1) { - resetPos = m; - } else if (m === lastMaskChar) { - m = resetPos - offset; - } - - if (lastMaskChar === resetPos) { - m -= offset; - } - } - m += offset; - } else if (valDigit === lastUntranslatedMaskChar) { - // matched the last untranslated (raw) mask character that we encountered - // likely an insert offset the mask character from the last entry; fall - // through and only increment v - lastUntranslatedMaskChar = undefined; - } else if (translation.optional) { - m += offset; - v -= offset; - } else if (translation.fallback) { - buf[addMethod](translation.fallback); - m += offset; - v -= offset; - } else { - p.invalid.push({ p: v, v: valDigit, e: translation.pattern }); - } - v += offset; - } else { - if (!skipMaskChars) { - buf[addMethod](maskDigit); - } - - if (valDigit === maskDigit) { - v += offset; - } else { - lastUntranslatedMaskChar = maskDigit; - } - - m += offset; - } - } - - var lastMaskCharDigit = mask.charAt(lastMaskChar); - if (maskLen === valLen + 1 && !jMask.translation[lastMaskCharDigit]) { - buf.push(lastMaskCharDigit); - } - - return buf.join(''); - }, - callbacks: function(e) { - var val = p.val(), - changed = val !== oldValue, - defaultArgs = [val, e, el, options], - callback = function(name, criteria, args) { - if (typeof options[name] === 'function' && criteria) { - options[name].apply(this, args); - } - }; - - callback('onChange', changed === true, defaultArgs); - callback('onKeyPress', changed === true, defaultArgs); - callback('onComplete', val.length === mask.length, defaultArgs); - callback('onInvalid', p.invalid.length > 0, [val, e, el, p.invalid, options]); - } - }; - - el = $(el); - var jMask = this, - oldValue = p.val(), - regexMask; - - mask = typeof mask === 'function' ? mask(p.val(), undefined, el, options) : mask; - - // public methods - jMask.mask = mask; - jMask.options = options; - jMask.remove = function() { - var caret = p.getCaret(); - p.destroyEvents(); - p.val(jMask.getCleanVal()); - p.setCaret(caret); - return el; - }; - - // get value without mask - jMask.getCleanVal = function() { - return p.getMasked(true); - }; - - // get masked value without the value being in the input or element - jMask.getMaskedVal = function(val) { - return p.getMasked(false, val); - }; - - jMask.init = function(onlyMask) { - onlyMask = onlyMask || false; - options = options || {}; - - jMask.clearIfNotMatch = $.jMaskGlobals.clearIfNotMatch; - jMask.byPassKeys = $.jMaskGlobals.byPassKeys; - jMask.translation = $.extend({}, $.jMaskGlobals.translation, options.translation); - - jMask = $.extend(true, {}, jMask, options); - - regexMask = p.getRegexMask(); - - if (onlyMask) { - p.events(); - p.val(p.getMasked()); - } else { - if (options.placeholder) { - el.attr('placeholder', options.placeholder); - } - - // this is necessary, otherwise if the user submit the form - // and then press the "back" button, the autocomplete will erase - // the data. Works fine on IE9+, FF, Opera, Safari. - if (el.data('mask')) { - el.attr('autocomplete', 'off'); - } - - // detect if is necessary let the user type freely. - // for is a lot faster than forEach. - for (var i = 0, maxlength = true; i < mask.length; i++) { - var translation = jMask.translation[mask.charAt(i)]; - if (translation && translation.recursive) { - maxlength = false; - break; - } - } - - if (maxlength) { - el.attr('maxlength', mask.length); - } - - p.destroyEvents(); - p.events(); - - var caret = p.getCaret(); - p.val(p.getMasked()); - p.setCaret(caret); - } - }; - - jMask.init(!el.is('input')); - }; - - $.maskWatchers = {}; - var HTMLAttributes = function() { - var input = $(this), - options = {}, - prefix = 'data-mask-', - mask = input.attr('data-mask'); - - if (input.attr(prefix + 'reverse')) { - options.reverse = true; - } - - if (input.attr(prefix + 'clearifnotmatch')) { - options.clearIfNotMatch = true; - } - - if (input.attr(prefix + 'selectonfocus') === 'true') { - options.selectOnFocus = true; - } - - if (notSameMaskObject(input, mask, options)) { - return input.data('mask', new Mask(this, mask, options)); - } - }, - notSameMaskObject = function(field, mask, options) { - options = options || {}; - var maskObject = $(field).data('mask'), - stringify = JSON.stringify, - value = $(field).val() || $(field).text(); - try { - if (typeof mask === 'function') { - mask = mask(value); - } - return typeof maskObject !== 'object' || stringify(maskObject.options) !== stringify(options) || maskObject.mask !== mask; - } catch (e) {} - }, - eventSupported = function(eventName) { - var el = document.createElement('div'), - isSupported; - - eventName = 'on' + eventName; - isSupported = (eventName in el); - - if (!isSupported) { - el.setAttribute(eventName, 'return;'); - isSupported = typeof el[eventName] === 'function'; - } - el = null; - - return isSupported; - }; - - $.fn.mask = function(mask, options) { - options = options || {}; - var selector = this.selector, - globals = $.jMaskGlobals, - interval = globals.watchInterval, - watchInputs = options.watchInputs || globals.watchInputs, - maskFunction = function() { - if (notSameMaskObject(this, mask, options)) { - return $(this).data('mask', new Mask(this, mask, options)); - } - }; - - $(this).each(maskFunction); - - if (selector && selector !== '' && watchInputs) { - clearInterval($.maskWatchers[selector]); - $.maskWatchers[selector] = setInterval(function() { - $(document).find(selector).each(maskFunction); - }, interval); - } - return this; - }; - - $.fn.masked = function(val) { - return this.data('mask').getMaskedVal(val); - }; - - $.fn.unmask = function() { - clearInterval($.maskWatchers[this.selector]); - delete $.maskWatchers[this.selector]; - return this.each(function() { - var dataMask = $(this).data('mask'); - if (dataMask) { - dataMask.remove().removeData('mask'); - } - }); - }; - - $.fn.cleanVal = function() { - return this.data('mask').getCleanVal(); - }; - - $.applyDataMask = function(selector) { - selector = selector || $.jMaskGlobals.maskElements; - var $selector = (selector instanceof $) ? selector : $(selector); - $selector.filter($.jMaskGlobals.dataMaskAttr).each(HTMLAttributes); - }; - - var globals = { - maskElements: 'input,td,span,div', - dataMaskAttr: '*[data-mask]', - dataMask: true, - watchInterval: 300, - watchInputs: true, - // old versions of chrome dont work great with input event - useInput: !/Chrome\/[2-4][0-9]|SamsungBrowser/.test(window.navigator.userAgent) && eventSupported('input'), - watchDataMask: false, - byPassKeys: [9, 16, 17, 18, 36, 37, 38, 39, 40, 91], - translation: { - '0': { pattern: /\d/ }, - '9': { pattern: /\d/, optional: true }, - '#': { pattern: /\d/, recursive: true }, - 'A': { pattern: /[a-zA-Z0-9]/ }, - 'S': { pattern: /[a-zA-Z]/ } - } - }; - - $.jMaskGlobals = $.jMaskGlobals || {}; - globals = $.jMaskGlobals = $.extend(true, {}, globals, $.jMaskGlobals); - - // looking for inputs with data-mask attribute - if (globals.dataMask) { - $.applyDataMask(); - } - - setInterval(function() { - if ($.jMaskGlobals.watchDataMask) { - $.applyDataMask(); - } - }, globals.watchInterval); -}, window.jQuery, window.Zepto));;; -(function($) { - - $.fn.isEmptyValue = function() { - return !($.trim(this.val())); - }; - -})(jQuery);; -/*! - * sweetalert2 v6.6.2 - * Released under the MIT License. - */ -(function(global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - (global.Sweetalert2 = factory()); -}(this, (function() { - 'use strict'; - - var defaultParams = { - title: '', - titleText: '', - text: '', - html: '', - type: null, - customClass: '', - target: 'body', - animation: true, - allowOutsideClick: true, - allowEscapeKey: true, - allowEnterKey: true, - showConfirmButton: true, - showCancelButton: false, - preConfirm: null, - confirmButtonText: 'OK', - confirmButtonColor: '#3085d6', - confirmButtonClass: null, - cancelButtonText: 'Cancel', - cancelButtonColor: '#aaa', - cancelButtonClass: null, - buttonsStyling: true, - reverseButtons: false, - focusCancel: false, - showCloseButton: false, - showLoaderOnConfirm: false, - imageUrl: null, - imageWidth: null, - imageHeight: null, - imageClass: null, - timer: null, - width: 500, - padding: 20, - background: '#fff', - input: null, - inputPlaceholder: '', - inputValue: '', - inputOptions: {}, - inputAutoTrim: true, - inputClass: null, - inputAttributes: {}, - inputValidator: null, - progressSteps: [], - currentProgressStep: null, - progressStepsDistance: '40px', - onOpen: null, - onClose: null - }; - - var swalPrefix = 'swal2-'; - - var prefix = function prefix(items) { - var result = {}; - for (var i in items) { - result[items[i]] = swalPrefix + items[i]; - } - return result; - }; - - var swalClasses = prefix(['container', 'shown', 'iosfix', 'modal', 'overlay', 'fade', 'show', 'hide', 'noanimation', 'close', 'title', 'content', 'buttonswrapper', 'confirm', 'cancel', 'icon', 'image', 'input', 'file', 'range', 'select', 'radio', 'checkbox', 'textarea', 'inputerror', 'validationerror', 'progresssteps', 'activeprogressstep', 'progresscircle', 'progressline', 'loading', 'styled']); - - var iconTypes = prefix(['success', 'warning', 'info', 'question', 'error']); - - /* - * Set hover, active and focus-states for buttons (source: http://www.sitepoint.com/javascript-generate-lighter-darker-color) - */ - var colorLuminance = function colorLuminance(hex, lum) { - // Validate hex string - hex = String(hex).replace(/[^0-9a-f]/gi, ''); - if (hex.length < 6) { - hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2]; - } - lum = lum || 0; - - // Convert to decimal and change luminosity - var rgb = '#'; - for (var i = 0; i < 3; i++) { - var c = parseInt(hex.substr(i * 2, 2), 16); - c = Math.round(Math.min(Math.max(0, c + c * lum), 255)).toString(16); - rgb += ('00' + c).substr(c.length); - } - - return rgb; - }; - - var uniqueArray = function uniqueArray(arr) { - var result = []; - for (var i in arr) { - if (result.indexOf(arr[i]) === -1) { - result.push(arr[i]); - } - } - return result; - }; - - /* global MouseEvent */ - - // Remember state in cases where opening and handling a modal will fiddle with it. - var states = { - previousWindowKeyDown: null, - previousActiveElement: null, - previousBodyPadding: null - }; - - /* - * Add modal + overlay to DOM - */ - var init = function init(params) { - if (typeof document === 'undefined') { - console.error('SweetAlert2 requires document to initialize'); - return; - } - - var container = document.createElement('div'); - container.className = swalClasses.container; - container.innerHTML = sweetHTML; - - var targetElement = document.querySelector(params.target); - if (!targetElement) { - console.warn('SweetAlert2: Can\'t find the target "' + params.target + '"'); - targetElement = document.body; - } - targetElement.appendChild(container); - - var modal = getModal(); - var input = getChildByClass(modal, swalClasses.input); - var file = getChildByClass(modal, swalClasses.file); - var range = modal.querySelector('.' + swalClasses.range + ' input'); - var rangeOutput = modal.querySelector('.' + swalClasses.range + ' output'); - var select = getChildByClass(modal, swalClasses.select); - var checkbox = modal.querySelector('.' + swalClasses.checkbox + ' input'); - var textarea = getChildByClass(modal, swalClasses.textarea); - - input.oninput = function() { - sweetAlert.resetValidationError(); - }; - - input.onkeydown = function(event) { - setTimeout(function() { - if (event.keyCode === 13 && params.allowEnterKey) { - event.stopPropagation(); - sweetAlert.clickConfirm(); - } - }, 0); - }; - - file.onchange = function() { - sweetAlert.resetValidationError(); - }; - - range.oninput = function() { - sweetAlert.resetValidationError(); - rangeOutput.value = range.value; - }; - - range.onchange = function() { - sweetAlert.resetValidationError(); - range.previousSibling.value = range.value; - }; - - select.onchange = function() { - sweetAlert.resetValidationError(); - }; - - checkbox.onchange = function() { - sweetAlert.resetValidationError(); - }; - - textarea.oninput = function() { - sweetAlert.resetValidationError(); - }; - - return modal; - }; - - /* - * Manipulate DOM - */ - - var sweetHTML = ('\n \n').replace(/(^|\n)\s*/g, ''); - - var getContainer = function getContainer() { - return document.body.querySelector('.' + swalClasses.container); - }; - - var getModal = function getModal() { - return getContainer() ? getContainer().querySelector('.' + swalClasses.modal) : null; - }; - - var getIcons = function getIcons() { - var modal = getModal(); - return modal.querySelectorAll('.' + swalClasses.icon); - }; - - var elementByClass = function elementByClass(className) { - return getContainer() ? getContainer().querySelector('.' + className) : null; - }; - - var getTitle = function getTitle() { - return elementByClass(swalClasses.title); - }; - - var getContent = function getContent() { - return elementByClass(swalClasses.content); - }; - - var getImage = function getImage() { - return elementByClass(swalClasses.image); - }; - - var getButtonsWrapper = function getButtonsWrapper() { - return elementByClass(swalClasses.buttonswrapper); - }; - - var getProgressSteps = function getProgressSteps() { - return elementByClass(swalClasses.progresssteps); - }; - - var getValidationError = function getValidationError() { - return elementByClass(swalClasses.validationerror); - }; - - var getConfirmButton = function getConfirmButton() { - return elementByClass(swalClasses.confirm); - }; - - var getCancelButton = function getCancelButton() { - return elementByClass(swalClasses.cancel); - }; - - var getCloseButton = function getCloseButton() { - return elementByClass(swalClasses.close); - }; - - var getFocusableElements = function getFocusableElements(focusCancel) { - var buttons = [getConfirmButton(), getCancelButton()]; - if (focusCancel) { - buttons.reverse(); - } - var focusableElements = buttons.concat(Array.prototype.slice.call(getModal().querySelectorAll('button, input:not([type=hidden]), textarea, select, a, *[tabindex]:not([tabindex="-1"])'))); - return uniqueArray(focusableElements); - }; - - var hasClass = function hasClass(elem, className) { - if (elem.classList) { - return elem.classList.contains(className); - } - return false; - }; - - var focusInput = function focusInput(input) { - input.focus(); - - // place cursor at end of text in text input - if (input.type !== 'file') { - // http://stackoverflow.com/a/2345915/1331425 - var val = input.value; - input.value = ''; - input.value = val; - } - }; - - var addClass = function addClass(elem, className) { - if (!elem || !className) { - return; - } - var classes = className.split(/\s+/).filter(Boolean); - classes.forEach(function(className) { - elem.classList.add(className); - }); - }; - - var removeClass = function removeClass(elem, className) { - if (!elem || !className) { - return; - } - var classes = className.split(/\s+/).filter(Boolean); - classes.forEach(function(className) { - elem.classList.remove(className); - }); - }; - - var getChildByClass = function getChildByClass(elem, className) { - for (var i = 0; i < elem.childNodes.length; i++) { - if (hasClass(elem.childNodes[i], className)) { - return elem.childNodes[i]; - } - } - }; - - var show = function show(elem, display) { - if (!display) { - display = 'block'; - } - elem.style.opacity = ''; - elem.style.display = display; - }; - - var hide = function hide(elem) { - elem.style.opacity = ''; - elem.style.display = 'none'; - }; - - var empty = function empty(elem) { - while (elem.firstChild) { - elem.removeChild(elem.firstChild); - } - }; - - // borrowed from jqeury $(elem).is(':visible') implementation - var isVisible = function isVisible(elem) { - return elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length; - }; - - var removeStyleProperty = function removeStyleProperty(elem, property) { - if (elem.style.removeProperty) { - elem.style.removeProperty(property); - } else { - elem.style.removeAttribute(property); - } - }; - - var fireClick = function fireClick(node) { - if (!isVisible(node)) { - return false; - } - - // Taken from http://www.nonobtrusive.com/2011/11/29/programatically-fire-crossbrowser-click-event-with-javascript/ - // Then fixed for today's Chrome browser. - if (typeof MouseEvent === 'function') { - // Up-to-date approach - var mevt = new MouseEvent('click', { - view: window, - bubbles: false, - cancelable: true - }); - node.dispatchEvent(mevt); - } else if (document.createEvent) { - // Fallback - var evt = document.createEvent('MouseEvents'); - evt.initEvent('click', false, false); - node.dispatchEvent(evt); - } else if (document.createEventObject) { - node.fireEvent('onclick'); - } else if (typeof node.onclick === 'function') { - node.onclick(); - } - }; - - var animationEndEvent = function() { - var testEl = document.createElement('div'); - var transEndEventNames = { - 'WebkitAnimation': 'webkitAnimationEnd', - 'OAnimation': 'oAnimationEnd oanimationend', - 'msAnimation': 'MSAnimationEnd', - 'animation': 'animationend' - }; - for (var i in transEndEventNames) { - if (transEndEventNames.hasOwnProperty(i) && testEl.style[i] !== undefined) { - return transEndEventNames[i]; - } - } - - return false; - }(); - - // Reset previous window keydown handler and focued element - var resetPrevState = function resetPrevState() { - window.onkeydown = states.previousWindowKeyDown; - if (states.previousActiveElement && states.previousActiveElement.focus) { - var x = window.scrollX; - var y = window.scrollY; - states.previousActiveElement.focus(); - if (x && y) { - // IE has no scrollX/scrollY support - window.scrollTo(x, y); - } - } - }; - - // Measure width of scrollbar - // https://github.com/twbs/bootstrap/blob/master/js/modal.js#L279-L286 - var measureScrollbar = function measureScrollbar() { - var supportsTouch = 'ontouchstart' in window || navigator.msMaxTouchPoints; - if (supportsTouch) { - return 0; - } - var scrollDiv = document.createElement('div'); - scrollDiv.style.width = '50px'; - scrollDiv.style.height = '50px'; - scrollDiv.style.overflow = 'scroll'; - document.body.appendChild(scrollDiv); - var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth; - document.body.removeChild(scrollDiv); - return scrollbarWidth; - }; - - // JavaScript Debounce Function - // Simplivied version of https://davidwalsh.name/javascript-debounce-function - var debounce = function debounce(func, wait) { - var timeout = void 0; - return function() { - var later = function later() { - timeout = null; - func(); - }; - clearTimeout(timeout); - timeout = setTimeout(later, wait); - }; - }; - - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function(obj) { - return typeof obj; - } : function(obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; - }; - - - - - - - - - - - - - - - - - - - - - - var _extends = Object.assign || function(target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - } - - return target; - }; - - var modalParams = _extends({}, defaultParams); - var queue = []; - var swal2Observer = void 0; - - /* - * Set type, text and actions on modal - */ - var setParameters = function setParameters(params) { - var modal = getModal() || init(params); - - for (var param in params) { - if (!defaultParams.hasOwnProperty(param) && param !== 'extraParams') { - console.warn('SweetAlert2: Unknown parameter "' + param + '"'); - } - } - - // Set modal width - modal.style.width = typeof params.width === 'number' ? params.width + 'px' : params.width; - - modal.style.padding = params.padding + 'px'; - modal.style.background = params.background; - var successIconParts = modal.querySelectorAll('[class^=swal2-success-circular-line], .swal2-success-fix'); - for (var i = 0; i < successIconParts.length; i++) { - successIconParts[i].style.background = params.background; - } - - var title = getTitle(); - var content = getContent(); - var buttonsWrapper = getButtonsWrapper(); - var confirmButton = getConfirmButton(); - var cancelButton = getCancelButton(); - var closeButton = getCloseButton(); - - // Title - if (params.titleText) { - title.innerText = params.titleText; - } else { - title.innerHTML = params.title.split('\n').join('
    '); - } - - // Content - if (params.text || params.html) { - if (_typeof(params.html) === 'object') { - content.innerHTML = ''; - if (0 in params.html) { - for (var _i = 0; _i in params.html; _i++) { - content.appendChild(params.html[_i].cloneNode(true)); - } - } else { - content.appendChild(params.html.cloneNode(true)); - } - } else if (params.html) { - content.innerHTML = params.html; - } else if (params.text) { - content.textContent = params.text; - } - show(content); - } else { - hide(content); - } - - // Close button - if (params.showCloseButton) { - show(closeButton); - } else { - hide(closeButton); - } - - // Custom Class - modal.className = swalClasses.modal; - if (params.customClass) { - addClass(modal, params.customClass); - } - - // Progress steps - var progressStepsContainer = getProgressSteps(); - var currentProgressStep = parseInt(params.currentProgressStep === null ? sweetAlert.getQueueStep() : params.currentProgressStep, 10); - if (params.progressSteps.length) { - show(progressStepsContainer); - empty(progressStepsContainer); - if (currentProgressStep >= params.progressSteps.length) { - console.warn('SweetAlert2: Invalid currentProgressStep parameter, it should be less than progressSteps.length ' + '(currentProgressStep like JS arrays starts from 0)'); - } - params.progressSteps.forEach(function(step, index) { - var circle = document.createElement('li'); - addClass(circle, swalClasses.progresscircle); - circle.innerHTML = step; - if (index === currentProgressStep) { - addClass(circle, swalClasses.activeprogressstep); - } - progressStepsContainer.appendChild(circle); - if (index !== params.progressSteps.length - 1) { - var line = document.createElement('li'); - addClass(line, swalClasses.progressline); - line.style.width = params.progressStepsDistance; - progressStepsContainer.appendChild(line); - } - }); - } else { - hide(progressStepsContainer); - } - - // Icon - var icons = getIcons(); - for (var _i2 = 0; _i2 < icons.length; _i2++) { - hide(icons[_i2]); - } - if (params.type) { - var validType = false; - for (var iconType in iconTypes) { - if (params.type === iconType) { - validType = true; - break; - } - } - if (!validType) { - console.error('SweetAlert2: Unknown alert type: ' + params.type); - return false; - } - var icon = modal.querySelector('.' + swalClasses.icon + '.' + iconTypes[params.type]); - show(icon); - - // Animate icon - if (params.animation) { - switch (params.type) { - case 'success': - addClass(icon, 'swal2-animate-success-icon'); - addClass(icon.querySelector('.swal2-success-line-tip'), 'swal2-animate-success-line-tip'); - addClass(icon.querySelector('.swal2-success-line-long'), 'swal2-animate-success-line-long'); - break; - case 'error': - addClass(icon, 'swal2-animate-error-icon'); - addClass(icon.querySelector('.swal2-x-mark'), 'swal2-animate-x-mark'); - break; - default: - break; - } - } - } - - // Custom image - var image = getImage(); - if (params.imageUrl) { - image.setAttribute('src', params.imageUrl); - show(image); - - if (params.imageWidth) { - image.setAttribute('width', params.imageWidth); - } else { - image.removeAttribute('width'); - } - - if (params.imageHeight) { - image.setAttribute('height', params.imageHeight); - } else { - image.removeAttribute('height'); - } - - image.className = swalClasses.image; - if (params.imageClass) { - addClass(image, params.imageClass); - } - } else { - hide(image); - } - - // Cancel button - if (params.showCancelButton) { - cancelButton.style.display = 'inline-block'; - } else { - hide(cancelButton); - } - - // Confirm button - if (params.showConfirmButton) { - removeStyleProperty(confirmButton, 'display'); - } else { - hide(confirmButton); - } - - // Buttons wrapper - if (!params.showConfirmButton && !params.showCancelButton) { - hide(buttonsWrapper); - } else { - show(buttonsWrapper); - } - - // Edit text on cancel and confirm buttons - confirmButton.innerHTML = params.confirmButtonText; - cancelButton.innerHTML = params.cancelButtonText; - - // Set buttons to selected background colors - if (params.buttonsStyling) { - confirmButton.style.backgroundColor = params.confirmButtonColor; - cancelButton.style.backgroundColor = params.cancelButtonColor; - } - - // Add buttons custom classes - confirmButton.className = swalClasses.confirm; - addClass(confirmButton, params.confirmButtonClass); - cancelButton.className = swalClasses.cancel; - addClass(cancelButton, params.cancelButtonClass); - - // Buttons styling - if (params.buttonsStyling) { - addClass(confirmButton, swalClasses.styled); - addClass(cancelButton, swalClasses.styled); - } else { - removeClass(confirmButton, swalClasses.styled); - removeClass(cancelButton, swalClasses.styled); - - confirmButton.style.backgroundColor = confirmButton.style.borderLeftColor = confirmButton.style.borderRightColor = ''; - cancelButton.style.backgroundColor = cancelButton.style.borderLeftColor = cancelButton.style.borderRightColor = ''; - } - - // CSS animation - if (params.animation === true) { - removeClass(modal, swalClasses.noanimation); - } else { - addClass(modal, swalClasses.noanimation); - } - }; - - /* - * Animations - */ - var openModal = function openModal(animation, onComplete) { - var container = getContainer(); - var modal = getModal(); - - if (animation) { - addClass(modal, swalClasses.show); - addClass(container, swalClasses.fade); - removeClass(modal, swalClasses.hide); - } else { - removeClass(modal, swalClasses.fade); - } - show(modal); - - // scrolling is 'hidden' until animation is done, after that 'auto' - container.style.overflowY = 'hidden'; - if (animationEndEvent && !hasClass(modal, swalClasses.noanimation)) { - modal.addEventListener(animationEndEvent, function swalCloseEventFinished() { - modal.removeEventListener(animationEndEvent, swalCloseEventFinished); - container.style.overflowY = 'auto'; - }); - } else { - container.style.overflowY = 'auto'; - } - - addClass(document.documentElement, swalClasses.shown); - addClass(document.body, swalClasses.shown); - addClass(container, swalClasses.shown); - fixScrollbar(); - iOSfix(); - states.previousActiveElement = document.activeElement; - if (onComplete !== null && typeof onComplete === 'function') { - setTimeout(function() { - onComplete(modal); - }); - } - }; - - var fixScrollbar = function fixScrollbar() { - // for queues, do not do this more than once - if (states.previousBodyPadding !== null) { - return; - } - // if the body has overflow - if (document.body.scrollHeight > window.innerHeight) { - // add padding so the content doesn't shift after removal of scrollbar - states.previousBodyPadding = document.body.style.paddingRight; - document.body.style.paddingRight = measureScrollbar() + 'px'; - } - }; - - var undoScrollbar = function undoScrollbar() { - if (states.previousBodyPadding !== null) { - document.body.style.paddingRight = states.previousBodyPadding; - states.previousBodyPadding = null; - } - }; - - // Fix iOS scrolling http://stackoverflow.com/q/39626302/1331425 - var iOSfix = function iOSfix() { - var iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; - if (iOS && !hasClass(document.body, swalClasses.iosfix)) { - var offset = document.body.scrollTop; - document.body.style.top = offset * -1 + 'px'; - addClass(document.body, swalClasses.iosfix); - } - }; - - var undoIOSfix = function undoIOSfix() { - if (hasClass(document.body, swalClasses.iosfix)) { - var offset = parseInt(document.body.style.top, 10); - removeClass(document.body, swalClasses.iosfix); - document.body.style.top = ''; - document.body.scrollTop = offset * -1; - } - }; - - // SweetAlert entry point - var sweetAlert = function sweetAlert() { - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - if (args[0] === undefined) { - console.error('SweetAlert2 expects at least 1 attribute!'); - return false; - } - - var params = _extends({}, modalParams); - - switch (_typeof(args[0])) { - case 'string': - params.title = args[0]; - params.html = args[1]; - params.type = args[2]; - - break; - - case 'object': - _extends(params, args[0]); - params.extraParams = args[0].extraParams; - - if (params.input === 'email' && params.inputValidator === null) { - params.inputValidator = function(email) { - return new Promise(function(resolve, reject) { - var emailRegex = /^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/; - if (emailRegex.test(email)) { - resolve(); - } else { - reject('Invalid email address'); - } - }); - }; - } - - if (params.input === 'url' && params.inputValidator === null) { - params.inputValidator = function(url) { - return new Promise(function(resolve, reject) { - var urlRegex = /^(https?:\/\/)?([\da-z.-]+)\.([a-z.]{2,6})([/\w .-]*)*\/?$/; - if (urlRegex.test(url)) { - resolve(); - } else { - reject('Invalid URL'); - } - }); - }; - } - break; - - default: - console.error('SweetAlert2: Unexpected type of argument! Expected "string" or "object", got ' + _typeof(args[0])); - return false; - } - - setParameters(params); - - var container = getContainer(); - var modal = getModal(); - - return new Promise(function(resolve, reject) { - // Close on timer - if (params.timer) { - modal.timeout = setTimeout(function() { - sweetAlert.closeModal(params.onClose); - reject('timer'); - }, params.timer); - } - - // Get input element by specified type or, if type isn't specified, by params.input - var getInput = function getInput(inputType) { - inputType = inputType || params.input; - if (!inputType) { - return null; - } - switch (inputType) { - case 'select': - case 'textarea': - case 'file': - return getChildByClass(modal, swalClasses[inputType]); - case 'checkbox': - return modal.querySelector('.' + swalClasses.checkbox + ' input'); - case 'radio': - return modal.querySelector('.' + swalClasses.radio + ' input:checked') || modal.querySelector('.' + swalClasses.radio + ' input:first-child'); - case 'range': - return modal.querySelector('.' + swalClasses.range + ' input'); - default: - return getChildByClass(modal, swalClasses.input); - } - }; - - // Get the value of the modal input - var getInputValue = function getInputValue() { - var input = getInput(); - if (!input) { - return null; - } - switch (params.input) { - case 'checkbox': - return input.checked ? 1 : 0; - case 'radio': - return input.checked ? input.value : null; - case 'file': - return input.files.length ? input.files[0] : null; - default: - return params.inputAutoTrim ? input.value.trim() : input.value; - } - }; - - // input autofocus - if (params.input) { - setTimeout(function() { - var input = getInput(); - if (input) { - focusInput(input); - } - }, 0); - } - - var confirm = function confirm(value) { - if (params.showLoaderOnConfirm) { - sweetAlert.showLoading(); - } - - if (params.preConfirm) { - params.preConfirm(value, params.extraParams).then(function(preConfirmValue) { - sweetAlert.closeModal(params.onClose); - resolve(preConfirmValue || value); - }, function(error) { - sweetAlert.hideLoading(); - if (error) { - sweetAlert.showValidationError(error); - } - }); - } else { - sweetAlert.closeModal(params.onClose); - resolve(value); - } - }; - - // Mouse interactions - var onButtonEvent = function onButtonEvent(event) { - var e = event || window.event; - var target = e.target || e.srcElement; - var confirmButton = getConfirmButton(); - var cancelButton = getCancelButton(); - var targetedConfirm = confirmButton && (confirmButton === target || confirmButton.contains(target)); - var targetedCancel = cancelButton && (cancelButton === target || cancelButton.contains(target)); - - switch (e.type) { - case 'mouseover': - case 'mouseup': - if (params.buttonsStyling) { - if (targetedConfirm) { - confirmButton.style.backgroundColor = colorLuminance(params.confirmButtonColor, -0.1); - } else if (targetedCancel) { - cancelButton.style.backgroundColor = colorLuminance(params.cancelButtonColor, -0.1); - } - } - break; - case 'mouseout': - if (params.buttonsStyling) { - if (targetedConfirm) { - confirmButton.style.backgroundColor = params.confirmButtonColor; - } else if (targetedCancel) { - cancelButton.style.backgroundColor = params.cancelButtonColor; - } - } - break; - case 'mousedown': - if (params.buttonsStyling) { - if (targetedConfirm) { - confirmButton.style.backgroundColor = colorLuminance(params.confirmButtonColor, -0.2); - } else if (targetedCancel) { - cancelButton.style.backgroundColor = colorLuminance(params.cancelButtonColor, -0.2); - } - } - break; - case 'click': - // Clicked 'confirm' - if (targetedConfirm && sweetAlert.isVisible()) { - sweetAlert.disableButtons(); - if (params.input) { - var inputValue = getInputValue(); - - if (params.inputValidator) { - sweetAlert.disableInput(); - params.inputValidator(inputValue, params.extraParams).then(function() { - sweetAlert.enableButtons(); - sweetAlert.enableInput(); - confirm(inputValue); - }, function(error) { - sweetAlert.enableButtons(); - sweetAlert.enableInput(); - if (error) { - sweetAlert.showValidationError(error); - } - }); - } else { - confirm(inputValue); - } - } else { - confirm(true); - } - - // Clicked 'cancel' - } else if (targetedCancel && sweetAlert.isVisible()) { - sweetAlert.disableButtons(); - sweetAlert.closeModal(params.onClose); - reject('cancel'); - } - break; - default: - } - }; - - var buttons = modal.querySelectorAll('button'); - for (var i = 0; i < buttons.length; i++) { - buttons[i].onclick = onButtonEvent; - buttons[i].onmouseover = onButtonEvent; - buttons[i].onmouseout = onButtonEvent; - buttons[i].onmousedown = onButtonEvent; - } - - // Closing modal by close button - getCloseButton().onclick = function() { - sweetAlert.closeModal(params.onClose); - reject('close'); - }; - - // Closing modal by overlay click - container.onclick = function(e) { - if (e.target !== container) { - return; - } - if (params.allowOutsideClick) { - sweetAlert.closeModal(params.onClose); - reject('overlay'); - } - }; - - var buttonsWrapper = getButtonsWrapper(); - var confirmButton = getConfirmButton(); - var cancelButton = getCancelButton(); - - // Reverse buttons (Confirm on the right side) - if (params.reverseButtons) { - confirmButton.parentNode.insertBefore(cancelButton, confirmButton); - } else { - confirmButton.parentNode.insertBefore(confirmButton, cancelButton); - } - - // Focus handling - var setFocus = function setFocus(index, increment) { - var focusableElements = getFocusableElements(params.focusCancel); - // search for visible elements and select the next possible match - for (var _i3 = 0; _i3 < focusableElements.length; _i3++) { - index = index + increment; - - // rollover to first item - if (index === focusableElements.length) { - index = 0; - - // go to last item - } else if (index === -1) { - index = focusableElements.length - 1; - } - - // determine if element is visible - var el = focusableElements[index]; - if (isVisible(el)) { - return el.focus(); - } - } - }; - - var handleKeyDown = function handleKeyDown(event) { - var e = event || window.event; - var keyCode = e.keyCode || e.which; - - if ([9, 13, 32, 27, 37, 38, 39, 40].indexOf(keyCode) === -1) { - // Don't do work on keys we don't care about. - return; - } - - var targetElement = e.target || e.srcElement; - - var focusableElements = getFocusableElements(params.focusCancel); - var btnIndex = -1; // Find the button - note, this is a nodelist, not an array. - for (var _i4 = 0; _i4 < focusableElements.length; _i4++) { - if (targetElement === focusableElements[_i4]) { - btnIndex = _i4; - break; - } - } - - // TAB - if (keyCode === 9) { - if (!e.shiftKey) { - // Cycle to the next button - setFocus(btnIndex, 1); - } else { - // Cycle to the prev button - setFocus(btnIndex, -1); - } - e.stopPropagation(); - e.preventDefault(); - - // ARROWS - switch focus between buttons - } else if (keyCode === 37 || keyCode === 38 || keyCode === 39 || keyCode === 40) { - // focus Cancel button if Confirm button is currently focused - if (document.activeElement === confirmButton && isVisible(cancelButton)) { - cancelButton.focus(); - // and vice versa - } else if (document.activeElement === cancelButton && isVisible(confirmButton)) { - confirmButton.focus(); - } - - // ENTER/SPACE - } else if (keyCode === 13 || keyCode === 32) { - if (btnIndex === -1 && params.allowEnterKey) { - // ENTER/SPACE clicked outside of a button. - if (params.focusCancel) { - fireClick(cancelButton, e); - } else { - fireClick(confirmButton, e); - } - e.stopPropagation(); - e.preventDefault(); - } - - // ESC - } else if (keyCode === 27 && params.allowEscapeKey === true) { - sweetAlert.closeModal(params.onClose); - reject('esc'); - } - }; - - states.previousWindowKeyDown = window.onkeydown; - window.onkeydown = handleKeyDown; - - // Loading state - if (params.buttonsStyling) { - confirmButton.style.borderLeftColor = params.confirmButtonColor; - confirmButton.style.borderRightColor = params.confirmButtonColor; - } - - /** - * Show spinner instead of Confirm button and disable Cancel button - */ - sweetAlert.showLoading = sweetAlert.enableLoading = function() { - show(buttonsWrapper); - show(confirmButton, 'inline-block'); - addClass(buttonsWrapper, swalClasses.loading); - addClass(modal, swalClasses.loading); - confirmButton.disabled = true; - cancelButton.disabled = true; - }; - - /** - * Show spinner instead of Confirm button and disable Cancel button - */ - sweetAlert.hideLoading = sweetAlert.disableLoading = function() { - if (!params.showConfirmButton) { - hide(confirmButton); - if (!params.showCancelButton) { - hide(getButtonsWrapper()); - } - } - removeClass(buttonsWrapper, swalClasses.loading); - removeClass(modal, swalClasses.loading); - confirmButton.disabled = false; - cancelButton.disabled = false; - }; - - sweetAlert.getTitle = function() { - return getTitle(); - }; - sweetAlert.getContent = function() { - return getContent(); - }; - sweetAlert.getInput = function() { - return getInput(); - }; - sweetAlert.getImage = function() { - return getImage(); - }; - sweetAlert.getButtonsWrapper = function() { - return getButtonsWrapper(); - }; - sweetAlert.getConfirmButton = function() { - return getConfirmButton(); - }; - sweetAlert.getCancelButton = function() { - return getCancelButton(); - }; - - sweetAlert.enableButtons = function() { - confirmButton.disabled = false; - cancelButton.disabled = false; - }; - - sweetAlert.disableButtons = function() { - confirmButton.disabled = true; - cancelButton.disabled = true; - }; - - sweetAlert.enableConfirmButton = function() { - confirmButton.disabled = false; - }; - - sweetAlert.disableConfirmButton = function() { - confirmButton.disabled = true; - }; - - sweetAlert.enableInput = function() { - var input = getInput(); - if (!input) { - return false; - } - if (input.type === 'radio') { - var radiosContainer = input.parentNode.parentNode; - var radios = radiosContainer.querySelectorAll('input'); - for (var _i5 = 0; _i5 < radios.length; _i5++) { - radios[_i5].disabled = false; - } - } else { - input.disabled = false; - } - }; - - sweetAlert.disableInput = function() { - var input = getInput(); - if (!input) { - return false; - } - if (input && input.type === 'radio') { - var radiosContainer = input.parentNode.parentNode; - var radios = radiosContainer.querySelectorAll('input'); - for (var _i6 = 0; _i6 < radios.length; _i6++) { - radios[_i6].disabled = true; - } - } else { - input.disabled = true; - } - }; - - // Set modal min-height to disable scrolling inside the modal - sweetAlert.recalculateHeight = debounce(function() { - var modal = getModal(); - if (!modal) { - return; - } - var prevState = modal.style.display; - modal.style.minHeight = ''; - show(modal); - modal.style.minHeight = modal.scrollHeight + 1 + 'px'; - modal.style.display = prevState; - }, 50); - - // Show block with validation error - sweetAlert.showValidationError = function(error) { - var validationError = getValidationError(); - validationError.innerHTML = error; - show(validationError); - - var input = getInput(); - if (input) { - focusInput(input); - addClass(input, swalClasses.inputerror); - } - }; - - // Hide block with validation error - sweetAlert.resetValidationError = function() { - var validationError = getValidationError(); - hide(validationError); - sweetAlert.recalculateHeight(); - - var input = getInput(); - if (input) { - removeClass(input, swalClasses.inputerror); - } - }; - - sweetAlert.getProgressSteps = function() { - return params.progressSteps; - }; - - sweetAlert.setProgressSteps = function(progressSteps) { - params.progressSteps = progressSteps; - setParameters(params); - }; - - sweetAlert.showProgressSteps = function() { - show(getProgressSteps()); - }; - - sweetAlert.hideProgressSteps = function() { - hide(getProgressSteps()); - }; - - sweetAlert.enableButtons(); - sweetAlert.hideLoading(); - sweetAlert.resetValidationError(); - - // inputs - var inputTypes = ['input', 'file', 'range', 'select', 'radio', 'checkbox', 'textarea']; - var input = void 0; - for (var _i7 = 0; _i7 < inputTypes.length; _i7++) { - var inputClass = swalClasses[inputTypes[_i7]]; - var inputContainer = getChildByClass(modal, inputClass); - input = getInput(inputTypes[_i7]); - - // set attributes - if (input) { - for (var j in input.attributes) { - if (input.attributes.hasOwnProperty(j)) { - var attrName = input.attributes[j].name; - if (attrName !== 'type' && attrName !== 'value') { - input.removeAttribute(attrName); - } - } - } - for (var attr in params.inputAttributes) { - input.setAttribute(attr, params.inputAttributes[attr]); - } - } - - // set class - inputContainer.className = inputClass; - if (params.inputClass) { - addClass(inputContainer, params.inputClass); - } - - hide(inputContainer); - } - - var populateInputOptions = void 0; - switch (params.input) { - case 'text': - case 'email': - case 'password': - case 'number': - case 'tel': - case 'url': - input = getChildByClass(modal, swalClasses.input); - input.value = params.inputValue; - input.placeholder = params.inputPlaceholder; - input.type = params.input; - show(input); - break; - case 'file': - input = getChildByClass(modal, swalClasses.file); - input.placeholder = params.inputPlaceholder; - input.type = params.input; - show(input); - break; - case 'range': - var range = getChildByClass(modal, swalClasses.range); - var rangeInput = range.querySelector('input'); - var rangeOutput = range.querySelector('output'); - rangeInput.value = params.inputValue; - rangeInput.type = params.input; - rangeOutput.value = params.inputValue; - show(range); - break; - case 'select': - var select = getChildByClass(modal, swalClasses.select); - select.innerHTML = ''; - if (params.inputPlaceholder) { - var placeholder = document.createElement('option'); - placeholder.innerHTML = params.inputPlaceholder; - placeholder.value = ''; - placeholder.disabled = true; - placeholder.selected = true; - select.appendChild(placeholder); - } - populateInputOptions = function populateInputOptions(inputOptions) { - for (var optionValue in inputOptions) { - var option = document.createElement('option'); - option.value = optionValue; - option.innerHTML = inputOptions[optionValue]; - if (params.inputValue === optionValue) { - option.selected = true; - } - select.appendChild(option); - } - show(select); - select.focus(); - }; - break; - case 'radio': - var radio = getChildByClass(modal, swalClasses.radio); - radio.innerHTML = ''; - populateInputOptions = function populateInputOptions(inputOptions) { - for (var radioValue in inputOptions) { - var radioInput = document.createElement('input'); - var radioLabel = document.createElement('label'); - var radioLabelSpan = document.createElement('span'); - radioInput.type = 'radio'; - radioInput.name = swalClasses.radio; - radioInput.value = radioValue; - if (params.inputValue === radioValue) { - radioInput.checked = true; - } - radioLabelSpan.innerHTML = inputOptions[radioValue]; - radioLabel.appendChild(radioInput); - radioLabel.appendChild(radioLabelSpan); - radioLabel.for = radioInput.id; - radio.appendChild(radioLabel); - } - show(radio); - var radios = radio.querySelectorAll('input'); - if (radios.length) { - radios[0].focus(); - } - }; - break; - case 'checkbox': - var checkbox = getChildByClass(modal, swalClasses.checkbox); - var checkboxInput = getInput('checkbox'); - checkboxInput.type = 'checkbox'; - checkboxInput.value = 1; - checkboxInput.id = swalClasses.checkbox; - checkboxInput.checked = Boolean(params.inputValue); - var label = checkbox.getElementsByTagName('span'); - if (label.length) { - checkbox.removeChild(label[0]); - } - label = document.createElement('span'); - label.innerHTML = params.inputPlaceholder; - checkbox.appendChild(label); - show(checkbox); - break; - case 'textarea': - var textarea = getChildByClass(modal, swalClasses.textarea); - textarea.value = params.inputValue; - textarea.placeholder = params.inputPlaceholder; - show(textarea); - break; - case null: - break; - default: - console.error('SweetAlert2: Unexpected type of input! Expected "text", "email", "password", "number", "tel", "select", "radio", "checkbox", "textarea", "file" or "url", got "' + params.input + '"'); - break; - } - - if (params.input === 'select' || params.input === 'radio') { - if (params.inputOptions instanceof Promise) { - sweetAlert.showLoading(); - params.inputOptions.then(function(inputOptions) { - sweetAlert.hideLoading(); - populateInputOptions(inputOptions); - }); - } else if (_typeof(params.inputOptions) === 'object') { - populateInputOptions(params.inputOptions); - } else { - console.error('SweetAlert2: Unexpected type of inputOptions! Expected object or Promise, got ' + _typeof(params.inputOptions)); - } - } - - openModal(params.animation, params.onOpen); - - // Focus the first element (input or button) - if (params.allowEnterKey) { - setFocus(-1, 1); - } else { - if (document.activeElement) { - document.activeElement.blur(); - } - } - - // fix scroll - getContainer().scrollTop = 0; - - // Observe changes inside the modal and adjust height - if (typeof MutationObserver !== 'undefined' && !swal2Observer) { - swal2Observer = new MutationObserver(sweetAlert.recalculateHeight); - swal2Observer.observe(modal, { childList: true, characterData: true, subtree: true }); - } - }); - }; - - /* - * Global function to determine if swal2 modal is shown - */ - sweetAlert.isVisible = function() { - return !!getModal(); - }; - - /* - * Global function for chaining sweetAlert modals - */ - sweetAlert.queue = function(steps) { - queue = steps; - var resetQueue = function resetQueue() { - queue = []; - document.body.removeAttribute('data-swal2-queue-step'); - }; - var queueResult = []; - return new Promise(function(resolve, reject) { - (function step(i, callback) { - if (i < queue.length) { - document.body.setAttribute('data-swal2-queue-step', i); - - sweetAlert(queue[i]).then(function(result) { - queueResult.push(result); - step(i + 1, callback); - }, function(dismiss) { - resetQueue(); - reject(dismiss); - }); - } else { - resetQueue(); - resolve(queueResult); - } - })(0); - }); - }; - - /* - * Global function for getting the index of current modal in queue - */ - sweetAlert.getQueueStep = function() { - return document.body.getAttribute('data-swal2-queue-step'); - }; - - /* - * Global function for inserting a modal to the queue - */ - sweetAlert.insertQueueStep = function(step, index) { - if (index && index < queue.length) { - return queue.splice(index, 0, step); - } - return queue.push(step); - }; - - /* - * Global function for deleting a modal from the queue - */ - sweetAlert.deleteQueueStep = function(index) { - if (typeof queue[index] !== 'undefined') { - queue.splice(index, 1); - } - }; - - /* - * Global function to close sweetAlert - */ - sweetAlert.close = sweetAlert.closeModal = function(onComplete) { - var container = getContainer(); - var modal = getModal(); - if (!modal) { - return; - } - removeClass(modal, swalClasses.show); - addClass(modal, swalClasses.hide); - clearTimeout(modal.timeout); - - resetPrevState(); - - var removeModalAndResetState = function removeModalAndResetState() { - if (container.parentNode) { - container.parentNode.removeChild(container); - } - removeClass(document.documentElement, swalClasses.shown); - removeClass(document.body, swalClasses.shown); - undoScrollbar(); - undoIOSfix(); - }; - - // If animation is supported, animate - if (animationEndEvent && !hasClass(modal, swalClasses.noanimation)) { - modal.addEventListener(animationEndEvent, function swalCloseEventFinished() { - modal.removeEventListener(animationEndEvent, swalCloseEventFinished); - if (hasClass(modal, swalClasses.hide)) { - removeModalAndResetState(); - } - }); - } else { - // Otherwise, remove immediately - removeModalAndResetState(); - } - if (onComplete !== null && typeof onComplete === 'function') { - setTimeout(function() { - onComplete(modal); - }); - } - }; - - /* - * Global function to click 'Confirm' button - */ - sweetAlert.clickConfirm = function() { - return getConfirmButton().click(); - }; - - /* - * Global function to click 'Cancel' button - */ - sweetAlert.clickCancel = function() { - return getCancelButton().click(); - }; - - /** - * Set default params for each popup - * @param {Object} userParams - */ - sweetAlert.setDefaults = function(userParams) { - if (!userParams || (typeof userParams === 'undefined' ? 'undefined' : _typeof(userParams)) !== 'object') { - return console.error('SweetAlert2: the argument for setDefaults() is required and has to be a object'); - } - - for (var param in userParams) { - if (!defaultParams.hasOwnProperty(param) && param !== 'extraParams') { - console.warn('SweetAlert2: Unknown parameter "' + param + '"'); - delete userParams[param]; - } - } - - _extends(modalParams, userParams); - }; - - /** - * Reset default params for each popup - */ - sweetAlert.resetDefaults = function() { - modalParams = _extends({}, defaultParams); - }; - - sweetAlert.noop = function() {}; - - sweetAlert.version = '6.6.2'; - - sweetAlert.default = sweetAlert; - - return sweetAlert; - -}))); -if (window.Sweetalert2) window.sweetAlert = window.swal = window.Sweetalert2;; -/* - * iziModal | v1.5.1 - * http://izimodal.marcelodolce.com - * by Marcelo Dolce. - */ -(function(factory) { - if (typeof define === 'function' && define.amd) { - define(['jquery'], factory); - } else if (typeof module === 'object' && module.exports) { - module.exports = function(root, jQuery) { - if (jQuery === undefined) { - if (typeof window !== 'undefined') { - jQuery = require('jquery'); - } else { - jQuery = require('jquery')(root); - } - } - factory(jQuery); - return jQuery; - }; - } else { - factory(jQuery); - } -}(function($) { - - var $window = $(window), - $document = $(document), - PLUGIN_NAME = 'iziModal', - STATES = { - CLOSING: 'closing', - CLOSED: 'closed', - OPENING: 'opening', - OPENED: 'opened', - DESTROYED: 'destroyed' - }; - - function whichAnimationEvent() { - var t, - el = document.createElement("fakeelement"), - animations = { - "animation": "animationend", - "OAnimation": "oAnimationEnd", - "MozAnimation": "animationend", - "WebkitAnimation": "webkitAnimationEnd" - }; - for (t in animations) { - if (el.style[t] !== undefined) { - return animations[t]; - } - } - } - - function isIE(version) { - if (version === 9) { - return navigator.appVersion.indexOf("MSIE 9.") !== -1; - } else { - userAgent = navigator.userAgent; - return userAgent.indexOf("MSIE ") > -1 || userAgent.indexOf("Trident/") > -1; - } - } - - function clearValue(value) { - var separators = /%|px|em|cm|vh|vw/; - return parseInt(String(value).split(separators)[0]); - } - - var animationEvent = whichAnimationEvent(), - isMobile = (/Mobi/.test(navigator.userAgent)) ? true : false; - - window.$iziModal = {}; - window.$iziModal.autoOpen = 0; - window.$iziModal.history = false; - - var iziModal = function(element, options) { - this.init(element, options); - }; - - iziModal.prototype = { - - constructor: iziModal, - - init: function(element, options) { - - var that = this; - this.$element = $(element); - - if (this.$element[0].id !== undefined && this.$element[0].id !== '') { - this.id = this.$element[0].id; - } else { - let array = new Uint8Array(3); - window.crypto.getRandomValues(array); - this.id = PLUGIN_NAME + Math.floor((array[0] * array[1] * array[2]) + 1); - this.$element.attr('id', this.id); - } - this.classes = (this.$element.attr('class') !== undefined) ? this.$element.attr('class') : ''; - this.content = this.$element.html(); - this.state = STATES.CLOSED; - this.options = options; - this.width = 0; - this.timer = null; - this.timerTimeout = null; - this.progressBar = null; - this.isPaused = false; - this.isFullscreen = false; - this.headerHeight = 0; - this.modalHeight = 0; - this.$overlay = $('
    '); - this.$navigate = $('
    Use
    '); - this.group = { - name: this.$element.attr('data-' + PLUGIN_NAME + '-group'), - index: null, - ids: [] - }; - this.$element.attr('aria-hidden', 'true'); - this.$element.attr('aria-labelledby', this.id); - this.$element.attr('role', 'dialog'); - - if (!this.$element.hasClass('iziModal')) { - this.$element.addClass('iziModal'); - } - - if (this.group.name === undefined && options.group !== "") { - this.group.name = options.group; - this.$element.attr('data-' + PLUGIN_NAME + '-group', options.group); - } - if (this.options.loop === true) { - this.$element.attr('data-' + PLUGIN_NAME + '-loop', true); - } - - $.each(this.options, function(index, val) { - var attr = that.$element.attr('data-' + PLUGIN_NAME + '-' + index); - try { - if (typeof attr !== typeof undefined) { - - if (attr === "" || attr == "true") { - options[index] = true; - } else if (attr == "false") { - options[index] = false; - } else if (typeof val == 'function') { - options[index] = new Function(attr); - } else { - options[index] = attr; - } - } - } catch (exc) {} - }); - - if (options.appendTo !== false) { - this.$element.appendTo(options.appendTo); - } - - if (options.iframe === true) { - this.$element.html('
    ' + this.content + "
    "); - - if (options.iframeHeight !== null) { - this.$element.find('.' + PLUGIN_NAME + '-iframe').css('height', options.iframeHeight); - } - } else { - this.$element.html('
    ' + this.content + '
    '); - } - - if (this.options.background !== null) { - this.$element.css('background', this.options.background); - } - - this.$wrap = this.$element.find('.' + PLUGIN_NAME + '-wrap'); - - if (options.zindex !== null && !isNaN(parseInt(options.zindex))) { - this.$element.css('z-index', options.zindex); - this.$navigate.css('z-index', options.zindex - 1); - this.$overlay.css('z-index', options.zindex - 2); - } - - if (options.radius !== "") { - this.$element.css('border-radius', options.radius); - } - - if (options.padding !== "") { - this.$element.find('.' + PLUGIN_NAME + '-content').css('padding', options.padding); - } - - if (options.theme !== "") { - if (options.theme === "light") { - this.$element.addClass(PLUGIN_NAME + '-light'); - } else { - this.$element.addClass(options.theme); - } - } - - if (options.rtl === true) { - this.$element.addClass(PLUGIN_NAME + '-rtl'); - } - - if (options.openFullscreen === true) { - this.isFullscreen = true; - this.$element.addClass('isFullscreen'); - } - - this.createHeader(); - this.recalcWidth(); - this.recalcVerticalPos(); - - if (that.options.afterRender && (typeof(that.options.afterRender) === "function" || typeof(that.options.afterRender) === "object")) { - that.options.afterRender(that); - } - - }, - - createHeader: function() { - - this.$header = $('

    ' + this.options.title + '

    ' + this.options.subtitle + '

    '); - - if (this.options.closeButton === true) { - this.$header.find('.' + PLUGIN_NAME + '-header-buttons').append(''); - } - - if (this.options.fullscreen === true) { - this.$header.find('.' + PLUGIN_NAME + '-header-buttons').append(''); - } - - if (this.options.timeoutProgressbar === true && !isNaN(parseInt(this.options.timeout)) && this.options.timeout !== false && this.options.timeout !== 0) { - this.$header.prepend('
    '); - } - - if (this.options.subtitle === '') { - this.$header.addClass(PLUGIN_NAME + '-noSubtitle'); - } - - if (this.options.title !== "") { - - if (this.options.headerColor !== null) { - if (this.options.borderBottom === true) { - this.$element.css('border-bottom', '3px solid ' + this.options.headerColor + ''); - } - this.$header.css('background', this.options.headerColor); - } - if (this.options.icon !== null || this.options.iconText !== null) { - - this.$header.prepend(''); - - if (this.options.icon !== null) { - this.$header.find('.' + PLUGIN_NAME + '-header-icon').addClass(this.options.icon).css('color', this.options.iconColor); - } - if (this.options.iconText !== null) { - this.$header.find('.' + PLUGIN_NAME + '-header-icon').html(this.options.iconText); - } - } - this.$element.css('overflow', 'hidden').prepend(this.$header); - } - }, - - setGroup: function(groupName) { - - var that = this, - group = this.group.name || groupName; - this.group.ids = []; - - if (groupName !== undefined && groupName !== this.group.name) { - group = groupName; - this.group.name = group; - this.$element.attr('data-' + PLUGIN_NAME + '-group', group); - } - if (group !== undefined && group !== "") { - - var count = 0; - $.each($('.' + PLUGIN_NAME + '[data-' + PLUGIN_NAME + '-group=' + group + ']'), function(index, val) { - - that.group.ids.push($(this)[0].id); - - if (that.id == $(this)[0].id) { - that.group.index = count; - } - count++; - }); - } - }, - - toggle: function() { - - if (this.state == STATES.OPENED) { - this.close(); - } - if (this.state == STATES.CLOSED) { - this.open(); - } - }, - - open: function(param) { - - var that = this; - - $.each($('.' + PLUGIN_NAME), function(index, modal) { - if ($(modal).data().iziModal !== undefined) { - var state = $(modal).iziModal('getState'); - if (state == 'opened' || state == 'opening') { - $(modal).iziModal('close'); - } - } - }); - - (function urlHash() { - if (that.options.history) { - var oldTitle = document.title; - document.title = oldTitle + " - " + that.options.title; - document.location.hash = that.id; - document.title = oldTitle; - //history.pushState({}, that.options.title, "#"+that.id); - window.$iziModal.history = true; - } else { - window.$iziModal.history = false; - } - })(); - - function opened() { - - // console.info('[ '+PLUGIN_NAME+' | '+that.id+' ] Opened.'); - - that.state = STATES.OPENED; - that.$element.trigger(STATES.OPENED); - - if (that.options.onOpened && (typeof(that.options.onOpened) === "function" || typeof(that.options.onOpened) === "object")) { - that.options.onOpened(that); - } - } - - function bindEvents() { - - // Close when button pressed - that.$element.off('click', '[data-' + PLUGIN_NAME + '-close]').on('click', '[data-' + PLUGIN_NAME + '-close]', function(e) { - e.preventDefault(); - - var transition = $(e.currentTarget).attr('data-' + PLUGIN_NAME + '-transitionOut'); - - if (transition !== undefined) { - that.close({ transition: transition }); - } else { - that.close(); - } - }); - - // Expand when button pressed - that.$element.off('click', '[data-' + PLUGIN_NAME + '-fullscreen]').on('click', '[data-' + PLUGIN_NAME + '-fullscreen]', function(e) { - e.preventDefault(); - if (that.isFullscreen === true) { - that.isFullscreen = false; - that.$element.removeClass('isFullscreen'); - } else { - that.isFullscreen = true; - that.$element.addClass('isFullscreen'); - } - if (that.options.onFullscreen && typeof(that.options.onFullscreen) === "function") { - that.options.onFullscreen(that); - } - that.$element.trigger('fullscreen', that); - }); - - // Next modal - that.$navigate.off('click', '.' + PLUGIN_NAME + '-navigate-next').on('click', '.' + PLUGIN_NAME + '-navigate-next', function(e) { - that.next(e); - }); - that.$element.off('click', '[data-' + PLUGIN_NAME + '-next]').on('click', '[data-' + PLUGIN_NAME + '-next]', function(e) { - that.next(e); - }); - - // Previous modal - that.$navigate.off('click', '.' + PLUGIN_NAME + '-navigate-prev').on('click', '.' + PLUGIN_NAME + '-navigate-prev', function(e) { - that.prev(e); - }); - that.$element.off('click', '[data-' + PLUGIN_NAME + '-prev]').on('click', '[data-' + PLUGIN_NAME + '-prev]', function(e) { - that.prev(e); - }); - } - - if (this.state == STATES.CLOSED) { - - bindEvents(); - - this.setGroup(); - this.state = STATES.OPENING; - this.$element.trigger(STATES.OPENING); - this.$element.attr('aria-hidden', 'false'); - - // console.info('[ '+PLUGIN_NAME+' | '+this.id+' ] Opening...'); - - if (this.options.iframe === true) { - - this.$element.find('.' + PLUGIN_NAME + '-content').addClass(PLUGIN_NAME + '-content-loader'); - - this.$element.find('.' + PLUGIN_NAME + '-iframe').on('load', function() { - $(this).parent().removeClass(PLUGIN_NAME + '-content-loader'); - }); - - var href = null; - try { - href = $(param.currentTarget).attr('href') !== "" ? $(param.currentTarget).attr('href') : null; - } catch (e) { - // console.warn(e); - } - if ((this.options.iframeURL !== null) && (href === null || href === undefined)) { - href = this.options.iframeURL; - } - if (href === null || href === undefined) { - throw new Error("Failed to find iframe URL"); - } - this.$element.find('.' + PLUGIN_NAME + '-iframe').attr('src', href); - } - - - if (this.options.bodyOverflow || isMobile) { - $('html').addClass(PLUGIN_NAME + '-isOverflow'); - if (isMobile) { - $('body').css('overflow', 'hidden'); - } - } - - if (this.options.onOpening && typeof(this.options.onOpening) === "function") { - this.options.onOpening(this); - } - (function open() { - - if (that.group.ids.length > 1) { - - that.$navigate.appendTo('body'); - that.$navigate.addClass('fadeIn'); - - if (that.options.navigateCaption === true) { - that.$navigate.find('.' + PLUGIN_NAME + '-navigate-caption').show(); - } - - var modalWidth = that.$element.outerWidth(); - if (that.options.navigateArrows !== false) { - if (that.options.navigateArrows === 'closeScreenEdge') { - that.$navigate.find('.' + PLUGIN_NAME + '-navigate-prev').css('left', 0).show(); - that.$navigate.find('.' + PLUGIN_NAME + '-navigate-next').css('right', 0).show(); - } else { - that.$navigate.find('.' + PLUGIN_NAME + '-navigate-prev').css('margin-left', -((modalWidth / 2) + 84)).show(); - that.$navigate.find('.' + PLUGIN_NAME + '-navigate-next').css('margin-right', -((modalWidth / 2) + 84)).show(); - } - } else { - that.$navigate.find('.' + PLUGIN_NAME + '-navigate-prev').hide(); - that.$navigate.find('.' + PLUGIN_NAME + '-navigate-next').hide(); - } - - var loop; - if (that.group.index === 0) { - - loop = $('.' + PLUGIN_NAME + '[data-' + PLUGIN_NAME + '-group="' + that.group.name + '"][data-' + PLUGIN_NAME + '-loop]').length; - - if (loop === 0 && that.options.loop === false) - that.$navigate.find('.' + PLUGIN_NAME + '-navigate-prev').hide(); - } - if (that.group.index + 1 === that.group.ids.length) { - - loop = $('.' + PLUGIN_NAME + '[data-' + PLUGIN_NAME + '-group="' + that.group.name + '"][data-' + PLUGIN_NAME + '-loop]').length; - - if (loop === 0 && that.options.loop === false) - that.$navigate.find('.' + PLUGIN_NAME + '-navigate-next').hide(); - } - } - - if (that.options.overlay === true) { - - if (that.options.appendToOverlay === false) { - that.$overlay.appendTo('body'); - } else { - that.$overlay.appendTo(that.options.appendToOverlay); - } - } - - if (that.options.transitionInOverlay) { - that.$overlay.addClass(that.options.transitionInOverlay); - } - - var transitionIn = that.options.transitionIn; - - if (typeof param == 'object') { - if (param.transition !== undefined || param.transitionIn !== undefined) { - transitionIn = param.transition || param.transitionIn; - } - } - - if (transitionIn !== '' && animationEvent !== undefined) { - - that.$element.addClass("transitionIn " + transitionIn).show(); - that.$wrap.one(animationEvent, function() { - - that.$element.removeClass(transitionIn + " transitionIn"); - that.$overlay.removeClass(that.options.transitionInOverlay); - that.$navigate.removeClass('fadeIn'); - - opened(); - }); - - } else { - - that.$element.show(); - opened(); - } - - if (that.options.pauseOnHover === true && that.options.pauseOnHover === true && that.options.timeout !== false && !isNaN(parseInt(that.options.timeout)) && that.options.timeout !== false && that.options.timeout !== 0) { - - that.$element.off('mouseenter').on('mouseenter', function(event) { - event.preventDefault(); - that.isPaused = true; - }); - that.$element.off('mouseleave').on('mouseleave', function(event) { - event.preventDefault(); - that.isPaused = false; - }); - } - - })(); - - if (this.options.timeout !== false && !isNaN(parseInt(this.options.timeout)) && this.options.timeout !== false && this.options.timeout !== 0) { - - if (this.options.timeoutProgressbar === true) { - - this.progressBar = { - hideEta: null, - maxHideTime: null, - currentTime: new Date().getTime(), - el: this.$element.find('.' + PLUGIN_NAME + '-progressbar > div'), - updateProgress: function() { - if (!that.isPaused) { - - that.progressBar.currentTime = that.progressBar.currentTime + 10; - - var percentage = ((that.progressBar.hideEta - (that.progressBar.currentTime)) / that.progressBar.maxHideTime) * 100; - that.progressBar.el.width(percentage + '%'); - if (percentage < 0) { - that.close(); - } - } - } - }; - if (this.options.timeout > 0) { - - this.progressBar.maxHideTime = parseFloat(this.options.timeout); - this.progressBar.hideEta = new Date().getTime() + this.progressBar.maxHideTime; - this.timerTimeout = setInterval(this.progressBar.updateProgress, 10); - } - - } else { - - this.timerTimeout = setTimeout(function() { - that.close(); - }, that.options.timeout); - } - } - - // Close on overlay click - if (this.options.overlayClose && !this.$element.hasClass(this.options.transitionOut)) { - this.$overlay.click(function() { - that.close(); - }); - } - - if (this.options.focusInput) { - this.$element.find(':input:not(button):enabled:visible:first').focus(); // Focus on the first field - } - - (function updateTimer() { - that.recalcLayout(); - that.timer = setTimeout(updateTimer, 300); - })(); - - // Close when the Escape key is pressed - $document.on('keydown.' + PLUGIN_NAME, function(e) { - if (that.options.closeOnEscape && e.keyCode === 27) { - that.close(); - } - }); - - } - - }, - - close: function(param) { - - var that = this; - - function closed() { - - // console.info('[ '+PLUGIN_NAME+' | '+that.id+' ] Closed.'); - - that.state = STATES.CLOSED; - that.$element.trigger(STATES.CLOSED); - - if (that.options.iframe === true) { - that.$element.find('.' + PLUGIN_NAME + '-iframe').attr('src', ""); - } - - if (that.options.bodyOverflow || isMobile) { - $('html').removeClass(PLUGIN_NAME + '-isOverflow'); - if (isMobile) { - $('body').css('overflow', 'auto'); - } - } - - if (that.options.onClosed && typeof(that.options.onClosed) === "function") { - that.options.onClosed(that); - } - - if (that.options.restoreDefaultContent === true) { - that.$element.find('.' + PLUGIN_NAME + '-content').html(that.content); - } - - if ($('.' + PLUGIN_NAME + ':visible').length === 0) { - $('html').removeClass(PLUGIN_NAME + '-isAttached'); - } - } - - if (this.state == STATES.OPENED || this.state == STATES.OPENING) { - - $document.off('keydown.' + PLUGIN_NAME); - - this.state = STATES.CLOSING; - this.$element.trigger(STATES.CLOSING); - this.$element.attr('aria-hidden', 'true'); - - // console.info('[ '+PLUGIN_NAME+' | '+this.id+' ] Closing...'); - - clearTimeout(this.timer); - clearTimeout(this.timerTimeout); - - if (that.options.onClosing && typeof(that.options.onClosing) === "function") { - that.options.onClosing(this); - } - - var transitionOut = this.options.transitionOut; - - if (typeof param == 'object') { - if (param.transition !== undefined || param.transitionOut !== undefined) { - transitionOut = param.transition || param.transitionOut; - } - } - - if ((transitionOut === false || transitionOut === '') || animationEvent === undefined) { - - this.$element.hide(); - this.$overlay.remove(); - this.$navigate.remove(); - closed(); - - } else { - - this.$element.attr('class', [ - this.classes, - PLUGIN_NAME, - transitionOut, - this.options.theme == 'light' ? PLUGIN_NAME + '-light' : this.options.theme, - this.isFullscreen === true ? 'isFullscreen' : '', - this.options.rtl ? PLUGIN_NAME + '-rtl' : '' - ].join(' ')); - - this.$overlay.attr('class', PLUGIN_NAME + "-overlay " + this.options.transitionOutOverlay); - - if (that.options.navigateArrows !== false) { - this.$navigate.attr('class', PLUGIN_NAME + "-navigate fadeOut"); - } - - this.$element.one(animationEvent, function() { - - if (that.$element.hasClass(transitionOut)) { - that.$element.removeClass(transitionOut + " transitionOut").hide(); - } - that.$overlay.removeClass(that.options.transitionOutOverlay).remove(); - that.$navigate.removeClass('fadeOut').remove(); - closed(); - }); - - } - - } - }, - - next: function(e) { - - var that = this; - var transitionIn = 'fadeInRight'; - var transitionOut = 'fadeOutLeft'; - var modal = $('.' + PLUGIN_NAME + ':visible'); - var modals = {}; - modals.out = this; - - if (e !== undefined && typeof e !== 'object') { - e.preventDefault(); - modal = $(e.currentTarget); - transitionIn = modal.attr('data-' + PLUGIN_NAME + '-transitionIn'); - transitionOut = modal.attr('data-' + PLUGIN_NAME + '-transitionOut'); - } else if (e !== undefined) { - if (e.transitionIn !== undefined) { - transitionIn = e.transitionIn; - } - if (e.transitionOut !== undefined) { - transitionOut = e.transitionOut; - } - } - - this.close({ transition: transitionOut }); - - setTimeout(function() { - - var loop = $('.' + PLUGIN_NAME + '[data-' + PLUGIN_NAME + '-group="' + that.group.name + '"][data-' + PLUGIN_NAME + '-loop]').length; - for (var i = that.group.index + 1; i <= that.group.ids.length; i++) { - - try { - modals.in = $("#" + that.group.ids[i]).data().iziModal; - } catch (log) { - // console.info('[ '+PLUGIN_NAME+' ] No next modal.'); - } - if (typeof modals.in !== 'undefined') { - - $("#" + that.group.ids[i]).iziModal('open', { transition: transitionIn }); - break; - - } else { - - if (i == that.group.ids.length && loop > 0 || that.options.loop === true) { - - for (var index = 0; index <= that.group.ids.length; index++) { - - modals.in = $("#" + that.group.ids[index]).data().iziModal; - if (typeof modals.in !== 'undefined') { - $("#" + that.group.ids[index]).iziModal('open', { transition: transitionIn }); - break; - } - } - } - } - } - - }, 200); - - $(document).trigger(PLUGIN_NAME + "-group-change", modals); - }, - - prev: function(e) { - var that = this; - var transitionIn = 'fadeInLeft'; - var transitionOut = 'fadeOutRight'; - var modal = $('.' + PLUGIN_NAME + ':visible'); - var modals = {}; - modals.out = this; - - if (e !== undefined && typeof e !== 'object') { - e.preventDefault(); - modal = $(e.currentTarget); - transitionIn = modal.attr('data-' + PLUGIN_NAME + '-transitionIn'); - transitionOut = modal.attr('data-' + PLUGIN_NAME + '-transitionOut'); - - } else if (e !== undefined) { - - if (e.transitionIn !== undefined) { - transitionIn = e.transitionIn; - } - if (e.transitionOut !== undefined) { - transitionOut = e.transitionOut; - } - } - - this.close({ transition: transitionOut }); - - setTimeout(function() { - - var loop = $('.' + PLUGIN_NAME + '[data-' + PLUGIN_NAME + '-group="' + that.group.name + '"][data-' + PLUGIN_NAME + '-loop]').length; - - for (var i = that.group.index; i >= 0; i--) { - - try { - modals.in = $("#" + that.group.ids[i - 1]).data().iziModal; - } catch (log) { - // console.info('[ '+PLUGIN_NAME+' ] No previous modal.'); - } - if (typeof modals.in !== 'undefined') { - - $("#" + that.group.ids[i - 1]).iziModal('open', { transition: transitionIn }); - break; - - } else { - - if (i === 0 && loop > 0 || that.options.loop === true) { - - for (var index = that.group.ids.length - 1; index >= 0; index--) { - - modals.in = $("#" + that.group.ids[index]).data().iziModal; - if (typeof modals.in !== 'undefined') { - $("#" + that.group.ids[index]).iziModal('open', { transition: transitionIn }); - break; - } - } - } - } - } - - }, 200); - - $(document).trigger(PLUGIN_NAME + "-group-change", modals); - }, - - destroy: function() { - var e = $.Event('destroy'); - - this.$element.trigger(e); - - $document.off('keydown.' + PLUGIN_NAME); - - clearTimeout(this.timer); - clearTimeout(this.timerTimeout); - - if (this.options.iframe === true) { - this.$element.find('.' + PLUGIN_NAME + '-iframe').remove(); - } - this.$element.html(this.$element.find('.' + PLUGIN_NAME + '-content').html()); - - this.$element.off('click', '[data-' + PLUGIN_NAME + '-close]'); - this.$element.off('click', '[data-' + PLUGIN_NAME + '-fullscreen]'); - - this.$element - .off('.' + PLUGIN_NAME) - .removeData(PLUGIN_NAME) - .attr('style', ''); - - this.$overlay.remove(); - this.$navigate.remove(); - this.$element.trigger(STATES.DESTROYED); - this.$element = null; - }, - - getState: function() { - - return this.state; - }, - - getGroup: function() { - - return this.group; - }, - - setWidth: function(width) { - - this.options.width = width; - - this.recalcWidth(); - - var modalWidth = this.$element.outerWidth(); - if (this.options.navigateArrows === true || this.options.navigateArrows == 'closeToModal') { - this.$navigate.find('.' + PLUGIN_NAME + '-navigate-prev').css('margin-left', -((modalWidth / 2) + 84)).show(); - this.$navigate.find('.' + PLUGIN_NAME + '-navigate-next').css('margin-right', -((modalWidth / 2) + 84)).show(); - } - - }, - - setTop: function(top) { - - this.options.top = top; - - this.recalcVerticalPos(false); - }, - - setBottom: function(bottom) { - - this.options.bottom = bottom; - - this.recalcVerticalPos(false); - - }, - - setHeader: function(status) { - - if (status) { - this.$element.find('.' + PLUGIN_NAME + '-header').show(); - } else { - this.headerHeight = 0; - this.$element.find('.' + PLUGIN_NAME + '-header').hide(); - } - }, - - setTitle: function(title) { - - this.options.title = title; - - if (this.headerHeight === 0) { - this.createHeader(); - } - - if (this.$header.find('.' + PLUGIN_NAME + '-header-title').length === 0) { - this.$header.append('

    '); - } - - this.$header.find('.' + PLUGIN_NAME + '-header-title').html(title); - }, - - setSubtitle: function(subtitle) { - - if (subtitle === '') { - - this.$header.find('.' + PLUGIN_NAME + '-header-subtitle').remove(); - this.$header.addClass(PLUGIN_NAME + '-noSubtitle'); - - } else { - - if (this.$header.find('.' + PLUGIN_NAME + '-header-subtitle').length === 0) { - this.$header.append('

    '); - } - this.$header.removeClass(PLUGIN_NAME + '-noSubtitle'); - - } - - this.$header.find('.' + PLUGIN_NAME + '-header-subtitle').html(subtitle); - this.options.subtitle = subtitle; - }, - - setIcon: function(icon) { - - if (this.$header.find('.' + PLUGIN_NAME + '-header-icon').length === 0) { - this.$header.prepend(''); - } - this.$header.find('.' + PLUGIN_NAME + '-header-icon').attr('class', PLUGIN_NAME + '-header-icon ' + icon); - this.options.icon = icon; - }, - - setIconText: function(iconText) { - - this.$header.find('.' + PLUGIN_NAME + '-header-icon').html(iconText); - this.options.iconText = iconText; - }, - - setHeaderColor: function(headerColor) { - if (this.options.borderBottom === true) { - this.$element.css('border-bottom', '3px solid ' + headerColor + ''); - } - this.$header.css('background', headerColor); - this.options.headerColor = headerColor; - }, - - setBackground: function(background) { - if (background === false) { - this.options.background = null; - this.$element.css('background', ''); - } else { - this.$element.css('background', background); - this.options.background = background; - } - }, - - setZindex: function(zIndex) { - - if (!isNaN(parseInt(this.options.zindex))) { - this.options.zindex = zIndex; - this.$element.css('z-index', zIndex); - this.$navigate.css('z-index', zIndex - 1); - this.$overlay.css('z-index', zIndex - 2); - } - }, - - setFullscreen: function(value) { - - if (value) { - this.isFullscreen = true; - this.$element.addClass('isFullscreen'); - } else { - this.isFullscreen = false; - this.$element.removeClass('isFullscreen'); - } - - }, - - setContent: function(content) { - - if (typeof content == "object") { - var replace = content.default || false; - if (replace === true) { - this.content = content.content; - } - content = content.content; - } - if (this.options.iframe === false) { - this.$element.find('.' + PLUGIN_NAME + '-content').html(content); - } - - }, - - setTransitionIn: function(transition) { - - this.options.transitionIn = transition; - }, - - setTransitionOut: function(transition) { - - this.options.transitionOut = transition; - }, - - resetContent: function() { - - this.$element.find('.' + PLUGIN_NAME + '-content').html(this.content); - - }, - - startLoading: function() { - - if (!this.$element.find('.' + PLUGIN_NAME + '-loader').length) { - this.$element.append('
    '); - } - this.$element.find('.' + PLUGIN_NAME + '-loader').css({ - top: this.headerHeight, - borderRadius: this.options.radius - }); - }, - - stopLoading: function() { - - var $loader = this.$element.find('.' + PLUGIN_NAME + '-loader'); - - if (!$loader.length) { - this.$element.prepend('
    '); - $loader = this.$element.find('.' + PLUGIN_NAME + '-loader').css('border-radius', this.options.radius); - } - $loader.removeClass('fadeIn').addClass('fadeOut'); - setTimeout(function() { - $loader.remove(); - }, 600); - }, - - recalcWidth: function() { - - var that = this; - - this.$element.css('max-width', this.options.width); - - if (isIE()) { - var modalWidth = that.options.width; - - if (modalWidth.toString().split("%").length > 1) { - modalWidth = that.$element.outerWidth(); - } - that.$element.css({ - left: '50%', - marginLeft: -(modalWidth / 2) - }); - } - }, - - recalcVerticalPos: function(first) { - - if (this.options.top !== null && this.options.top !== false) { - this.$element.css('margin-top', this.options.top); - if (this.options.top === 0) { - this.$element.css({ - borderTopRightRadius: 0, - borderTopLeftRadius: 0 - }); - } - } else { - if (first === false) { - this.$element.css({ - marginTop: '', - borderRadius: this.options.radius - }); - } - } - if (this.options.bottom !== null && this.options.bottom !== false) { - this.$element.css('margin-bottom', this.options.bottom); - if (this.options.bottom === 0) { - this.$element.css({ - borderBottomRightRadius: 0, - borderBottomLeftRadius: 0 - }); - } - } else { - if (first === false) { - this.$element.css({ - marginBottom: '', - borderRadius: this.options.radius - }); - } - } - - }, - - recalcLayout: function() { - - var that = this, - windowHeight = $window.height(), - modalHeight = this.$element.outerHeight(), - modalWidth = this.$element.outerWidth(), - contentHeight = this.$element.find('.' + PLUGIN_NAME + '-content')[0].scrollHeight, - outerHeight = contentHeight + this.headerHeight, - wrapperHeight = this.$element.innerHeight() - this.headerHeight, - modalMargin = parseInt(-((this.$element.innerHeight() + 1) / 2)) + 'px', - scrollTop = this.$wrap.scrollTop(), - borderSize = 0; - - if (isIE()) { - if (modalWidth >= $window.width() || this.isFullscreen === true) { - this.$element.css({ - left: '0', - marginLeft: '' - }); - } else { - this.$element.css({ - left: '50%', - marginLeft: -(modalWidth / 2) - }); - } - } - - if (this.options.borderBottom === true && this.options.title !== "") { - borderSize = 3; - } - - if (this.$element.find('.' + PLUGIN_NAME + '-header').length && this.$element.find('.' + PLUGIN_NAME + '-header').is(':visible')) { - this.headerHeight = parseInt(this.$element.find('.' + PLUGIN_NAME + '-header').innerHeight()); - this.$element.css('overflow', 'hidden'); - } else { - this.headerHeight = 0; - this.$element.css('overflow', ''); - } - - if (this.$element.find('.' + PLUGIN_NAME + '-loader').length) { - this.$element.find('.' + PLUGIN_NAME + '-loader').css('top', this.headerHeight); - } - - if (modalHeight !== this.modalHeight) { - this.modalHeight = modalHeight; - - if (this.options.onResize && typeof(this.options.onResize) === "function") { - this.options.onResize(this); - } - } - - if (this.state == STATES.OPENED || this.state == STATES.OPENING) { - - if (this.options.iframe === true) { - - // If the height of the window is smaller than the modal with iframe - if (windowHeight < (this.options.iframeHeight + this.headerHeight + borderSize) || this.isFullscreen === true) { - this.$element.find('.' + PLUGIN_NAME + '-iframe').css('height', windowHeight - (this.headerHeight + borderSize)); - } else { - this.$element.find('.' + PLUGIN_NAME + '-iframe').css('height', this.options.iframeHeight); - } - } - - if (modalHeight == windowHeight) { - this.$element.addClass('isAttached'); - } else { - this.$element.removeClass('isAttached'); - } - - if (this.isFullscreen === false && this.$element.width() >= $window.width()) { - this.$element.find('.' + PLUGIN_NAME + '-button-fullscreen').hide(); - } else { - this.$element.find('.' + PLUGIN_NAME + '-button-fullscreen').show(); - } - this.recalcButtons(); - - if (this.isFullscreen === false) { - windowHeight = windowHeight - (clearValue(this.options.top) || 0) - (clearValue(this.options.bottom) || 0); - } - // If the modal is larger than the height of the window.. - if (outerHeight > windowHeight) { - if (this.options.top > 0 && this.options.bottom === null && contentHeight < $window.height()) { - this.$element.addClass('isAttachedBottom'); - } - if (this.options.bottom > 0 && this.options.top === null && contentHeight < $window.height()) { - this.$element.addClass('isAttachedTop'); - } - $('html').addClass(PLUGIN_NAME + '-isAttached'); - this.$element.css('height', windowHeight); - - } else { - this.$element.css('height', contentHeight + (this.headerHeight + borderSize)); - this.$element.removeClass('isAttachedTop isAttachedBottom'); - $('html').removeClass(PLUGIN_NAME + '-isAttached'); - } - - (function applyScroll() { - if (contentHeight > wrapperHeight && outerHeight > windowHeight) { - that.$element.addClass('hasScroll'); - that.$wrap.css('height', modalHeight - (that.headerHeight + borderSize)); - } else { - that.$element.removeClass('hasScroll'); - that.$wrap.css('height', 'auto'); - } - })(); - - (function applyShadow() { - if (wrapperHeight + scrollTop < (contentHeight - 30)) { - that.$element.addClass('hasShadow'); - } else { - that.$element.removeClass('hasShadow'); - } - })(); - - } - }, - - recalcButtons: function() { - var widthButtons = this.$header.find('.' + PLUGIN_NAME + '-header-buttons').innerWidth() + 10; - if (this.options.rtl === true) { - this.$header.css('padding-left', widthButtons); - } else { - this.$header.css('padding-right', widthButtons); - } - } - - }; - - function escapeHash(hash) { - return '#' + encodeURIComponent(hash.substr(1)); - } - - $window.off('load.' + PLUGIN_NAME).on('load.' + PLUGIN_NAME, function(e) { - - var modalHash = escapeHash(document.location.hash); - - if (window.$iziModal.autoOpen === 0 && !$('.' + PLUGIN_NAME).is(":visible")) { - - try { - var data = $(modalHash).data(); - if (typeof data !== 'undefined') { - if (data.iziModal.options.autoOpen !== false) { - $(modalHash).iziModal("open"); - } - } - } catch (exc) { /* console.warn(exc); */ } - } - - }); - - $window.off('hashchange.' + PLUGIN_NAME).on('hashchange.' + PLUGIN_NAME, function(e) { - - var modalHash = escapeHash(document.location.hash); - var data = $(modalHash).data(); - - if (modalHash !== "") { - try { - if (typeof data !== 'undefined' && $(modalHash).iziModal('getState') !== 'opening') { - - setTimeout(function() { - $(modalHash).iziModal("open"); - }, 200); - } - } catch (exc) { /* console.warn(exc); */ } - - } else { - - if (window.$iziModal.history) { - $.each($('.' + PLUGIN_NAME), function(index, modal) { - if ($(modal).data().iziModal !== undefined) { - var state = $(modal).iziModal('getState'); - if (state == 'opened' || state == 'opening') { - $(modal).iziModal('close'); - } - } - }); - } - } - - - }); - - $document.off('click', '[data-' + PLUGIN_NAME + '-open]').on('click', '[data-' + PLUGIN_NAME + '-open]', function(e) { - e.preventDefault(); - - var modal = $('.' + PLUGIN_NAME + ':visible'); - var openModal = $(e.currentTarget).attr('data-' + PLUGIN_NAME + '-open'); - var transitionIn = $(e.currentTarget).attr('data-' + PLUGIN_NAME + '-transitionIn'); - var transitionOut = $(e.currentTarget).attr('data-' + PLUGIN_NAME + '-transitionOut'); - - if (transitionOut !== undefined) { - modal.iziModal('close', { - transition: transitionOut - }); - } else { - modal.iziModal('close'); - } - - setTimeout(function() { - if (transitionIn !== undefined) { - $(openModal).iziModal('open', { - transition: transitionIn - }); - } else { - $(openModal).iziModal('open'); - } - }, 200); - }); - - $document.off('keyup.' + PLUGIN_NAME).on('keyup.' + PLUGIN_NAME, function(event) { - - if ($('.' + PLUGIN_NAME + ':visible').length) { - var modal = $('.' + PLUGIN_NAME + ':visible')[0].id, - group = $("#" + modal).iziModal('getGroup'), - e = event || window.event, - target = e.target || e.srcElement, - modals = {}; - - if (modal !== undefined && group.name !== undefined && !e.ctrlKey && !e.metaKey && !e.altKey && target.tagName.toUpperCase() !== 'INPUT' && target.tagName.toUpperCase() != 'TEXTAREA') { //&& $(e.target).is('body') - - if (e.keyCode === 37) { // left - - $("#" + modal).iziModal('prev', e); - } else if (e.keyCode === 39) { // right - - $("#" + modal).iziModal('next', e); - - } - } - } - }); - - $.fn[PLUGIN_NAME] = function(option, args) { - - - if (!$(this).length && typeof option == "object") { - - var newEL = { - $el: document.createElement("div"), - id: this.selector.split('#'), - class: this.selector.split('.') - }; - - if (newEL.id.length > 1) { - try { - newEL.$el = document.createElement(id[0]); - } catch (exc) {} - - newEL.$el.id = this.selector.split('#')[1].trim(); - - } else if (newEL.class.length > 1) { - try { - newEL.$el = document.createElement(newEL.class[0]); - } catch (exc) {} - - for (var x = 1; x < newEL.class.length; x++) { - newEL.$el.classList.add(newEL.class[x].trim()); - } - } - document.body.appendChild(newEL.$el); - - this.push($(this.selector)); - } - var objs = this; - - for (var i = 0; i < objs.length; i++) { - - var $this = $(objs[i]); - var data = $this.data(PLUGIN_NAME); - var options = $.extend({}, $.fn[PLUGIN_NAME].defaults, $this.data(), typeof option == 'object' && option); - - if (!data && (!option || typeof option == 'object')) { - - $this.data(PLUGIN_NAME, (data = new iziModal($this, options))); - } else if (typeof option == 'string' && typeof data != 'undefined') { - - return data[option].apply(data, [].concat(args)); - } - if (options.autoOpen) { // Automatically open the modal if autoOpen setted true or ms - - if (!isNaN(parseInt(options.autoOpen))) { - - setTimeout(function() { - data.open(); - }, options.autoOpen); - - } else if (options.autoOpen === true) { - - data.open(); - } - window.$iziModal.autoOpen++; - } - } - - return this; - }; - - $.fn[PLUGIN_NAME].defaults = { - title: '', - subtitle: '', - headerColor: '#88A0B9', - background: null, - theme: '', // light - icon: null, - iconText: null, - iconColor: '', - rtl: false, - width: 600, - top: null, - bottom: null, - borderBottom: true, - padding: 0, - radius: 3, - zindex: 999, - iframe: false, - iframeHeight: 400, - iframeURL: null, - focusInput: true, - group: '', - loop: false, - navigateCaption: true, - navigateArrows: true, // Boolean, 'closeToModal', 'closeScreenEdge' - history: false, - restoreDefaultContent: false, - autoOpen: 0, // Boolean, Number - bodyOverflow: false, - fullscreen: false, - openFullscreen: false, - closeOnEscape: true, - closeButton: true, - appendTo: 'body', // or false - appendToOverlay: 'body', // or false - overlay: true, - overlayClose: true, - overlayColor: 'rgba(0, 0, 0, 0.4)', - timeout: false, - timeoutProgressbar: false, - pauseOnHover: false, - timeoutProgressbarColor: 'rgba(255,255,255,0.5)', - transitionIn: 'comingIn', // comingIn, bounceInDown, bounceInUp, fadeInDown, fadeInUp, fadeInLeft, fadeInRight, flipInX - transitionOut: 'comingOut', // comingOut, bounceOutDown, bounceOutUp, fadeOutDown, fadeOutUp, , fadeOutLeft, fadeOutRight, flipOutX - transitionInOverlay: 'fadeIn', - transitionOutOverlay: 'fadeOut', - onFullscreen: function() {}, - onResize: function() {}, - onOpening: function() {}, - onOpened: function() {}, - onClosing: function() {}, - onClosed: function() {}, - afterRender: function() {} - }; - - $.fn[PLUGIN_NAME].Constructor = iziModal; - - return $.fn.iziModal; - -}));; -MONSTER('Pagarme.Application', function(Model, $, utils) { - - var createNames = [ - // Name for instance method create() if not component - ]; - - Model.init = function(container) { - Model.setArrayIncludesPolyfill(); - Pagarme.BuildComponents.create(container); - Pagarme.BuildCreate.init(container, createNames); - }; - - Model.setArrayIncludesPolyfill = function() { - if (!Array.prototype.includes) { - Object.defineProperty(Array.prototype, 'includes', { - value: function(searchElement, fromIndex) { - - if (this == null) { - throw new TypeError('"this" is null or not defined'); - } - - var o = Object(this); - var len = o.length >>> 0; - - if (len === 0) { - return false; - } - - var n = fromIndex | 0; - var k = Math.max(n >= 0 ? n : len - Math.abs(n), 0); - - while (k < len) { - if (o[k] === searchElement) { - return true; - } - k++; - } - - return false; - } - }); - } - }; - -});; -MONSTER('Pagarme.Components.Capture', function(Model, $, Utils) { - - Model.fn.start = function() { - this.init(); - this.lock = false; - }; - - Model.fn.init = function() { - this.addEventListener(); - this.startModal(); - }; - - Model.fn.addEventListener = function() { - this.$el.find('[data-ref]:enabled').on('click', function(e) { - e.preventDefault(); - var target = e.currentTarget; - var selector = '[data-charge-action=' + target.dataset.ref + '-' + target.dataset.type + ']'; - $(selector).iziModal('open'); - }); - }; - - Model.fn.onClickCancel = function(e) { - e.preventDefault(); - this.handleEvents(e, 'cancel'); - }; - - Model.fn.onClickCapture = function(e) { - e.preventDefault(); - this.handleEvents(e, 'capture'); - }; - - Model.fn.handleEvents = function(DOMEvent, type) { - var target = $(DOMEvent.currentTarget); - var wrapper = target.closest('[data-charge]'); - var chargeId = wrapper.data('charge'); - var amount = wrapper.find('[data-element=amount]').val(); - - this.request(type, chargeId, amount); - }; - - Model.fn.request = function(mode, chargeId, amount) { - if (this.lock) { - return; - } - this.lock = true; - this.requestInProgress(); - var ajax = $.ajax({ - 'url': MONSTER.utils.getAjaxUrl(), - 'method': 'POST', - 'data': { - 'action': 'STW3dqRT6E', - 'mode': mode, - 'charge_id': chargeId, - 'amount': amount - } - }); - - ajax.done(this._onDone.bind(this)); - ajax.fail(this._onFail.bind(this)); - }; - - Model.fn.startModal = function() { - var self = this; - $('.modal').iziModal({ - padding: 20, - onOpening: function(modal) { - var amount = modal.$element.find('[data-element=amount]'); - const options = { - reverse: true, - onKeyPress: function(amountValue, event, field) { - if (!event.originalEvent) { - return; - } - - amountValue = amountValue.replace(/^0+/, '') - if (amountValue[0] === ',') { - amountValue = '0' + amountValue; - } - - if (amountValue && amountValue.length <= 2) { - amountValue = ('000' + amountValue).slice(-3); - field.val(amountValue); - field.trigger('input'); - return; - } - - field.val(amountValue); - } - }; - amount.mask("#.##0,00", options); - modal.$element.on('click', '[data-action=capture]', self.onClickCapture.bind(self)); - modal.$element.on('click', '[data-action=cancel]', self.onClickCancel.bind(self)); - } - }); - }; - - Model.fn.requestInProgress = function() { - swal({ - title: ' ', - text: 'Processando...', - allowOutsideClick: false - }); - swal.showLoading(); - }; - - Model.fn._onDone = function(response) { - this.lock = false; - $('.modal').iziModal('close'); - swal.close(); - swal({ - type: 'success', - title: ' ', - html: response.data.message, - showConfirmButton: false, - timer: 2000 - }).then( - function() {}, - function(dismiss) { - window.location.reload(); - } - ); - }; - - Model.fn._onFail = function(xhr) { - this.lock = false; - swal.close(); - var data = JSON.parse(xhr.responseText); - swal({ - type: 'error', - title: ' ', - html: data.message, - showConfirmButton: false, - timer: 2000 - }); - }; - -});; -MONSTER('Pagarme.Components.Settings', function(Model, $, Utils) { - - var errorClass = Utils.addPrefix('field-error'); - - Model.fn.start = function() { - this.init(); - }; - - Model.fn.init = function() { - this.installments = $('[data-field="installments"]'); - this.billet = $('[data-field="billet"]'); - this.installmentsMax = $('[data-field="installments-maximum"]'); - this.installmentsInterest = $('[data-field="installments-interest"]'); - this.installmentsMinAmount = $('[data-field="installments-min-amount"]'); - this.installmentsByFlag = $('[data-field="installments-by-flag"]'); - this.installmentsWithoutInterest = $('[data-field="installments-without-interest"]'); - this.installmentsInterestIncrease = $('[data-field="installments-interest-increase"]'); - this.antifraudSection = $('h3[id*="woo-pagarme-payments_section_antifraud"]'); - this.antifraudEnabled = $('[data-field="antifraud-enabled"]'); - this.voucherEnabled = $('#woocommerce_woo-pagarme-payments_enable_voucher'); - this.antifraudMinValue = $('[data-field="antifraud-min-value"]'); - this.ccBrands = $('[data-field="flags-select"]'); - this.ccAllowSave = $('[data-field="cc-allow-save"]'); - this.billetBank = $('[data-field="billet-bank"]'); - this.softDescriptor = $('[data-field="soft-descriptor"]'); - this.voucherSection = $('h3[id*="woo-pagarme-payments_section_voucher"]'); - this.voucherSoftDescriptor = $('[data-field="voucher-soft-descriptor"]'); - this.VoucherccBrands = $('[data-field="voucher-flags-select"]'); - this.cardWallet = $('[data-field="card-wallet"]'); - this.voucherCardWallet = $('[data-field="voucher-card-wallet"]'); - - this.isGatewayIntegrationType = $('input[id*="woo-pagarme-payments_is_gateway_integration_type"]').prop("checked"); - this.installmentsMaxByFlag = this.installmentsByFlag.find('input[name*="cc_installments_by_flag[max_installment]"]'); - this.installmentsWithoutInterestByFlag = this.installmentsByFlag.find('input[name*="cc_installments_by_flag[no_interest]"]'); - - this.handleInstallmentFieldsVisibility(this.elements.installmentsTypeSelect.val()); - this.handleGatewayIntegrationFieldsVisibility(this.isGatewayIntegrationType); - this.handleBilletBankRequirement(); - - this.setMaxInstallmentsWithoutInterestBasedOnMaxInstallments(); - this.setMaxInstallmentsWithoutInterestBasedOnMaxInstallmentsByFlag(); - - this.setInstallmentsByFlags(null, true); - - this.addEventListener(); - }; - - Model.fn.addEventListener = function() { - this.on('keyup', 'soft-descriptor'); - this.on('change', 'environment'); - this.on('change', 'installments-type'); - this.on('change', 'is-gateway-integration-type'); - this.on('change', 'enable-billet'); - this.on('change', 'enable-multimethods-billet-card'); - - this.elements.flagsSelect.on('select2:unselecting', this._onChangeFlags.bind(this)); - this.elements.flagsSelect.on('select2:selecting', this._onChangeFlags.bind(this)); - - $('#mainform').on('submit', this._onSubmitForm.bind(this)); - }; - - Model.fn._onKeyupSoftDescriptor = function(event) { - var isGatewayIntegrationType = $('input[id*="woo-pagarme-payments_is_gateway_integration_type"]').prop("checked"); - - if (!isGatewayIntegrationType && event.currentTarget.value.length > 13) { - $(event.currentTarget).addClass(errorClass); - return; - } - - if (isGatewayIntegrationType && event.currentTarget.value.length > 22) { - $(event.currentTarget).addClass(errorClass); - return; - } - - $(event.currentTarget).removeClass(errorClass); - }; - - Model.fn._onSubmitForm = function(event) { - this.toTop = false; - this.items = []; - - this.elements.validate.each(this._eachValidate.bind(this)); - - return !~this.items.indexOf(true); - }; - - Model.fn._onChangeInstallmentsType = function(event) { - this.handleInstallmentFieldsVisibility(event.currentTarget.value); - }; - - Model.fn._onChangeIsGatewayIntegrationType = function(event) { - this.handleGatewayIntegrationFieldsVisibility(event.currentTarget.checked); - }; - - Model.fn._onChangeEnableBillet = function() { - this.handleBilletBankRequirement(); - }; - - Model.fn._onChangeEnableMultimethodsBilletCard = function() { - this.handleBilletBankRequirement(); - }; - - Model.fn._onChangeFlags = function(event) { - this.setInstallmentsByFlags(event, false); - }; - - Model.fn._eachValidate = function(index, field) { - var rect; - var element = $(field), - empty = element.isEmptyValue(), - invalidMaxLength = element.val().length > element.prop("maxLength"), - isFieldInvalid = empty || invalidMaxLength, - func = isFieldInvalid ? 'addClass' : 'removeClass'; - - if (!element.is(':visible')) { - return; - } - - element[func](errorClass); - - this.items[index] = isFieldInvalid; - - if (!isFieldInvalid) { - return; - } - - field.placeholder = field.dataset.errorMsg; - - if (!this.toTop) { - this.toTop = true; - rect = field.getBoundingClientRect(); - window.scrollTo(0, (rect.top + window.scrollY) - 32); - } - }; - - Model.fn.handleInstallmentFieldsVisibility = function(value) { - var installmentsMaxContainer = this.installmentsMax.closest('tr'), - installmentsInterestContainer = this.installmentsInterest.closest('tr'), - installmentsMinAmountContainer = this.installmentsMinAmount.closest("tr"), - installmentsByFlagContainer = this.installmentsByFlag.closest('tr'), - installmentsWithoutInterestContainer = this.installmentsWithoutInterest.closest('tr'), - installmentsInterestIncreaseContainer = this.installmentsInterestIncrease.closest('tr'); - - if (value == 1) { - installmentsMaxContainer.show(); - installmentsMinAmountContainer.show(); - installmentsInterestContainer.show(); - installmentsInterestIncreaseContainer.show(); - installmentsWithoutInterestContainer.show(); - installmentsByFlagContainer.hide(); - } else { - if (this.elements.flagsSelect.val()) { - installmentsByFlagContainer.show(); - this.setInstallmentsByFlags(null, true); - } - installmentsMaxContainer.hide(); - installmentsMinAmountContainer.hide(); - installmentsInterestContainer.hide(); - installmentsInterestIncreaseContainer.hide(); - installmentsWithoutInterestContainer.hide(); - } - }; - - Model.fn.getOnlyGatewayBrands = function() { - return 'option[value="credz"], ' + - 'option[value="sodexoalimentacao"], ' + - 'option[value="sodexocultura"], ' + - 'option[value="sodexogift"], ' + - 'option[value="sodexopremium"], ' + - 'option[value="sodexorefeicao"], ' + - 'option[value="sodexocombustivel"], ' + - 'option[value="vr"], ' + - 'option[value="alelo"], ' + - 'option[value="banese"], ' + - 'option[value="cabal"]'; - }; - - Model.fn.getOnlyGatewayInstallments = function() { - var installments = ''; - var maxInstallmentsLength = this.installmentsMax.children('option').length; - - for (let i = 13; i <= maxInstallmentsLength + 1; i++) { - installments += `option[value="${i}"], `; - } - - return installments.slice(0, -2); - }; - - Model.fn.setOriginalSelect = function(select) { - if (select.data("originalHTML") === undefined) { - select.data("originalHTML", select.html()); - } - }; - - Model.fn.removeOptions = function(select, options) { - this.setOriginalSelect(select); - options.remove(); - }; - - Model.fn.restoreOptions = function(select) { - var originalHTML = select.data("originalHTML"); - if (originalHTML !== undefined) { - select.html(originalHTML); - } - }; - - Model.fn.setMaxInstallmentsWithoutInterestBasedOnMaxInstallments = function() { - var installmentsMaxElement = this.installmentsMax; - - installmentsMaxElement.on('change', function() { - setMaxInstallmentsWithoutInterest($(this).val()); - }); - - function setMaxInstallmentsWithoutInterest(installmentsMax) { - var installmentsWithoutInterest = $('[data-field="installments-without-interest"]'); - installmentsWithoutInterest.children('option').hide(); - installmentsWithoutInterest.children('option').filter(function() { - return parseInt($(this).val()) <= installmentsMax; - }).show(); - installmentsWithoutInterest.val(installmentsMax).change(); - } - }; - - Model.fn.setMaxInstallmentsWithoutInterestBasedOnMaxInstallmentsByFlag = function() { - var installmentsMaxElement = this.installmentsMaxByFlag; - - installmentsMaxElement.on('change', function() { - setMaxInstallmentsWithoutInterest( - $(this).val(), - $(this).closest('tr').attr("data-flag") - ); - }); - - function setMaxInstallmentsWithoutInterest(installmentsMax, brandName) { - var setMaxInstallmentsWithoutInterestOnFlag = $('[data-field="installments-by-flag"]') - .find(`input[name*="cc_installments_by_flag[no_interest][${brandName}]"]`); - setMaxInstallmentsWithoutInterestOnFlag.prop("max", installmentsMax); - } - }; - - Model.fn.setupPSPOptions = function( - antifraudEnabled, - antifraudMinValue, - ccAllowSave, - billetBank, - voucherSoftDescriptor, - VoucherccBrands, - cardWallet, - voucherEnabled, - voucherCardWallet - ) { - antifraudEnabled.hide(); - antifraudMinValue.hide(); - ccAllowSave.hide(); - billetBank.hide(); - this.antifraudSection.hide(); - this.voucherSection.hide(); - voucherSoftDescriptor.hide(); - VoucherccBrands.hide(); - cardWallet.hide(); - voucherEnabled.hide(); - voucherCardWallet.hide(); - - this.ccAllowSave.prop("checked", false); - var $optionsToRemove = this.ccBrands.find(this.getOnlyGatewayBrands()); - this.removeOptions(this.ccBrands, $optionsToRemove); - - $("#woo-pagarme-payments_max_length_span").html("13"); - this.softDescriptor.prop('maxlength', 13); - - var $optionsToRemoveInstallments = this.installmentsMax.find( - this.getOnlyGatewayInstallments() - ); - var $optionsToRemoveInstallmentsWithoutInterest = this.installmentsWithoutInterest.find( - this.getOnlyGatewayInstallments() - ); - this.removeOptions(this.installmentsMax, $optionsToRemoveInstallments); - this.removeOptions(this.installmentsWithoutInterest, $optionsToRemoveInstallmentsWithoutInterest); - - this.installmentsMaxByFlag.prop("max", 12); - }; - - Model.fn.setupGatewayOptions = function( - antifraudEnabled, - antifraudMinValue, - ccAllowSave, - billetBank, - voucherSoftDescriptor, - VoucherccBrands, - cardWallet, - voucherEnabled, - voucherCardWallet - ) { - antifraudEnabled.show(); - antifraudMinValue.show(); - ccAllowSave.show(); - billetBank.show(); - this.antifraudSection.show(); - this.voucherSection.show(); - voucherSoftDescriptor.show(); - VoucherccBrands.show(); - cardWallet.show(); - voucherCardWallet.show(); - voucherEnabled.show(); - - this.restoreOptions(this.ccBrands); - - $("#woo-pagarme-payments_max_length_span").html("22"); - this.softDescriptor.prop('maxlength', 22); - - this.restoreOptions(this.installmentsMax); - this.restoreOptions(this.installmentsWithoutInterest); - - this.installmentsMaxByFlag.prop("max", 24); - }; - - Model.fn.handleGatewayIntegrationFieldsVisibility = function(isGateway) { - - var antifraudEnabled = this.antifraudEnabled.closest('tr'), - antifraudMinValue = this.antifraudMinValue.closest('tr'), - ccAllowSave = this.ccAllowSave.closest('tr'), - billetBank = this.billetBank.closest('tr'), - voucherSoftDescriptor = this.voucherSoftDescriptor.closest('tr'), - VoucherccBrands = this.VoucherccBrands.closest('tr'), - voucherEnabled = this.voucherEnabled.closest('tr'), - voucherCardWallet = this.voucherCardWallet.closest('tr'), - cardWallet = this.cardWallet.closest('tr'); - - if (isGateway) { - return this.setupGatewayOptions( - antifraudEnabled, - antifraudMinValue, - ccAllowSave, - billetBank, - voucherSoftDescriptor, - VoucherccBrands, - cardWallet, - voucherEnabled, - voucherCardWallet - ); - - } - - return this.setupPSPOptions( - antifraudEnabled, - antifraudMinValue, - ccAllowSave, - billetBank, - voucherSoftDescriptor, - VoucherccBrands, - cardWallet, - voucherEnabled, - voucherCardWallet - ); - }; - - Model.fn.handleBilletBankRequirement = function() { - const billetBankElementId = '#woocommerce_woo-pagarme-payments_billet_bank'; - let bankRequirementFields = $('[data-requires-field="billet-bank"]'); - let billetBankIsRequired = false; - - bankRequirementFields.each(function() { - if ($(this).prop("checked")) { - billetBankIsRequired = true; - return false; - } - }); - - if (billetBankIsRequired) { - $(billetBankElementId).attr('required', true); - return; - } - - $(billetBankElementId).attr('required', false); - }; - - Model.fn.setInstallmentsByFlags = function(event, firstLoad) { - var flags = this.elements.flagsSelect.val() || []; - var flagsWrapper = this.installmentsByFlag.closest('tr'); - var allFlags = $('[data-flag]'); - - if (parseInt(this.elements.installmentsTypeSelect.val()) !== 2) { - allFlags.hide(); - flagsWrapper.hide(); - return; - } - - if (!firstLoad) { - var selectedItem = event.params.args.data.id; - var filtered = flags; - - flagsWrapper.show(); - - if (event.params.name == 'unselect') { - filtered = flags.filter(function(i) { - return i != selectedItem; - }); - - if (filtered.length == 0) { - this.installmentsByFlag.closest('tr').hide(); - } - } else { - filtered.push(selectedItem); - } - - allFlags.hide(); - - filtered.map(function(item) { - var element = $('[data-flag=' + item + ']'); - element.show(); - }); - } else { - if (flags.length === 0) { - allFlags.hide(); - flagsWrapper.hide(); - return; - } - - allFlags.each(function(index, item) { - item = $(item); - if (!flags.includes(item.data('flag'))) { - item.hide(); - } else { - item.show(); - } - }); - } - }; - -}); - - -; -jQuery(function($) { - var context = $('body'); - - Pagarme.vars = { - body: context - }; - - Pagarme.Application.init.apply(null, [context]); -}); diff --git a/assets/javascripts/admin/libs/index.php b/assets/javascripts/admin/libs/index.php deleted file mode 100644 index 7e914158..00000000 --- a/assets/javascripts/admin/libs/index.php +++ /dev/null @@ -1,2 +0,0 @@ -' + this.translateErrors( error, message ) + '
  • '; - }; - - Model.translateErrors = function( error, message ) { - error = error.replace( 'request.', '' ); - var output = error + ': ' + message; - var ptBrMessages = PagarmeGlobalVars.checkoutErrors.pt_BR; - - if ( PagarmeGlobalVars.WPLANG != 'pt_BR' ) { - return output; - } - - if ( ptBrMessages.hasOwnProperty( output ) ) { - return ptBrMessages[ output ]; - } - - return output; - }; - -}); diff --git a/assets/javascripts/front/app/component-checkout-transparent.js b/assets/javascripts/front/app/component-checkout-transparent.js deleted file mode 100644 index b80b0a35..00000000 --- a/assets/javascripts/front/app/component-checkout-transparent.js +++ /dev/null @@ -1,394 +0,0 @@ -MONSTER( 'Pagarme.Components.CheckoutTransparent', function(Model, $, utils) { - - Model.fn.start = function() { - this.lock = false; - - this.addEventListener(); - - Pagarme.CheckoutErrors.create( this ); - - if ( typeof $().select2 === 'function' ) { - this.applySelect2(); - } - - $('div#woo-pagarme-payment-methods > ul li input:first').attr('checked', 'checked'); - $('div#woo-pagarme-payment-methods > ul li:first').find('.payment_box').show(); - - $('input#payment_method_woo-pagarme-payments').click(function() { - $('div#woo-pagarme-payment-methods').removeAttr('style'); - - $('div#woo-pagarme-payment-methods > ul li').find(function() { - $('input:checked:last').nextAll().show(); - }); - }); - - $('input[name=method]').change(function(e) { - e.stopPropagation(); - var li = e.target.closest('li'); - $('.pagarme_methods').slideUp('slow'); - $(li).find('.payment_box').slideDown('slow'); - }); - }; - - Model.fn.addEventListener = function() { - this.$el.on( 'submit', this._onSubmit.bind(this) ); - this.$el.find( '[data-value]' ).on( 'blur', this.fillAnotherInput.bind(this) ); - this.click( 'tab' ); - this.click( 'choose-payment' ); - - if ( this.elements.cardHolderName ) { - this.elements.cardHolderName.on( 'keypress', this.removeSpecialChars ); - this.elements.cardHolderName.on( 'blur', this.removeSpecialChars ); - } - - if ( this.elements.chooseCreditCard ) { - this.elements.chooseCreditCard.on( 'change', this._onChangeCreditCard.bind( this ) ); - } - - $( '[data-required=true]' ).on( 'keypress', this.setAsValid ); - $( '[data-required=true]' ).on( 'blur', this.setAsValid ); - - if ( this.elements.cardOrderValue ) { - this.elements.cardOrderValue.on( 'blur', this._onBlurCardOrderValue.bind( this ) ); - } - - if ( this.elements.cardNumber ) { - this.elements.cardNumber.on( 'keyup', this.updateInstallments ); - this.elements.cardNumber.on( 'keydown', this.updateInstallments ); - } - - if ( this.elements.enableMulticustomers ) { - this.elements.enableMulticustomers.on( 'click', this.handleMultiCustomers ) - } - }; - - Model.fn._onSubmit = function(e) { - e.preventDefault(); - - if ( ! this.validate() ) { - jQuery('#wcmp-submit').removeAttr('disabled', 'disabled'); - return false; - } - - $( 'body' ).on( 'onPagarmeCheckoutDone', function(){ - if ( $( 'input[name=payment_method]' ).val() == '2_cards' ) { - return; - } - }.bind(this)); - - $( 'body' ).on( 'onPagarme2CardsDone', function(){ - if ( window.Pagarme2Cards === 2 ) { - this.loadSwal(); - } - window.Pagarme2Cards = 0; - }.bind(this)); - - jQuery('#wcmp-submit').attr('disabled', 'disabled'); - - $( 'body' ).trigger( 'onPagarmeSubmit', [ e ] ) - - if ( - $('input[name=payment_method]').val() === 'billet' || - $('input[name=payment_method]').val() === 'pix' ) { - this.loadSwal(); - } - - - }; - - Model.fn._onClickTab = function(event) { - window.location = this.data.paymentUrl + '&tab=' + event.currentTarget.dataset.ref + $( event.currentTarget ).attr('href'); - }; - - Model.fn._onClickChoosePayment = function(e) { - var target = $( e.currentTarget ); - var forms = $( '.wc-credit-card-form' ); - - forms.attr( 'disabled', true ); - target.prev().removeAttr( 'disabled' ); - }; - - Model.fn._onBlurCardOrderValue = function(e) { - var option = ''; - var wrapper = $( e.currentTarget ).closest( 'fieldset' ); - - var total = e.target.value; - - if ( total ) { - total = total.replace( '.', '' ); - total = total.replace( ',', '.' ); - - var brand = wrapper.find( '[data-element="choose-credit-card"]' ).find( 'option:selected' ).data( 'brand' ); - - $( 'body' ).trigger( "pagarmeBlurCardOrderValue", [ brand, total, wrapper ] ); - } else { - wrapper.find( '[data-element=installments]' ).html( option ); - } - }; - - Model.fn._done = function(response) { - this.lock = false; - if ( ! response.success ) { - this.failMessage( - this.getFailMessage(response.data) - ); - } else { - this.successMessage(); - } - - var self = this; - - if( response.data.status == "failed" ){ - swal({ - type : 'error', - html : this.getFailMessage() - }).then(function(){ - window.location.href = self.data.returnUrl; - }); - } - }; - - Model.fn._fail = function(jqXHR, textStatus, errorThrown) { - this.lock = false; - this.failMessage(); - }; - - Model.fn.getFailMessage = function (message = "") { - if (!message) { - return "Transação não autorizada." - } - - return message; - }; - - Model.fn.failMessage = function(message) { - swal({ - type : 'error', - html : message || this.data.swal.text_default - }); - }; - - Model.fn.successMessage = function() { - var self = this; - - swal({ - type : 'success', - html : this.data.swal.text_success, - allowOutsideClick : false - }).then(function(){ - window.location.href = self.data.returnUrl; - }); - }; - - Model.fn.applySelect2 = function() { - this.$el.byAction( 'select2' ).select2({ - width: '100%', - minimumResultsForSearch: 20 - }); - - this.$el.find('[data-element=state]').select2({ - width: '100%', - minimumResultsForSearch: 20 - }); - }; - - Model.fn.removeSpecialChars = function() { - this.value = this.value.replace( /[^a-zA-Z ]/g, "" ); - }; - - Model.fn.setAsValid = function() { - if ( this.value ) { - $(this).removeClass( 'invalid' ); - } - }; - - Model.fn.updateInstallments = function(e) { - if ( ! this.value ) { - var option = ''; - var select = $( e.currentTarget ) - .closest( 'fieldset' ) - .find('[data-element=installments]' ) - ; - - if ( select.data( 'type' ) == 2 ) { - select.html( option ); - } - } - }; - - Model.fn.handleMultiCustomers = function(e) { - var input = $(e.currentTarget); - var method = input.is(':checked') ? 'slideDown' : 'slideUp'; - var target = '[data-ref="' + input.data('target') + '"]'; - $( target )[method](); - } - - Model.fn.validate = function() { - var requiredFields = $( '[data-required=true]:visible' ) - , isValid = true - ; - - requiredFields.each(function(index, item){ - var field = $( item ); - if ( ! $.trim( field.val() ) ) { - if ( field.attr( 'id' ) == 'installments' ) { - field = field.next(); - } - field.addClass( 'invalid' ); - isValid = false; - } - }); - - return isValid; - }; - - Model.fn._onOpenSwal = function () { - if (this.lock) { - return; - } - - this.lock = true; - - swal.showLoading(); - - var inputsSubmit = this.$el.serializeArray(); - - this.ajax({ - url: this.data.apiRequest, - data: { - order: this.data.order, - fields: inputsSubmit - }, - success: function (data) { - if (data.success == false) { - jQuery('#wcmp-submit').removeAttr('disabled', 'disabled'); - } - }, - fail: function (data) { - jQuery('#wcmp-submit').removeAttr('disabled', 'disabled'); - } - }); - }; - - Model.fn._onChangeCreditCard = function(event) { - var select = $( event.currentTarget ); - var wrapper = select.closest( 'fieldset' ); - var method = event.currentTarget.value.trim() ? 'slideUp': 'slideDown'; - var type = method == 'slideUp' ? 'OneClickBuy': 'DefaultBuy'; - var brandInput = wrapper.find( '[data-pagarmecheckout-element="brand-input"]' ); - - $( '#wcmp-checkout-errors' ).hide(); - - $( 'body' ).trigger( "onPagarmeCardTypeChange", [ type, wrapper ] ); - - var brand = select.find('option:selected').data('brand'); - brandInput.val(brand); - - if ( select.data( 'installments-type' ) == 2 ) { - - if ( type == 'OneClickBuy' ) { - $( 'body' ).trigger( 'pagarmeSelectOneClickBuy', [ brand, wrapper ] ); - } else { - brandInput.val( '' ); - var option = ''; - $( '[data-element=installments]' ).html( option ); - } - } - - wrapper.find( '[data-element="fields-cc-data"]' )[method](); - wrapper.find( '[data-element="fields-voucher-data"]' )[method](); - wrapper.find( '[data-element="save-cc-check"]' )[method](); - wrapper.find( '[data-element="enable-multicustomers-check"]' )[method](); - wrapper.find( '[data-element="enable-multicustomers-label-card"]' )[method](); - }; - - Model.fn.hasCardId = function(wrapper) { - var element = wrapper.find( '[data-element="choose-credit-card"]' ); - - if ( element === undefined || element.length === 0 ) { - return false; - } - - return element.val().trim() !== ''; - }; - - Model.fn.requestInProgress = function() { - swal({ - title : this.data.swal.title, - text : this.data.swal.text, - allowOutsideClick : false - }); - swal.showLoading(); - }; - - Model.fn.isTwoCardsPayment = function(firstInput, secondInput){ - return firstInput.id.includes("card") && secondInput.id.includes("card"); - }; - - Model.fn.isBilletAndCardPayment = function(firstInput, secondInput){ - return (firstInput.id.includes("card") && secondInput.id.includes("billet")) || - (firstInput.id.includes("billet") && secondInput.id.includes("card")); - }; - - Model.fn.refreshBothInstallmentsSelects = function(event, secondInput){ - this._onBlurCardOrderValue(event); - event.currentTarget = secondInput; - event.target = secondInput; - - this._onBlurCardOrderValue(event); - }; - - Model.fn.refreshCardInstallmentSelect = function(event, secondInput){ - const targetInput = event.target.id.includes("card") ? event.target : secondInput; - - event.currentTarget = targetInput; - event.target = targetInput; - - this._onBlurCardOrderValue(event); - } - - Model.fn.fillAnotherInput = function(event) { - var input = $(event.currentTarget); - var nextIndex = input.data('value') == 2 ? 1 : 2; - var nextInput = $('[data-value=' + nextIndex + ']'); - var value = event.currentTarget.value; - var total = parseFloat( this.data.orderTotal ); - - if ( ! value ) { - return; - } - - value = value.replace('.', ''); - value = parseFloat( value.replace(',', '.') ); - - var nextValue = total - value; - - if ( value > total ) { - swal({ - type: 'error', - text: 'O valor não pode ser maior que total do pedido!' - }); - input.val(''); - nextInput.val(''); - return; - } - - nextValue = nextValue.toFixed(2); - nextValue = nextValue.replace('.',','); - - value = value.toFixed(2); - value = value.replace('.', ','); - - nextInput.val(nextValue); - input.val(value); - - if ( this.isTwoCardsPayment(event.target, nextInput[0]) ){ - this.refreshBothInstallmentsSelects(event, nextInput[0]); - } - - if( this.isBilletAndCardPayment(event.target, nextInput[0]) ){ - this.refreshCardInstallmentSelect(event, nextInput[0]); - } - }; - -}); diff --git a/assets/javascripts/front/app/component-installments.js b/assets/javascripts/front/app/component-installments.js deleted file mode 100644 index 34dc58b6..00000000 --- a/assets/javascripts/front/app/component-installments.js +++ /dev/null @@ -1,96 +0,0 @@ -MONSTER( 'Pagarme.Components.Installments', function(Model, $, utils) { - Model.fn.start = function() { - this.lock = false; - this.total = this.$el.data( 'total' ); - this.addEventListener(); - }; - - Model.fn.addEventListener = function() { - if ( this.$el.data( 'type' ) == 2 ) { - $( 'body' ).on( 'pagarmeChangeBrand', this.onChangeBrand.bind(this) ); - $( 'body' ).on( 'pagarmeSelectOneClickBuy', this.onSelectOneClickBuy.bind(this) ); - } - - $( 'body' ).on( 'pagarmeBlurCardOrderValue', this.onBlurCardOrderValue.bind(this) ); - }; - - Model.fn.onChangeBrand = function(event, brand, cardNumberLength, wrapper) { - var cardOrderValue = wrapper.find( '[data-element=card-order-value]' ); - - if ( cardOrderValue.length ) { - this.total = cardOrderValue.val(); - this.total = this.total.replace( '.', '' ); - this.total = this.total.replace( ',', '.' ); - } - - if ( cardNumberLength >= 13 && cardNumberLength <= 19 ) { - this.request( brand, this.total, wrapper ); - } - }; - - Model.fn.onSelectOneClickBuy = function(event, brand, wrapper) { - this.request( brand, this.total, wrapper ); - }; - - Model.fn.onBlurCardOrderValue = function(event, brand, total, wrapper) { - this.request( brand, total, wrapper ); - }; - - Model.fn.request = function(brand, total, wrapper) { - var storageName = btoa( brand + total ); - var storage = sessionStorage.getItem( storageName ); - var select = wrapper.find( '[data-element=installments]' ); - - if ( storage ) { - select.html( storage ); - return false; - } - - var ajax = $.ajax({ - 'url': MONSTER.utils.getAjaxUrl(), - 'data' : { - 'action': 'xqRhBHJ5sW', - 'flag': brand, - 'total': total - } - }); - - ajax.done( $.proxy( this._done, this, select, storageName ) ); - ajax.fail( this._fail.bind(this) ); - - if ( this.lock ) { - return; - } - - this.lock = true; - - this.showLoader(); - - }; - - Model.fn._done = function(select, storageName, response) { - this.lock = false; - select.html(response); - sessionStorage.setItem(storageName, response); - this.removeLoader(); - }; - - Model.fn._fail = function() { - this.lock = false; - this.removeLoader(); - }; - - Model.fn.showLoader = function() { - $('#wcmp-checkout-form').block({ - message: null, - overlayCSS: { - background: '#fff', - opacity: 0.6 - } - }); - }; - - Model.fn.removeLoader = function() { - $('#wcmp-checkout-form').unblock(); - }; -}); diff --git a/assets/javascripts/front/app/component-pagarme-checkout.js b/assets/javascripts/front/app/component-pagarme-checkout.js deleted file mode 100644 index 01981556..00000000 --- a/assets/javascripts/front/app/component-pagarme-checkout.js +++ /dev/null @@ -1,398 +0,0 @@ -MONSTER('Pagarme.Components.PagarmeCheckout', function(Model, $, utils) { - - window.Pagarme2Cards = 0; - - window.pagarmeQrCodeCopy = function() { - const qrCodeElement = document.getElementById("pagarme-qr-code-button"); - - if (!qrCodeElement) { - return; - } - - const rawCode = qrCodeElement.getAttribute("rawCode"); - - const input = document.createElement('input'); - document.body.appendChild(input) - input.value = rawCode; - input.select(); - document.execCommand('copy', false); - input.remove(); - - alert("Código copiado."); - - } - - Model.fn.start = function() { - this.script = $('[data-pagarmecheckout-app-id]'); - this.form = $('[data-pagarmecheckout-form]'); - this.suffix = this.$el.data('pagarmecheckoutSuffix') || 1; - this.creditCardNumber = this.$el.find('[data-pagarmecheckout-element="number"]'); - this.creditCardBrand = this.$el.find('[data-pagarmecheckout-element="brand"]'); - this.brandInput = this.$el.find('[data-pagarmecheckout-element="brand-input"]'); - this.chooseCreditCard = this.$el.closest('fieldset').find('[data-element="choose-credit-card"]'); - this.cvv = this.$el.find('[data-pagarmecheckout-element="cvv"]'); - this.appId = this.script.data('pagarmecheckoutAppId'); - this.apiURL = 'https://api.mundipagg.com/core/v1/tokens?appId=' + this.appId; - - this.addEventListener(); - }; - - Model.fn.addEventListener = function() { - this.creditCardNumber.on('keyup', this.keyEventHandlerCard.bind(this)); - $('body').on('onPagarmeSubmit', this.onSubmit.bind(this)); - }; - - Model.fn.hasCardId = function() { - if (this.chooseCreditCard === undefined || this.chooseCreditCard.length === 0) { - return false; - } - return this.chooseCreditCard.val().trim() !== ''; - }; - - Model.fn.createCheckoutObj = function(fields) { - var obj = {}, - i = 0, - length = fields.length, - prop, key; - obj['type'] = 'credit_card'; - for (i = 0; i < length; i += 1) { - if (fields[i].getAttribute('data-pagarmecheckout-element') === 'exp_date') { - var sep = fields[i].getAttribute('data-pagarmecheckout-separator') ? fields[i].getAttribute('data-pagarmecheckout-separator') : '/'; - var values = fields[i].value.split(sep); - obj['exp_month'] = values[0]; - obj['exp_year'] = values[1]; - } else { - prop = fields[i].getAttribute('data-pagarmecheckout-element'); - key = fields[i].value; - - if (prop == 'brand') { - key = fields[i].getAttribute('data-pagarmecheckout-brand'); - } - } - obj[prop] = key; - } - return obj; - }; - - Model.fn.disableFields = function(fields) { - for (var i = 0; i < fields.length; i += 1) { - fields[i].setAttribute('disabled', 'disabled'); - } - }; - - Model.fn.enableFields = function(fields) { - for (var i = 0; i < fields.length; i += 1) { - fields[i].removeAttribute('disabled'); - } - }; - - Model.fn.getAPIData = function(url, data, success, fail) { - var xhr = new XMLHttpRequest(); - var suffix = this.suffix; - - xhr.open('POST', url); - xhr.onreadystatechange = function() { - if (xhr.readyState < 4) { - return; - } - if (xhr.status == 200) { - success.call(null, xhr.responseText, suffix); - } else { - var errorObj = {}; - if (xhr.response) { - errorObj = JSON.parse(xhr.response); - errorObj.statusCode = xhr.status; - } else { - errorObj.statusCode = 503; - } - - fail.call(null, errorObj, suffix); - } - }; - - xhr.setRequestHeader('Content-Type', 'application/json; charset=utf-8'); - xhr.send(JSON.stringify({ - card: data - })); - - return xhr; - }; - - Model.fn.getBrand = function(types, bin) { - var oldPrefix = ''; - var currentBrand; - for (var i = 0; i < types.length; i += 1) { - var current_type = types[i]; - for (var j = 0; j < current_type.prefixes.length; j += 1) { - var prefix = current_type.prefixes[j].toString(); - if (bin.indexOf(prefix) === 0 && oldPrefix.length < prefix.length) { - oldPrefix = prefix; - currentBrand = current_type.brand; - } - } - } - return currentBrand; - }; - - Model.fn.changeBrand = function(brand, cardNumberLength) { - var $brand = this.creditCardBrand.get(0); - var wrapper = this.creditCardBrand.closest('fieldset'); - var imageSrc = 'https://cdn.mundipagg.com/assets/images/logos/brands/png/'; - var $img = $('img', $brand)[0]; - var src; - - $brand.setAttribute('data-pagarmecheckout-brand', brand); - this.brandInput.val(brand); - - jQuery('body').trigger('pagarmeChangeBrand', [brand, cardNumberLength, wrapper]); - - if (brand === '') { - $brand.innerHTML = ''; - } else { - if ($brand.getAttribute('data-pagarmecheckout-brand-image') !== null) { - src = imageSrc + brand + '.png'; - if (!$img) { - var $newImg = document.createElement('img'); - $newImg.setAttribute('src', src); - $newImg.setAttribute('style', 'float: right;\n' + - 'border: 0;\n' + - 'padding: 0;\n' + - 'max-height: 1.618em;'); - $brand.appendChild($newImg); - } else { - $img.setAttribute('src', src); - } - } - } - }; - - Model.fn.keyEventHandlerCard = function(event) { - var elem = event.currentTarget; - var cardNumber = elem.value.replace(/\s/g, ''); - var bin = cardNumber.substr(0, 6); - var types = this.getCardTypes(); - var brand; - if (cardNumber.length >= 6) { - brand = this.getBrand(types, bin); - if (brand) { - this.changeBrand(brand, cardNumber.length); - } else { - this.changeBrand('', cardNumber.length); - } - } else { - this.changeBrand('', cardNumber.length); - } - }; - - Model.fn.serialize = function(obj) { - var str = []; - for (var p in obj) { - if (obj.hasOwnProperty(p)) { - str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p])); - } - } - return str.join("&"); - }; - - Model.fn.getCardTypes = function() { - return [{ - brand: 'vr', - brandName: 'VR', - gaps: [4, 8, 12], - lenghts: [16], - mask: '/(\\d{1,4})/g', - cvv: 3, - prefixes: [637036, 627416, 636350, 637037] - }, { - brand: 'mais', - brandName: 'Mais', - gaps: [4, 8, 12], - lenghts: [16], - mask: '/(\\d{1,4})/g', - cvv: 3, - prefixes: [628028] - }, { - brand: 'paqueta', - brandName: 'Paqueta', - gaps: [4, 8, 12], - lenghts: [16], - mask: '/(\\d{1,4})/g', - cvv: 3, - prefixes: [960371] - }, { - brand: 'sodexo', - brandName: 'Sodexo', - gaps: [4, 8, 12], - lenghts: [16], - mask: '/(\\d{1,4})/g', - cvv: 3, - prefixes: [603389, 606071, 606069, 600818, 606070, 606068] - }, { - brand: 'hipercard', - brandName: 'Hipercard', - gaps: [4, 8, 12], - lenghts: [13, 16, 19], - mask: '/(\\d{1,4})/g', - cvv: 3, - prefixes: [384100, 384140, 384160, 60, 606282, 637095, 637568, 637599, 637609, 637612, 637600] - }, { - brand: 'discover', - brandName: 'Discover', - gaps: [4, 8, 12], - lenghts: [16], - mask: '/(\\d{1,4})/g', - cvv: 4, - prefixes: [6011, 622, 64, 65] - }, { - brand: 'diners', - brandName: 'Diners', - gaps: [4, 8, 12], - lenghts: [14, 16], - mask: '/(\\d{1,4})/g', - cvv: 3, - prefixes: [300, 301, 302, 303, 304, 305, 36, 38] - }, { - brand: 'amex', - brandName: 'Amex', - gaps: [4, 10], - lenghts: [15], - mask: '/(\\d{1,4})(\\d{1,6})?(\\d{1,5})?/g', - cvv: 4, - prefixes: [34, 37] - }, { - brand: 'aura', - brandName: 'Aura', - gaps: [4, 8, 12], - lenghts: [16], - mask: '/(\\d{1,4})/g', - cvv: 3, - prefixes: [50] - }, { - brand: 'jcb', - brandName: 'JCB', - gaps: [4, 8, 12], - lenghts: [16], - mask: '/(\\d{1,4})/g', - cvv: 3, - prefixes: [35, 2131, 1800] - }, { - brand: 'visa', - brandName: 'Visa', - gaps: [4, 8, 12], - lenghts: [13, 16], - mask: '/(\\d{1,4})/g', - cvv: 3, - prefixes: [4] - }, { - brand: 'mastercard', - brandName: 'Mastercard', - gaps: [4, 8, 12], - lenghts: [16], - mask: '/(\\d{1,4})/g', - cvv: 3, - prefixes: [5, 2] - }, { - brand: 'elo', - brandName: 'Elo', - gaps: [4, 8, 12], - lenghts: [16], - mask: '/(\\d{1,4})/g', - cvv: 3, - prefixes: [401178, 401179, 431274, 438935, 451416, 457393, 457631, 457632, 498405, 498410, 498411, 498412, 498418, 498419, 498420, 498421, 498422, 498427, 498428, 498429, 498432, 498433, 498472, 498473, 498487, 498493, 498494, 498497, 498498, 504175, 506699, 506700, 506701, 506702, 506703, 506704, 506705, 506706, 506707, 506708, 506709, 506710, 506711, 506712, 506713, 506714, 506715, 506716, 506717, 506718, 506719, 506720, 506721, 506722, 506723, 506724, 506725, 506726, 506727, 506728, 506729, 506730, 506731, 506732, 506733, 506734, 506735, 506736, 506737, 506738, 506739, 506740, 506741, 506742, 506743, 506744, 506745, 506746, 506747, 506748, 506749, 506750, 506751, 506752, 506753, 506754, 506755, 506756, 506757, 506758, 506759, 506760, 506761, 506762, 506763, 506764, 506765, 506766, 506767, 506768, 506769, 506770, 506771, 506772, 506773, 506774, 506775, 506776, 506777, 506778, 509000, 509001, 509002, 509003, 509004, 509005, 509006, 509007, 509008, 509009, 509010, 509011, 509012, 509013, 509014, 509015, 509016, 509017, 509018, 509019, 509020, 509021, 509022, 509023, 509024, 509025, 509026, 509027, 509028, 509029, 509030, 509031, 509032, 509033, 509034, 509035, 509036, 509037, 509038, 509039, 509040, 509041, 509042, 509043, 509044, 509045, 509046, 509047, 509048, 509049, 509050, 509051, 509052, 509053, 509054, 509055, 509056, 509057, 509058, 509059, 509060, 509061, 509062, 509063, 509064, 509065, 509066, 509067, 509068, 509069, 509070, 509071, 509072, 509073, 509074, 509075, 509076, 509077, 509078, 509079, 509080, 509081, 509082, 509083, 509084, 509085, 509086, 509087, 509088, 509089, 509090, 509091, 509092, 509093, 509094, 509095, 509096, 509097, 509098, 509099, 509100, 509101, 509102, 509103, 509104, 509105, 509106, 509107, 509108, 509109, 509110, 509111, 509112, 509113, 509114, 509115, 509116, 509117, 509118, 509119, 509120, 509121, 509122, 509123, 509124, 509125, 509126, 509127, 509128, 509129, 509130, 509131, 509132, 509133, 509134, 509135, 509136, 509137, 509138, 509139, 509140, 509141, 509142, 509143, 509144, 509145, 509146, 509147, 509148, 509149, 509150, 509151, 509152, 509153, 509154, 509155, 509156, 509157, 509158, 509159, 509160, 509161, 509162, 509163, 509164, 509165, 509166, 509167, 509168, 509169, 509170, 509171, 509172, 509173, 509174, 509175, 509176, 509177, 509178, 509179, 509180, 509181, 509182, 509183, 509184, 509185, 509186, 509187, 509188, 509189, 509190, 509191, 509192, 509193, 509194, 509195, 509196, 509197, 509198, 509199, 509200, 509201, 509202, 509203, 509204, 509205, 509206, 509207, 509208, 509209, 509210, 509211, 509212, 509213, 509214, 509215, 509216, 509217, 509218, 509219, 509220, 509221, 509222, 509223, 509224, 509225, 509226, 509227, 509228, 509229, 509230, 509231, 509232, 509233, 509234, 509235, 509236, 509237, 509238, 509239, 509240, 509241, 509242, 509243, 509244, 509245, 509246, 509247, 509248, 509249, 509250, 509251, 509252, 509253, 509254, 509255, 509256, 509257, 509258, 509259, 509260, 509261, 509262, 509263, 509264, 509265, 509266, 509267, 509268, 509269, 509270, 509271, 509272, 509273, 509274, 509275, 509276, 509277, 509278, 509279, 509280, 509281, 509282, 509283, 509284, 509285, 509286, 509287, 509288, 509289, 509290, 509291, 509292, 509293, 509294, 509295, 509296, 509297, 509298, 509299, 509300, 509301, 509302, 509303, 509304, 509305, 509306, 509307, 509308, 509309, 509310, 509311, 509312, 509313, 509314, 509315, 509316, 509317, 509318, 509319, 509320, 509321, 509322, 509323, 509324, 509325, 509326, 509327, 509328, 509329, 509330, 509331, 509332, 509333, 509334, 509335, 509336, 509337, 509338, 509339, 509340, 509341, 509342, 509343, 509344, 509345, 509346, 509347, 509348, 509349, 509350, 509351, 509352, 509353, 509354, 509355, 509356, 509357, 509358, 509359, 509360, 509361, 509362, 509363, 509364, 509365, 509366, 509367, 509368, 509369, 509370, 509371, 509372, 509373, 509374, 509375, 509376, 509377, 509378, 509379, 509380, 509381, 509382, 509383, 509384, 509385, 509386, 509387, 509388, 509389, 509390, 509391, 509392, 509393, 509394, 509395, 509396, 509397, 509398, 509399, 509400, 509401, 509402, 509403, 509404, 509405, 509406, 509407, 509408, 509409, 509410, 509411, 509412, 509413, 509414, 509415, 509416, 509417, 509418, 509419, 509420, 509421, 509422, 509423, 509424, 509425, 509426, 509427, 509428, 509429, 509430, 509431, 509432, 509433, 509434, 509435, 509436, 509437, 509438, 509439, 509440, 509441, 509442, 509443, 509444, 509445, 509446, 509447, 509448, 509449, 509450, 509451, 509452, 509453, 509454, 509455, 509456, 509457, 509458, 509459, 509460, 509461, 509462, 509463, 509464, 509465, 509466, 509467, 509468, 509469, 509470, 509471, 509472, 509473, 509474, 509475, 509476, 509477, 509478, 509479, 509480, 509481, 509482, 509483, 509484, 509485, 509486, 509487, 509488, 509489, 509490, 509491, 509492, 509493, 509494, 509495, 509496, 509497, 509498, 509499, 509500, 509501, 509502, 509503, 509504, 509505, 509506, 509507, 509508, 509509, 509510, 509511, 509512, 509513, 509514, 509515, 509516, 509517, 509518, 509519, 509520, 509521, 509522, 509523, 509524, 509525, 509526, 509527, 509528, 509529, 509530, 509531, 509532, 509533, 509534, 509535, 509536, 509537, 509538, 509539, 509540, 509541, 509542, 509543, 509544, 509545, 509546, 509547, 509548, 509549, 509550, 509551, 509552, 509553, 509554, 509555, 509556, 509557, 509558, 509559, 509560, 509561, 509562, 509563, 509564, 509565, 509566, 509567, 509568, 509569, 509570, 509571, 509572, 509573, 509574, 509575, 509576, 509577, 509578, 509579, 509580, 509581, 509582, 509583, 509584, 509585, 509586, 509587, 509588, 509589, 509590, 509591, 509592, 509593, 509594, 509595, 509596, 509597, 509598, 509599, 509600, 509601, 509602, 509603, 509604, 509605, 509606, 509607, 509608, 509609, 509610, 509611, 509612, 509613, 509614, 509615, 509616, 509617, 509618, 509619, 509620, 509621, 509622, 509623, 509624, 509625, 509626, 509627, 509628, 509629, 509630, 509631, 509632, 509633, 509634, 509635, 509636, 509637, 509638, 509639, 509640, 509641, 509642, 509643, 509644, 509645, 509646, 509647, 509648, 509649, 509650, 509651, 509652, 509653, 509654, 509655, 509656, 509657, 509658, 509659, 509660, 509661, 509662, 509663, 509664, 509665, 509666, 509667, 509668, 509669, 509670, 509671, 509672, 509673, 509674, 509675, 509676, 509677, 509678, 509679, 509680, 509681, 509682, 509683, 509684, 509685, 509686, 509687, 509688, 509689, 509690, 509691, 509692, 509693, 509694, 509695, 509696, 509697, 509698, 509699, 509700, 509701, 509702, 509703, 509704, 509705, 509706, 509707, 509708, 509709, 509710, 509711, 509712, 509713, 509714, 509715, 509716, 509717, 509718, 509719, 509720, 509721, 509722, 509723, 509724, 509725, 509726, 509727, 509728, 509729, 509730, 509731, 509732, 509733, 509734, 509735, 509736, 509737, 509738, 509739, 509740, 509741, 509742, 509743, 509744, 509745, 509746, 509747, 509748, 509749, 509750, 509751, 509752, 509753, 509754, 509755, 509756, 509757, 509758, 509759, 509760, 509761, 509762, 509763, 509764, 509765, 509766, 509767, 509768, 509769, 509770, 509771, 509772, 509773, 509774, 509775, 509776, 509777, 509778, 509779, 509780, 509781, 509782, 509783, 509784, 509785, 509786, 509787, 509788, 509789, 509790, 509791, 509792, 509793, 509794, 509795, 509796, 509797, 509798, 509799, 509800, 509801, 509802, 509803, 509804, 509805, 509806, 509807, 509808, 509809, 509810, 509811, 509812, 509813, 509814, 509815, 509816, 509817, 509818, 509819, 509820, 509821, 509822, 509823, 509824, 509825, 509826, 509827, 509828, 509829, 509830, 509831, 509832, 509833, 509834, 509835, 509836, 509837, 509838, 509839, 509840, 509841, 509842, 509843, 509844, 509845, 509846, 509847, 509848, 509849, 509850, 509851, 509852, 509853, 509854, 509855, 509856, 509857, 509858, 509859, 509860, 509861, 509862, 509863, 509864, 509865, 509866, 509867, 509868, 509869, 509870, 509871, 509872, 509873, 509874, 509875, 509876, 509877, 509878, 509879, 509880, 509881, 509882, 509883, 509884, 509885, 509886, 509887, 509888, 509889, 509890, 509891, 509892, 509893, 509894, 509895, 509896, 509897, 509898, 509899, 509900, 509901, 509902, 509903, 509904, 509905, 509906, 509907, 509908, 509909, 509910, 509911, 509912, 509913, 509914, 509915, 509916, 509917, 509918, 509919, 509920, 509921, 509922, 509923, 509924, 509925, 509926, 509927, 509928, 509929, 509930, 509931, 509932, 509933, 509934, 509935, 509936, 509937, 509938, 509939, 509940, 509941, 509942, 509943, 509944, 509945, 509946, 509947, 509948, 509949, 509950, 509951, 509952, 509953, 509954, 509955, 509956, 509957, 509958, 509959, 509960, 509961, 509962, 509963, 509964, 509965, 509966, 509967, 509968, 509969, 509970, 509971, 509972, 509973, 509974, 509975, 509976, 509977, 509978, 509979, 509980, 509981, 509982, 509983, 509984, 509985, 509986, 509987, 509988, 509989, 509990, 509991, 509992, 509993, 509994, 509995, 509996, 509997, 509998, 509999, 627780, 636297, 636368, 650031, 650032, 650033, 650035, 650036, 650037, 650038, 650039, 650040, 650041, 650042, 650043, 650044, 650045, 650046, 650047, 650048, 650049, 650050, 650051, 650405, 650406, 650407, 650408, 650409, 650410, 650411, 650412, 650413, 650414, 650415, 650416, 650417, 650418, 650419, 650420, 650421, 650422, 650423, 650424, 650425, 650426, 650427, 650428, 650429, 650430, 650431, 650432, 650433, 650434, 650435, 650436, 650437, 650438, 650439, 650485, 650486, 650487, 650488, 650489, 650490, 650491, 650492, 650493, 650494, 650495, 650496, 650497, 650498, 650499, 650500, 650501, 650502, 650503, 650504, 650505, 650506, 650507, 650508, 650509, 650510, 650511, 650512, 650513, 650514, 650515, 650516, 650517, 650518, 650519, 650520, 650521, 650522, 650523, 650524, 650525, 650526, 650527, 650528, 650529, 650530, 650531, 650532, 650533, 650534, 650535, 650536, 650537, 650538, 650541, 650542, 650543, 650544, 650545, 650546, 650547, 650548, 650549, 650550, 650551, 650552, 650553, 650554, 650555, 650556, 650557, 650558, 650559, 650560, 650561, 650562, 650563, 650564, 650565, 650566, 650567, 650568, 650569, 650570, 650571, 650572, 650573, 650574, 650575, 650576, 650577, 650578, 650579, 650580, 650581, 650582, 650583, 650584, 650585, 650586, 650587, 650588, 650589, 650590, 650591, 650592, 650593, 650594, 650595, 650596, 650597, 650598, 650700, 650701, 650702, 650703, 650704, 650705, 650706, 650707, 650708, 650709, 650710, 650711, 650712, 650713, 650714, 650715, 650716, 650717, 650718, 650720, 650721, 650722, 650723, 650724, 650725, 650726, 650727, 650901, 650902, 650903, 650904, 650905, 650906, 650907, 650908, 650909, 650910, 650911, 650912, 650913, 650914, 650915, 650916, 650917, 650918, 650919, 650920, 651652, 651653, 651654, 651655, 651656, 651657, 651658, 651659, 651660, 651661, 651662, 651663, 651664, 651665, 651666, 651667, 651668, 651669, 651670, 651671, 651672, 651673, 651674, 651675, 651676, 651677, 651678, 651679, 655000, 655001, 655002, 655003, 655004, 655005, 655006, 655007, 655008, 655009, 655010, 655011, 655012, 655013, 655014, 655015, 655016, 655017, 655018, 655019, 655021, 655022, 655023, 655024, 655025, 655026, 655027, 655028, 655029, 655030, 655031, 655032, 655033, 655034, 655035, 655036, 655037, 655038, 655039, 655040, 655041, 655042, 655043, 655044, 655045, 655046, 655047, 655048, 655049, 655050, 655051, 655052, 655053, 655054, 655055, 655056, 655057, 655058, 637095, 650921, 650978] - }]; - }; - - Model.fn.onSubmit = function(e) { - if (this.hasCardId()) { - $('body').trigger('onPagarmeCheckoutDone'); - - if ($('input[name=payment_method]').val() == '2_cards') { - window.Pagarme2Cards = window.Pagarme2Cards + 1; - if (window.Pagarme2Cards === 2) { - $('body').trigger('onPagarme2CardsDone'); - } - } - return; - } - - var $this = this; - var markedInputs = this.$el.find('[data-pagarmecheckout-element]'); - var notMarkedInputs = this.$el.find('input:not([data-pagarmecheckout-element])'); - var checkoutObj = this.createCheckoutObj(markedInputs); - var callbackObj = {}; - var $hidden = this.$el.find('[name="pagarmetoken' + this.suffix + '"]'); - var cb; - - if ($hidden) { - $hidden.remove(); - } - - e.preventDefault(); - - swal.close(); - - swal({ - title: '', - text: 'Gerando transação segura...', - allowOutsideClick: false - }); - - swal.showLoading(); - - this.getAPIData( - this.apiURL, - checkoutObj, - function(data, suffix) { - var objJSON = JSON.parse(data); - - $hidden = document.createElement('input'); - $hidden.setAttribute('type', 'hidden'); - $hidden.setAttribute('name', 'pagarmetoken' + $this.suffix); - $hidden.setAttribute('value', objJSON.id); - $hidden.setAttribute('data-pagarmetoken', $this.suffix); - - $this.$el.append($hidden); - - for (var i = 0; i < notMarkedInputs.length; i += 1) { - callbackObj[notMarkedInputs[i]['name']] = notMarkedInputs[i]['value']; - } - - callbackObj['pagarmetoken'] = objJSON.id; - cb = $this._onDone.call(null, callbackObj, suffix); - - if (typeof cb === 'boolean' && !cb) { - $this.enableFields(markedInputs); - return; - } - - }, - function(error, suffix) { - swal.close(); - if (error.statusCode == 503) { - swal({ - type: 'error', - html: 'Não foi possível gerar a transação segura. Serviço indisponível.' - }); - } else { - $this._onFail(error, suffix); - } - - } - ); - }; - - Model.fn._onFail = function(error, suffix) { - $('body').trigger('onPagarmeCheckoutFail', [error]); - }; - - Model.fn._onDone = function(data, suffix) { - $('body').trigger('onPagarmeCheckoutDone', [data]); - - if ($('input[name=payment_method]').val() == '2_cards') { - window.Pagarme2Cards = window.Pagarme2Cards + 1; - if (window.Pagarme2Cards === 2) { - $('body').trigger('onPagarme2CardsDone'); - } - } - }; -}); diff --git a/assets/javascripts/front/app/index.php b/assets/javascripts/front/app/index.php deleted file mode 100644 index 7e914158..00000000 --- a/assets/javascripts/front/app/index.php +++ /dev/null @@ -1,2 +0,0 @@ - Date: Wed, 31 May 2023 22:07:31 -0300 Subject: [PATCH 152/156] =?UTF-8?q?PAOPN-436=20Excesso=20de=20chamadas=20p?= =?UTF-8?q?ara=20calcular=20as=20parcelas=20de=20cart=C3=B5es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/javascripts/front/checkout/model/payment/order-value.js | 1 - templates/checkout/form/card/installments.phtml | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/assets/javascripts/front/checkout/model/payment/order-value.js b/assets/javascripts/front/checkout/model/payment/order-value.js index dc0b27fa..6e994869 100644 --- a/assets/javascripts/front/checkout/model/payment/order-value.js +++ b/assets/javascripts/front/checkout/model/payment/order-value.js @@ -65,7 +65,6 @@ let pagarmeOrderValue = { }, keyEventHandler: function (e) { this.fillAnotherInput(e); - pagarmeCard.updateInstallmentsElement(e); }, getCartTotals: function () { return cartTotal; diff --git a/templates/checkout/form/card/installments.phtml b/templates/checkout/form/card/installments.phtml index fc33af37..db30ef34 100644 --- a/templates/checkout/form/card/installments.phtml +++ b/templates/checkout/form/card/installments.phtml @@ -19,7 +19,7 @@ if (!function_exists('add_action')) { * + data-pagarmecheckout-element="brand-input"/>

    -

    - - -

    + showHolderName()) : ?> +

    + + +

    + createBlock( '\Woocommerce\Pagarme\Block\Checkout\Field\Wallet', 'pagarme.checkout.field.wallet', diff --git a/templates/checkout/form/card/wallet.phtml b/templates/checkout/form/card/wallet.phtml index f90b87b2..9b12e7f3 100644 --- a/templates/checkout/form/card/wallet.phtml +++ b/templates/checkout/form/card/wallet.phtml @@ -39,10 +39,5 @@ if (!function_exists('add_action')) {

    - From 37a2e345c7294cbe469af8a8508408e30ed87035 Mon Sep 17 00:00:00 2001 From: mauriciohaygert Date: Thu, 1 Jun 2023 17:43:37 -0300 Subject: [PATCH 154/156] Fix Code Smell --- assets/javascripts/front/checkout/model/payment/card.js | 5 +++-- .../javascripts/front/checkout/model/payment/card/wallet.js | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/assets/javascripts/front/checkout/model/payment/card.js b/assets/javascripts/front/checkout/model/payment/card.js index a0d05b0f..b9d3e2e7 100644 --- a/assets/javascripts/front/checkout/model/payment/card.js +++ b/assets/javascripts/front/checkout/model/payment/card.js @@ -253,8 +253,8 @@ let pagarmeCard = { } let cardForm = elem.closest("fieldset"); let select = cardForm.find(installmentsTarget); - if (select.data('type') == '1' && elem.data('pagarmecheckout-element') != 'order-value') { - return; + if (select.data('type') === '1' && elem.data('pagarmecheckout-element') !== 'order-value') { + return false; } if (!total) total = cartTotal; @@ -282,6 +282,7 @@ let pagarmeCard = { }); pagarmeCard.showLoader(cardForm); } + return true; }, _done: function (select, storageName, e, response) { diff --git a/assets/javascripts/front/checkout/model/payment/card/wallet.js b/assets/javascripts/front/checkout/model/payment/card/wallet.js index 777e9c50..e6187ef3 100644 --- a/assets/javascripts/front/checkout/model/payment/card/wallet.js +++ b/assets/javascripts/front/checkout/model/payment/card/wallet.js @@ -18,7 +18,7 @@ let pagarmeCheckoutWallet = { onChangeCard: function (e) { let select = $( e.currentTarget ); let wrapper = select.closest( 'fieldset' ); - let method = select.val() ? 'slideUp': 'slideDown'; + const method= select.val() ? 'slideUp': 'slideDown'; let brand = select.find('option:selected').data('brand'); let brandInput = wrapper.find(pagarmeCard.getBrandTarget()); brandInput.val(brand); @@ -29,7 +29,8 @@ let pagarmeCheckoutWallet = { }); }, addEventListener: function (paymentTarget) { - $(paymentTarget + ' ' + cardSaveTarget).on('change', function (e) { + paymentTarget = paymentTarget + ' ' + cardSaveTarget; + $(paymentTarget).on('change', function (e) { pagarmeCheckoutWallet.onChangeCard(e); }); }, From f05df288f70ab3f1e6fe8fbf6822586ab7d4d07c Mon Sep 17 00:00:00 2001 From: mauriciohaygert Date: Thu, 1 Jun 2023 17:58:26 -0300 Subject: [PATCH 155/156] Fix Code Smell --- assets/javascripts/front/checkout/model/payment/card/wallet.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/javascripts/front/checkout/model/payment/card/wallet.js b/assets/javascripts/front/checkout/model/payment/card/wallet.js index e6187ef3..d0495e0b 100644 --- a/assets/javascripts/front/checkout/model/payment/card/wallet.js +++ b/assets/javascripts/front/checkout/model/payment/card/wallet.js @@ -29,7 +29,7 @@ let pagarmeCheckoutWallet = { }); }, addEventListener: function (paymentTarget) { - paymentTarget = paymentTarget + ' ' + cardSaveTarget; + paymentTarget = `${paymentTarget} ${cardSaveTarget}`; $(paymentTarget).on('change', function (e) { pagarmeCheckoutWallet.onChangeCard(e); }); From 882e22556a317be1c20c897853ea343b4ececac4 Mon Sep 17 00:00:00 2001 From: mauriciohaygert Date: Fri, 2 Jun 2023 17:20:23 -0300 Subject: [PATCH 156/156] =?UTF-8?q?PAOPN-436=20Excesso=20de=20chamadas=20p?= =?UTF-8?q?ara=20calcular=20as=20parcelas=20de=20cart=C3=B5es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../front/checkout/model/payment/card.js | 9 ++++---- .../checkout/model/payment/card/wallet.js | 22 ++++++++++--------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/assets/javascripts/front/checkout/model/payment/card.js b/assets/javascripts/front/checkout/model/payment/card.js index b9d3e2e7..d81e0a55 100644 --- a/assets/javascripts/front/checkout/model/payment/card.js +++ b/assets/javascripts/front/checkout/model/payment/card.js @@ -253,12 +253,11 @@ let pagarmeCard = { } let cardForm = elem.closest("fieldset"); let select = cardForm.find(installmentsTarget); - if (select.data('type') === '1' && elem.data('pagarmecheckout-element') !== 'order-value') { - return false; - } if (!total) total = cartTotal; - if ((!total) || (!brand && select.data("type") == 2)) + if ((!total) || + (select.data("type") === 2 && !brand) || + (select.data("type") === 1 && elem.data('element') !== "order-value")) return false; let storageName = btoa(brand + total); sessionStorage.removeItem(storageName); @@ -351,7 +350,7 @@ let pagarmeCard = { } } }, - canExecute: function(e) { + canExecute: function (e) { e.preventDefault(); if (!wc_pagarme_checkout.validate() || wc_pagarme_checkout.errorTokenize === true) { return false; diff --git a/assets/javascripts/front/checkout/model/payment/card/wallet.js b/assets/javascripts/front/checkout/model/payment/card/wallet.js index d0495e0b..8127bec1 100644 --- a/assets/javascripts/front/checkout/model/payment/card/wallet.js +++ b/assets/javascripts/front/checkout/model/payment/card/wallet.js @@ -8,25 +8,27 @@ const cardFields = [ ]; let pagarmeCheckoutWallet = { started: false, - isStarted: function (){ - if (!this.started){ + isStarted: function () { + if (!this.started) { this.started = true; return false; } return true; }, onChangeCard: function (e) { - let select = $( e.currentTarget ); - let wrapper = select.closest( 'fieldset' ); - const method= select.val() ? 'slideUp': 'slideDown'; - let brand = select.find('option:selected').data('brand'); - let brandInput = wrapper.find(pagarmeCard.getBrandTarget()); - brandInput.val(brand); - pagarmeCard.updateInstallmentsElement(e); - cardFields.forEach( function (field) { + let select = $(e.currentTarget); + let wrapper = select.closest('fieldset'); + const method = select.val() ? 'slideUp' : 'slideDown'; + cardFields.forEach(function (field) { wrapper.find(field)[method](); wrapper.find(field).find('input').val(''); }); + let brand = select.find('option:selected').data('brand'); + let brandInput = wrapper.find(pagarmeCard.getBrandTarget()); + brandInput.val(brand); + if (select.val()) { + pagarmeCard.updateInstallmentsElement(e); + } }, addEventListener: function (paymentTarget) { paymentTarget = `${paymentTarget} ${cardSaveTarget}`;