{"id":95,"date":"2024-05-24T08:53:04","date_gmt":"2024-05-24T08:53:04","guid":{"rendered":"https:\/\/echo-bs.eu\/?page_id=95"},"modified":"2024-10-11T05:53:02","modified_gmt":"2024-10-11T05:53:02","slug":"sanctions-list-check","status":"publish","type":"page","link":"https:\/\/echo-bs.eu\/en\/sanctions-list-check\/","title":{"rendered":"Sanctions List Check"},"content":{"rendered":"[et_pb_section fb_built=&#8220;1&#8243; admin_label=&#8220;section&#8220; _builder_version=&#8220;4.16&#8243; global_colors_info=&#8220;{}&#8220;][et_pb_row admin_label=&#8220;row&#8220; _builder_version=&#8220;4.16&#8243; background_size=&#8220;initial&#8220; background_position=&#8220;top_left&#8220; background_repeat=&#8220;repeat&#8220; global_colors_info=&#8220;{}&#8220;][et_pb_column type=&#8220;4_4&#8243; _builder_version=&#8220;4.16&#8243; custom_padding=&#8220;|||&#8220; global_colors_info=&#8220;{}&#8220; custom_padding__hover=&#8220;|||&#8220;][et_pb_image src=&#8220;http:\/\/echo-bs.eu\/wp-content\/uploads\/2024\/10\/SanktionsListeHead-e1728540205840.png&#8220; alt=&#8220;Sanktionslistehead&#8220; title_text=&#8220;SanktionsListeHead&#8220; _builder_version=&#8220;4.23.4&#8243; _module_preset=&#8220;default&#8220; hover_enabled=&#8220;0&#8243; global_colors_info=&#8220;{}&#8220; sticky_enabled=&#8220;0&#8243;][\/et_pb_image][et_pb_text _builder_version=&#8220;4.23.4&#8243; _module_preset=&#8220;default&#8220; global_colors_info=&#8220;{}&#8220;]<p style=\"font-weight: 400;\">U.S. software and retail companies are demanding a review of whether there are customer relationships with individuals and companies listed on the embargo list of the U.S. Treasury Department and other government institutions. A review must take place before the start of a business relationship.<\/p>\n<p style=\"font-weight: 400;\"><strong>The \"OFAC\" explains the following:<\/strong><\/p>\n<p style=\"font-weight: 400;\">The U.S. Treasury Department's Office of Foreign Assets Control (\"OFAC\") administers and enforces economic and trade sanctions against selected foreign countries and regimes, terrorists, international drug traffickers, individuals involved in activities related to the proliferation of weapons of mass destruction, and other threats to the national security, foreign policy, or economy of the United States. United States. ( Source: <a href=\"https:\/\/ofac.treasury.gov\/\" target=\"_blank\" rel=\"noopener\" title=\"https:\/\/ofac.treasury.gov\/\">https:\/\/ofac.treasury.gov\/ <\/a>)<\/p>\n<p style=\"font-weight: 400;\">\n<h4 style=\"font-weight: 400;\"><strong>Service: <\/strong><\/h4>\n<ul>\n<li style=\"font-weight: 400;\">Upload a .csv file in the described format ( add more)<\/li>\n<li style=\"font-weight: 400;\">If there are positive matches, the companies on the sanctions list will be displayed in <strong><span style=\"color: #ff0000;\">Red<\/span><\/strong>.<\/li>\n<li style=\"font-weight: 400;\">Save the result to provide proof that they have fulfilled their due diligence obligations.<\/li>\n<\/ul>[\/et_pb_text][et_pb_text _builder_version=&#8220;4.23.4&#8243; _module_preset=&#8220;default&#8220; global_colors_info=&#8220;{}&#8220;]<h5>Upload your Excel list here:<\/h5>[\/et_pb_text][et_pb_text admin_label=&#8220;Text&#8220; _builder_version=&#8220;4.16&#8243; background_size=&#8220;initial&#8220; background_position=&#8220;top_left&#8220; background_repeat=&#8220;repeat&#8220; custom_margin=&#8220;-4px|||||&#8220; custom_padding=&#8220;0px||3px|||&#8220; global_colors_info=&#8220;{}&#8220;]<p>&nbsp;<\/p>\n<p><!-- \/wp:post-content --><\/p>\n<p><!-- wp:paragraph --><\/p>\n    <div class=\"sanktionliste_ui_wrapper\">\n\n        <div id=\"theWidget\" class=\"dnd-file-upload-widget\">\n            <div class=\"form-group drop_zone\">\n                <span>Drop file here or<\/span>\n                <label class=\"btn-select-file\">\n                    Select files\n                    <input type=\"file\" id=\"csvFileInput\" accept=\".csv\" \/>\n                <\/label>\n            <\/div>\n\n            <div class=\"files-container\" id=\"files-container\"><\/div>\n\n            <div class=\"form-group text-center\">\n                <span class=\"text-danger dnd-file-upload-widget-size-error hidden\"><\/span>\n            <\/div>\n\n        <\/div>\n\n        <button id=\"exampleCsvBtn\" class=\"btn\" onclick=\"downloadExampleCSV()\">Download example CSV<\/button>\n        <button id=\"processCSV\" class=\"btn\" onclick=\"processCSV()\">Process CSV<\/button>\n        <div id=\"loading-spinner\" class=\"spinner\" style=\"display: none;\" ><\/div>\n\n        <div>\n            <div id=\"NoHitMessage\" style=\"display: none;\">Es wurden keine \u00dcbereinstimmungen mit der aktuellen Sanktionsliste gefunden.<\/div>\n            <div id=\"HasHitMessage\" style=\"display: none;\">Folgende Eintr\u00e4ge wurden in \u00dcbereinstimmung mit der Sanktionsliste gefunden:<\/div>\n        <\/div>\n        <div id=\"sanktionliste\">\n            \n        <\/div>\n\n        <div id=\"downloadCSV\" style=\"display: none\">\n            <div>File has been processed at 09.04.2026 10:05:55<\/div>\n            <button  class=\"btn\"  onclick=\"downloadProcessedCSV()\">Download processed CSV<\/button>\n        <\/div>\n\n        <script type=\"text\/javascript\">\n            var results = [];\n            function processCSV() {\n                var hasHit = false;\n                jQuery('#loading-spinner').show();\n                jQuery('#NoHitMessage').show();\n                var csvFileInput = document.getElementById('csvFileInput');\n                var file = csvFileInput.files[0];\n                \/\/ console.log(csvFileInput);\n                \/\/ console.log(file);\n\n\n                if(!file){\n                    var formData = new FormData();\n                    var filesContainer = document.getElementById('files-container');\n                    var fileUploadRows = filesContainer.children;\n\n                    \/\/ console.log('helllo');\n                    \/\/ console.log(fileUploadRows[0]);\n                    \/\/ console.log(fileUploadRows[0].file);\n                    if(fileUploadRows[0] && fileUploadRows[0].file){\n                        file = fileUploadRows[0].file;\n                    }\n                }\n\n                \/\/ for(var i = 0; i < fileUploadRows.length; i++) {\n                \/\/     var fileUploadRow = fileUploadRows[i];\n                \/\/     var file2 = fileUploadRow.file;\n                \/\/     console.log(file2);\n                \/\/     formData.append('files[]', file2, file2.name);\n                \/\/ }\n\n                if (file) {\n                    const reader = new FileReader();\n\n                    reader.onload = function (e) {\n                        const csv = e.target.result;\n                        const lines = csv.split('\\n');\n                        var list_block = jQuery('#sanktionliste');\n\n                        results = [];\n                        \/\/Array 0 = Has Hit, Array 1 = Has No Hit\n                        results.push(\"Es wurden Uebereinstimmungen gefunden. Bitte pruefen Sie die Uebereinstimmungen auf die Richtigkeit.\");\n                        results.push(\"Es wurden keine Uebereinstimmungen gefunden. Es besteht jedoch keine Gewaehrleistung auf die Richtigkeit der Resultate.\");\n                        const csvHeader = 'Name;City;Country;Response';\n                        results.push(csvHeader);\n                        jQuery('#downloadCSV').hide();\n                        list_block.html('');\n                        \/\/ debugger;\n                        \/\/ Loop through the CSV lines\n                        for (let i = 0; i < lines.length; i++) {\n                            if(i === 0){\n                                continue;\n                            }\n                            const line = lines[i].trim();\n\n                            console.log(line);\n\n                            if (line === '') {\n                                continue;\n                            }\n                            \n                            const partsOfLine = line.split(';');\n                            if(partsOfLine.length < 3){\n                                alert('Please provide a valid CSV file.');\n                                return;\n                            }\n\n                            const name = line.split(';')[0];\n                            const city = line.split(';')[1];\n                            const country = line.split(';')[2];\n                            \/\/ Make an API call for each line (replace with your API endpoint)\n                            apiCall(name, city, country)\n                                .then(response => {\n                                    \/\/ Process the API response and add it to the results array\n                                    console.log(response);\n                                    if(!response.isMatch){\n                                        var response_text = 'Not in list';\n\n                                    } else {\n                                        var response_text = 'In list';\n                                    }\n                                    const csvline = line + ';' + response_text;\n\n                                    var strline = line;\n                                    if(response.isMatch){\n                                        strline = '<div class=\"list_item has_response\">' + line + ' - ' + response_text + '<\/div>';\n                                        list_block.append(strline);\n                                        jQuery('#NoHitMessage').hide();\n                                        jQuery('#HasHitMessage').show();\n                                        hasHit = true;\n                                    }\n                                    \/\/ else{\n                                    \/\/     strline = '<div class=\"list_item\">' + line + '<\/div>';\n                                    \/\/ }\n\n\n\n                                    results.push(csvline);\n                                    \/\/ If we've processed all lines, create a new CSV and trigger download\n                                    console.log(i, lines.length);\n                                    if (i === lines.length - 2) {\n                                        \/\/ const newCSV = results.join('\\n');\n                                        \/\/ downloadCSV(newCSV);\n                                        if(hasHit === true) {\n                                            results.splice(1,1);\n                                        } else {\n                                            results.shift();\n                                        }\n                                        jQuery('#loading-spinner').hide();\n                                        jQuery('#downloadCSV').show();\n                                        \n                                    }\n                                })\n                                .catch(error => {\n                                    const csvline = line + '; ' + 'No Match';\n                                    results.push(csvline);\n                                    console.error('API error:', error)\n                                });\n                        }\n                        \n                    };\n\n                    reader.readAsText(file);\n                } else {\n                    alert('Please select a CSV file.');\n                }\n            }\n\n            function downloadProcessedCSV(){\n                const newCSV = results.join('\\n');\n                downloadCSV(newCSV);\n            }\n\n            function downloadExampleCSV(){\n                const exampleCSV = 'CompanyNames;City;Country  \\nCompanyName 1;Munich;80331 \\nCompanyName 2;Munich;80331\\nCompanyName 3;Munich;80331\\nCompanyName 4;Munich;80331\\nCompanyName 5;Munich;80331\\nCompanyName 6;Munich;80331\\nCompanyName 7;Munich;80331\\nCompanyName 8;Munich;80331\\nCompanyName 9;Munich;80331\\nCompanyName 10;Munich;80331';\n                downloadCSV(exampleCSV);\n            }\n\n            function CheckIfEOF(i, lines) {\n                if (i === lines.length - 1) {\n                    const newCSV = results.join('\\n');\n                    downloadCSV(newCSV);\n                }\n            }\n\n            function apiCall(name,city,country) {\n                return fetch(`https:\/\/echo-scp-backend.azurewebsites.net\/SpeciallyDesignatedNationals\/IsNameCityCountryInSpeciallyDesignatedNationalsList?name=${name}&city=${city}&country=${country}`)\n                    .then(response => {\n                        if (!response.ok) {\n                            console.error(` Request: https:\/\/echo-scp-backend.azurewebsites.net\/SpeciallyDesignatedNationals\/IsNameCityCountryInSpeciallyDesignatedNationalsList?name=${name}&city=${city}&country=${country}   has thrown an error`)\n                            console.error(response)\n                            return '';\n                        }\n                        return response.json(); \/\/ Adjust this to match the response type\n                    });\n            }\n\n            function downloadCSV(csvData) {\n                const blob = new Blob([csvData], { type: 'text\/csv' });\n                const url = window.URL.createObjectURL(blob);\n                const a = document.createElement('a');\n                a.href = url;\n                const now = new Date();\n\n                const options = {\n                    year: 'numeric',\n                    month: '2-digit',\n                    day: '2-digit',\n                    hour: '2-digit',\n                    minute: '2-digit',\n                    second: '2-digit',\n                };\n                const germanFormat = new Intl.DateTimeFormat('de-DE', options).format(now);\n                a.download = 'SDNListresult_' + germanFormat + '.csv';\n                document.body.appendChild(a);\n                a.click();\n                window.URL.revokeObjectURL(url);\n            }\n\n\n\n\n        \/\/ Upload button script\n            var DndFileUploadWidget = (function defineDndFileUploadWidget() {\n\n                \/* public static fields *\/\n                DndFileUploadWidget.DEFAULT_MAX_ALLOWED_TOTAL_BYTES = 10 * 1024 * 1024;\n\n                function DndFileUploadWidget(widgetDom, uploadUrl, completeUrl, options) {\n                    this._widgetDom = widgetDom;\n                    this._uploadUrl = uploadUrl;\n                    this._completeUrl = completeUrl;\n                    this._csrfHeaderName = options && options.csrfHeaderName;\n                    this._csrfToken = options && options.csrfToken;\n                    this._maxAllowedTotalBytes = (options && options.maxAllowedTotalBytes) || DndFileUploadWidget.DEFAULT_MAX_ALLOWED_TOTAL_BYTES;\n\n                    var dropZone = this._dropZone = widgetDom.querySelector('.drop_zone');\n\n                    dropZone.addEventListener('drop', bind(this.drop_handler, this));\n                    dropZone.addEventListener('dragover', bind(this.dragover_handler, this));\n                    dropZone.addEventListener('dragleave', bind(this.dragleave_handler, this));\n                    dropZone.addEventListener('dragend', bind(this.dragend_handler, this));\n\n                    var labelInDropZone = dropZone.querySelector('label');\n                    labelInDropZone.addEventListener('drop', bind(this.drop_handler, this));\n                    labelInDropZone.addEventListener('dragover', bind(this.dragover_handler, this));\n                    labelInDropZone.addEventListener('dragleave', bind(this.dragleave_handler, this));\n                    labelInDropZone.addEventListener('dragend', bind(this.dragend_handler, this));\n\n                    var fileInputInDropZone = dropZone.querySelector('input[type=\"file\"]');\n                    fileInputInDropZone.addEventListener('change', bind(this.fileSelected_handler, this));\n\n                    \/\/ this.getUploadButton().addEventListener('click', bind(this.validateAndUpload, this));\n                }\n\n                \/**\n                 * Public methods\n                 *\/\n                DndFileUploadWidget.prototype.drop_handler = function(ev) {\n                    console.log(\"drop\");\n                    this._dropZone.classList.remove('dragover');\n                    ev.preventDefault();\n                    \/\/ If dropped items aren't files, reject them\n                    var dt = ev.dataTransfer;\n                    if (dt.items) {\n                        \/\/ Use DataTransferItemList interface to access the file(s)\n                        for (var i = 0; i < dt.items.length; i++) {\n                            if (dt.items[i].kind === \"file\") {\n                                var f = dt.items[i].getAsFile();\n                                this.addFileUploadRow(f);\n                            }\n                        }\n                    } else {\n                        \/\/ Use DataTransfer interface to access the file(s)\n                        for (var i = 0; i < dt.files.length; i++) {\n                            var f = dt.files[i];\n                            this.addFileUploadRow(f);\n                        }\n                    }\n\n                    var csvFileInput = document.getElementById('csvFileInput');\n                    csvFileInput.value = csvFileInput.defaultValue;\n\n                    this.validate();\n                };\n\n                \/\/ Turn off the browser's default drag and drop handler.\n                DndFileUploadWidget.prototype.dragover_handler = function(ev) {\n                    console.log(\"dragover\");\n                    \/\/ Prevent default select and drag behavior\n                    ev.preventDefault();\n                    this._dropZone.classList.add('dragover');\n                };\n\n                DndFileUploadWidget.prototype.dragleave_handler = function(ev) {\n                    console.log(\"dragleave\");\n                    this._dropZone.classList.remove('dragover');\n                };\n\n                \/\/ Fired when the drag operation ends (signaling the drop has occurred or the drag has been canceled).\n                DndFileUploadWidget.prototype.dragend_handler = function(ev) {\n                    console.log(\"dragend\");\n                    this._dropZone.classList.remove('dragover');\n                    \/\/ Remove all of the drag data\n                    var dt = ev.dataTransfer;\n                    if (dt.items) {\n                        \/\/ Use DataTransferItemList interface to remove the drag data\n                        for (var i = 0; i < dt.items.length; i++) {\n                            dt.items.remove(i);\n                        }\n                    } else {\n                        \/\/ Use DataTransfer interface to remove the drag data\n                        ev.dataTransfer.clearData();\n                    }\n                };\n\n                DndFileUploadWidget.prototype.addFileUploadRow = function(file) {\n                    jQuery('.files-container .form-group').remove();\n\n                    var filesContainer = this.getFilesContainer();\n                    var filename = file.name;\n                    \/\/ var fileSize = file.size;\n                    var domString = '<div class=\"row form-group\"> <div class=\"col-xs-8 col-sm-8 col-md-8 col-lg-8\"> <div class=\"text-left\" style=\"line-height:32px;margin-bottom: 8px; margin-top: -6px;\">' + filename + '<\/div> <\/div> <div class=\"col-xs-2 col-sm-2 col-md-2 col-lg-2\"> <\/div> <div class=\"col-xs-2 col-sm-2 col-md-2 col-lg-2 text-right\"> <\/div> <\/div>'\n                    var parser = new DOMParser();\n                    var html = parser.parseFromString(domString, 'text\/html');\n                    var fileUploadRow = html.body.firstChild;\n                    \/\/ fileUploadRow.querySelector('button.dnd-file-upload-widget-remove-file-button')\n                    \/\/     .addEventListener('click', bind(this.removeFileUploadRow, this));\n                    filesContainer.appendChild(fileUploadRow);\n                    fileUploadRow.file = file;\n                };\n\n                DndFileUploadWidget.prototype.removeFileUploadRow = function(ev) {\n                    var row = ev.target.parentNode.parentNode;\n                    row.parentNode.removeChild(row);\n                    this.validate();\n                };\n\n                DndFileUploadWidget.prototype.fileSelected_handler = function(event) {\n                    var fileList = event.target.files;\n                    for (var i = 0; i < fileList.length; i++) {\n                        var file = fileList[i];\n                        this.addFileUploadRow(file);\n                    }\n                    this.validate();\n                };\n\n                DndFileUploadWidget.prototype.validate = function() {\n                    var filesContainer = this.getFilesContainer();\n                    var totalSize = 0;\n                    var fileUploadRows = filesContainer.children;\n                    if (fileUploadRows.length === 0) {\n                        \/\/ this.getUploadButton().classList.add('hidden');\n                        this.getSizeErrorSpan().classList.add('hidden');\n                        return false;\n                    }\n\n                    for (var i = 0; i < fileUploadRows.length; i++) {\n                        var fileUploadRow = fileUploadRows[i];\n                        var file = fileUploadRow.file;\n                        totalSize += file.size;\n                    }\n\n                    if (totalSize <= this._maxAllowedTotalBytes) {\n                        \/\/ this.getUploadButton().classList.remove('hidden');\n                        this.getSizeErrorSpan().classList.add('hidden');\n                        return true;\n                    } else {\n                        \/\/ this.getUploadButton().classList.add('hidden');\n                        this.getSizeErrorSpan().classList.remove('hidden');\n                        this.getSizeErrorSpan().innerText = 'Total file size must not be greater than ' + humanReadableFileSize(this._maxAllowedTotalBytes) + '. Current: ' + humanReadableFileSize(totalSize);\n                        return false;\n                    }\n                };\n\n                DndFileUploadWidget.prototype.validateAndUpload = function() {\n                    if (!this.validate()) {\n                        return;\n                    }\n                    var formData = new FormData();\n                    var filesContainer = this.getFilesContainer();\n                    var fileUploadRows = filesContainer.children;\n                    for(var i = 0; i < fileUploadRows.length; i++) {\n                        var fileUploadRow = fileUploadRows[i];\n                        var file = fileUploadRow.file;\n                        formData.append('files[]', file, file.name);\n                    }\n\n                    var url = this._uploadUrl;\n                    var completeUrl = this._completeUrl;\n                    var xhr = new XMLHttpRequest();\n                    xhr.open(\"POST\", url, true);\n                    var self = this;\n                    xhr.onload = function () {\n                        if (xhr.status === 200) {\n                            location.assign(completeUrl);\n                        } else {\n                            alert(xhr.statusText);\n                            self.exitLoadingState();\n                        }\n                    };\n\n                    xhr.onerror = function () {\n                        alert(xhr.statusText);\n                        self.exitLoadingState();\n                    };\n\n                    if (this._csrfHeaderName && this._csrfToken) {\n                        xhr.setRequestHeader(this._csrfHeaderName , this._csrfToken);\n                    }\n\n                    xhr.send(formData);\n                    this.enterLoadingState();\n                };\n\n\n                DndFileUploadWidget.prototype.enterLoadingState = function() {\n                    \/\/ this.getUploadButton().classList.add('hidden');\n                    this.getUploadingButton().classList.remove('hidden');\n                    var removeButtons = this.getFilesContainer().querySelectorAll('button');\n                    for (var i = 0; i < removeButtons.length; i++) {\n                        removeButtons[i].disabled = true;\n                    }\n                };\n\n                DndFileUploadWidget.prototype.exitLoadingState = function() {\n                    \/\/ this.getUploadButton().classList.remove('hidden');\n                    this.getUploadingButton().classList.add('hidden');\n                    var removeButtons = this.getFilesContainer().querySelectorAll('button');\n                    for (var i = 0; i < removeButtons.length; i++) {\n                        removeButtons[i].disabled = false;\n                    }\n                };\n\n                DndFileUploadWidget.prototype.queryWithinWidget = function(selectors) {\n                    return this._widgetDom.querySelector(selectors);\n                };\n\n                \/\/ DndFileUploadWidget.prototype.getUploadButton = function() {\n                \/\/     return this.queryWithinWidget('.dnd-file-upload-widget-upload-button');\n                \/\/ };\n\n                DndFileUploadWidget.prototype.getUploadingButton = function() {\n                    return this.queryWithinWidget('.dnd-file-upload-widget-uploading-button');\n                };\n\n                DndFileUploadWidget.prototype.getSizeErrorSpan = function() {\n                    return this.queryWithinWidget('.dnd-file-upload-widget-size-error');\n                };\n\n                DndFileUploadWidget.prototype.getFilesContainer = function() {\n                    return this.queryWithinWidget('.files-container');\n                };\n\n\n                \/**\n                 * Private methods\n                 *\/\n                function humanReadableFileSize(b) {\n                    var u = 0, s = 1024;\n                    while (b >= s || -b >= s) {\n                        b \/= s;\n                        u++;\n                    }\n                    return (u ? b.toFixed(1) + ' ' : b) + ' KMGTPEZY'[u] + 'iB';\n                }\n\n                function bind(func, scope) {\n                    return function () {\n                        func.apply(scope, arguments);\n                    }\n                }\n\n                return DndFileUploadWidget;\n            })();\n\n            (function useDndFileUploadWidget(){\n                var widgetDom = document.getElementById('theWidget');\n                var uploadUrl = '';\n                var completeUrl = '';\n                var options = {\n                    maxAllowedTotalBytes: 50 * 1024 * 1024, \/\/ 50MiB\n                    csrfHeaderName: '',\n                    csrfToken: ''\n                };\n\n                new DndFileUploadWidget(widgetDom, uploadUrl, completeUrl, options);\n            })();\n\n\n        <\/script>\n\n        <style type=\"text\/css\">\n            .sanktionliste_ui_wrapper {\n                width: 90%;\n                margin: 10px auto;\n                text-align: center;\n            }\n            .spinner {\n                border: 16px solid #f3f3f3; \/* Light grey *\/\n                border-top: 16px solid #3498db; \/* Blue *\/\n                border-radius: 50%;\n                width: 60px;\n                height: 60px;\n                animation: spin 2s linear infinite;\n                position: fixed;\n                top: 50%;\n                left: 50%;\n                transform: translate(-50%, -50%);\n                z-index: 1000; \/* Ensure it is above other elements *\/\n            }\n            @keyframes spin {\n                0% { transform: rotate(0deg); }\n                100% { transform: rotate(360deg); }\n            }\n            \n            \/*.btn{*\/\n            \/*    color: #ffffff;*\/\n            \/*    border-width: 14px;*\/\n            \/*    border-color: rgba(0, 0, 0, 0);*\/\n            \/*    border-radius: 0px;*\/\n            \/*    letter-spacing: 2px;*\/\n            \/*    font-size: 14px;*\/\n            \/*    font-weight: 600;*\/\n            \/*    text-transform: uppercase;*\/\n            \/*    padding: 0 0.7em;*\/\n            \/*    line-height: 1.7em;*\/\n            \/*    background-color: #0054ff;*\/\n            \/*    cursor: pointer;*\/\n            \/*}*\/\n\n            .btn {\n                background: #2794da;\n                color: #fff;\n                font-weight: 700;\n                text-transform: uppercase;\n                padding: 24px 48px;\n                font-size: 22px;\n                border: 1px solid #cfd9e6;\n                height: unset;\n                border-radius: 0;\n                line-height: 22px;\n                cursor:pointer;\n            }\n\n            #sanktionliste .list_item {\n                width: fit-content;\n                margin: 5px auto;\n            }\n            #sanktionliste .list_item.has_response {\n                background: red;\n            }\n\n\n\n        \/*   Upload buttons style *\/\n            .drop_zone {\n                padding: 24px;\n                border: 1px dashed #ccc;\n                text-align: center;\n                color: #aaa;\n                margin-bottom: 16px;\n                background: rgba(0, 0, 0, .02);\n                -webkit-border-radius: 4px;\n                -moz-border-radius: 4px;\n                border-radius: 4px;\n            }\n\n            .drop_zone.dragover {\n                background-color: #F5F5F5;\n            }\n\n            .drop_zone > span {\n                color: #aaa;\n                font-size: 16px;\n                display: block;\n                margin-bottom: 8px;\n                line-height: 24px;\n                font-weight: 400;\n            }\n\n\n            .btn-select-file {\n                display: inline-block;\n                font-weight: 400;\n                color: #c36;\n                text-align: center;\n                white-space: nowrap;\n                -webkit-user-select: none;\n                -moz-user-select: none;\n                user-select: none;\n                background-color: transparent;\n                border: 1px solid #c36;\n                padding: .5rem 1rem;\n                font-size: 1rem;\n                border-radius: 3px;\n                transition: all .3s;\n                cursor:pointer;\n            }\n            .btn-select-file:hover {\n                color: #fff;\n                background-color: #c36;\n            }\n\n\n            .drop_zone > label > input {\n                display: none;\n            }\n\n            .glyphicon-refresh-animate {\n                -animation: spin .7s infinite linear;\n                -webkit-animation: spin2 .7s infinite linear;\n            }\n\n            @-webkit-keyframes spin2 {\n                from { -webkit-transform: rotate(0deg);}\n                to { -webkit-transform: rotate(360deg);}\n            }\n\n            @keyframes spin {\n                from { transform: scale(1) rotate(0deg);}\n                to { transform: scale(1) rotate(360deg);}\n            }\n           \n\n\n\n\n        <\/style>\n    <\/div>\n\n    \n<p><!-- \/wp:paragraph --><\/p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8220;4.23.4&#8243; _module_preset=&#8220;default&#8220; global_colors_info=&#8220;{}&#8220;][et_pb_column type=&#8220;4_4&#8243; _builder_version=&#8220;4.23.4&#8243; _module_preset=&#8220;default&#8220; global_colors_info=&#8220;{}&#8220;][et_pb_text _builder_version=&#8220;4.23.4&#8243; _module_preset=&#8220;default&#8220; global_colors_info=&#8220;{}&#8220;]<p style=\"font-weight: 400;\"><strong>Hint:<\/strong><\/p>\n<p style=\"font-weight: 400;\">On this page, an automated query of data is carried out. The data is obtained from the following page: <a href=\"https:\/\/sanctionslist.ofac.treas.gov\/Home\/\" data-outlook-id=\"e75ef4e1-e35b-46b3-b1dc-de7da1aaa45a\" target=\"_blank\" rel=\"noopener\" title=\"https:\/\/sanctionslist.ofac.treas.gov\/Home\/\">https:\/\/sanctionslist.ofac.treas.gov\/Home\/<\/a>.<\/p>\n<p style=\"font-weight: 400;\">We do not assume any liability for the accuracy, completeness or up-to-dateness of the data retrieved. Each user is expressly requested to check the accuracy and up-to-dateness of the data on his or her own responsibility.<\/p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]","protected":false},"excerpt":{"rendered":"<p>US Software- und Handelsunternehmen fordern eine \u00dcberpr\u00fcfung, ob es Kundenbeziehungen zu Personen und Unternehmen gibt, welche auf der Embargo Liste des US Finanzministeriums und anderen staatlichen Institutionen aufgef\u00fchrt sind. Bereits vor Beginn einer Gesch\u00e4ftsbeziehung muss eine \u00dcberpr\u00fcfung stattfinden. Die \u201eOFAC\u201c erkl\u00e4rt hierzu folgendes: Das Office of Foreign Assets Control (\u201eOFAC\u201c) des US-Finanzministeriums verwaltet und erzwingt [&hellip;]<\/p>","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"<!-- wp:paragraph -->\n<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean pharetra augue ac tortor ultricies, eu semper nunc ornare. Donec dictum nunc metus, tristique pellentesque quam sagittis quis. Vestibulum venenatis mauris sed mauris congue ultrices. Fusce nec ultricies dolor. Suspendisse augue lectus, iaculis id pellentesque eget, iaculis ac lectus. Suspendisse efficitur aliquam nulla, id lobortis quam fermentum vel. Vivamus sagittis dolor nisi, quis suscipit sem gravida vulputate. Donec non arcu lorem. Fusce arcu dolor, lacinia a rutrum nec, sodales id diam. Phasellus vitae eleifend lacus, ac condimentum magna. Aliquam sit amet nibh eget libero tristique molestie at quis arcu. Sed eu orci non metus bibendum sodales a sed nisl. Fusce blandit turpis ante. Aliquam quis posuere turpis, rutrum eleifend lorem. Pellentesque aliquet, tellus sed accumsan euismod, arcu mauris porttitor nunc, non tincidunt nisl nulla id ligula. Cras blandit eget libero vel mattis.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>[sanktionliste_ui]<\/p>\n<!-- \/wp:paragraph -->","_et_gb_content_width":"","footnotes":""},"class_list":["post-95","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/echo-bs.eu\/en\/wp-json\/wp\/v2\/pages\/95","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/echo-bs.eu\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/echo-bs.eu\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/echo-bs.eu\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/echo-bs.eu\/en\/wp-json\/wp\/v2\/comments?post=95"}],"version-history":[{"count":21,"href":"https:\/\/echo-bs.eu\/en\/wp-json\/wp\/v2\/pages\/95\/revisions"}],"predecessor-version":[{"id":315,"href":"https:\/\/echo-bs.eu\/en\/wp-json\/wp\/v2\/pages\/95\/revisions\/315"}],"wp:attachment":[{"href":"https:\/\/echo-bs.eu\/en\/wp-json\/wp\/v2\/media?parent=95"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}