diff --git a/stylesheet.linux.css b/stylesheet.linux.css
new file mode 100644
index 0000000..44eeecf
--- /dev/null
+++ b/stylesheet.linux.css
@@ -0,0 +1,930 @@
+
+QPushButton {
+    background-color: rgb(242, 242, 242);
+    border-style: solid;
+    border-width: 0px;
+    border-radius: 15px;
+    color: rgb(32, 32, 32);
+}
+
+QPushButton#pinInfoBtn, QPushButton#backupInfoBtn {
+    background: transparent;
+}
+
+QPushButton#takePhotoButton, QPushButton#importButton {
+    background-color: rgb(242, 242, 242);
+    border-radius: 5px;
+    border:solid 0px;
+}
+
+QPushButton#acceptButton{
+    background-color: #4caf50;
+    border-radius: 28px;
+    border:solid 1px;
+}
+
+QPushButton#refuseButton, QPushButton#cancelButton{
+    background-color: #f44336;
+    border-radius: 28px;
+    border:solid 1px;
+}
+
+QPushButton#acceptButton:hover{
+    background-color: #5db761;
+}
+
+QPushButton#acceptButton:pressed{
+    background-color: #449d48;
+}
+
+QPushButton#refuseButton:hover, QPushButton#cancelButton:hover{
+    background-color: #f5554a;
+}
+
+QPushButton#refuseButton:pressed, QPushButton#cancelButton:pressed{
+    background-color: #db3c30;
+}
+
+QWidget#smartListOuterWidget {
+    background-color: rgb(255, 255, 255);
+}
+
+QWidget#previewContainer {
+    background-color: black;
+}
+
+QPushButton#btnConversations, QPushButton#btnInvites {
+    border-radius: 0px;
+    border-top-left-radius: 15px;
+    border-top-right-radius: 15px;
+    color: rgb(32, 32, 32);
+    height: 28px;
+    padding: 0px;
+    background-color: rgb(240, 240, 240);
+    border-top: 2px solid rgb(240, 240, 240);
+    border-right: 2px solid rgb(240, 240, 240);
+    border-bottom: 2px solid rgb(240, 240, 240);
+    border-left: 2px solid rgb(240, 240, 240);
+}
+
+QPushButton#btnConversations:hover, QPushButton#btnInvites:hover {
+    background-color: rgb(188, 185, 184);
+    border-top: 2px solid rgb(188, 185, 184);
+    border-right: 2px solid rgb(188, 185, 184);
+    border-bottom: 2px solid rgb(188, 185, 184);
+    border-left: 2px solid rgb(188, 185, 184);
+}
+
+QPushButton#btnConversations:checked, QPushButton#btnInvites:checked {
+    background-color: rgb(255, 255, 255);
+    border-bottom: 2px solid rgb(255, 255, 255);
+}
+
+QPushButton#btnConversations:hover:checked, QPushButton#btnInvites:hover:checked {
+    border-top: 2px solid rgb(240, 240, 240);
+    border-right: 2px solid rgb(240, 240, 240);
+    border-bottom: 2px solid rgb(255, 255, 255);
+    border-left: 2px solid rgb(240, 240, 240);
+}
+
+QPushButton#imBackButton, QPushButton#btnAcceptInvite, QPushButton#btnIgnoreInvite,
+QPushButton#btnBlockInvite, QPushButton#btnAudioCall, QPushButton#btnVideoCall,
+QPushButton#sendContactRequestButton, QPushButton#sendButton, QPushButton#sendIMButton,
+QPushButton#btnExitSettings {
+    background-color: transparent;
+    border-style: solid;
+    border-width: 0px;
+    border-radius: 15px;
+    padding: 8px;
+    color: rgb(32, 32, 32);
+}
+
+QPushButton#btnAcceptInvite:hover, QPushButton#btnIgnoreInvite:hover, QPushButton#btnBlockInvite:hover {
+    background-color: rgb(212, 212, 212);
+}
+
+QPushButton#btnAcceptInvite:pressed, QPushButton#btnIgnoreInvite:pressed, QPushButton#btnBlockInvite:pressed {
+    background-color: rgb(187, 187, 187);
+}
+
+    QPushButton#imBackButton:hover, QPushButton#btnAudioCall:hover, QPushButton#btnVideoCall:hover,
+    QPushButton#sendContactRequestButton:hover, QPushButton#sendButton:hover, QPushButton#sendIMButton:hover,
+    QPushButton#btnExitSettings:hover, QPushButton#btnDeleteAccept:hover, QPushButton#btnDeleteCancel:hover,
+    QPushButton#changelogButton:hover, QPushButton#creditsButton:hover, QPushButton#changelogButton:hover, QPushButton#updateCancelBtn:hover,
+    QPushButton#updateAcceptBtn:hover, QPushButton#installBetaButton:hover, QPushButton#closeAboutDialogButton:hover {
+        background-color: rgb(237, 237, 237);
+    }
+
+    QPushButton#imBackButton:pressed, QPushButton#btnAudioCall:pressed, QPushButton#btnVideoCall:pressed,
+    QPushButton#sendContactRequestButton:pressed, QPushButton#sendButton:pressed, QPushButton#sendIMButton:pressed,
+    QPushButton#btnExitSettings:pressed, QPushButton#btnDeleteAccept:pressed, QPushButton#btnDeleteCancel:pressed,
+    QPushButton#changelogButton:pressed, QPushButton#creditsButton:pressed, QPushButton#changelogButton:pressed, QPushButton#updateCancelBtn:pressed,
+    QPushButton#updateAcceptBtn:pressed, QPushButton#installBetaButton:pressed, QPushButton#closeAboutDialogButton:pressed {
+        background-color: rgb(212, 212, 212);
+    }
+
+QWidget#searchBarLayoutWidget, QWidget#smartList,
+QWidget#sidePanelLayoutWidget, QWidget#leftSettingsWidget {
+    border-right: 2px solid rgb(240, 240, 240);
+}
+
+RingContactLineEdit{
+    border-radius: 15px;
+    border: 2px solid rgb(240, 240, 240);
+    background-color: rgb(240, 240, 240);
+}
+
+RingContactLineEdit:focus{
+    border: 2px solid rgb(240, 240, 240);
+    background-color: rgb(255, 255, 255);
+}
+
+.QLineEdit{
+    border-color: rgb(240, 240, 240);
+    border-radius: 15px;
+    border-width: 2px;
+    background-color: rgb(240, 240, 240);
+    padding-left: 4px;
+    padding-right: 4px;
+    height: 30px;
+}
+
+QScrollBar:vertical, QScrollBar:horizontal{
+    background:white; width:0px;
+}
+
+QScrollBar::handle:vertical, QScrollBar::handle:horizontal{
+    background: rgb(255, 255, 255);
+}
+
+SmartListView {
+    background-color: white;
+    border: none;
+}
+
+SmartListView::item:selected, QListView#BannedList::item:selected {
+    background-color: rgba(220, 220, 220, 255);
+    border: none;
+}
+
+SmartListView::item:hover, QListView#BannedList::item:hover {
+    background-color: rgba(242, 242, 242, 255);
+}
+
+QWidget#messagingHeaderWidget {
+    background-color: rgba(255, 255, 255, 255);
+    border-bottom: 2px solid rgb(240, 240, 240);
+}
+
+QWidget#messageViewLayoutWidget, QWidget#welcomePage {
+    background-color: rgba(255, 255, 255, 255);
+}
+
+QPushButton#holdButton, QPushButton#chatButton, QPushButton#noMicButton, QPushButton#noVideoButton, QPushButton#hangupButton,
+QPushButton#transferButton, QPushButton#addPersonButton, QPushButton#joinButton,
+QPushButton#qualityButton, QPushButton#recButton, QPushButton#transferCallButton,
+QPushButton#sipInputPanelButton, QPushButton#addToConferenceButton {
+    background-color: transparent;
+    border-radius: 18px;
+    border: solid 1px;
+}
+
+    QPushButton#holdButton:hover, QPushButton#chatButton:hover, QPushButton#noMicButton:hover, QPushButton#hangupButton:hover,
+    QPushButton#noVideoButton:hover, QPushButton#transferButton:hover, QPushButton#addPersonButton:hover,
+    QPushButton#joinButton:hover, QPushButton#qualityButton:hover, QPushButton#addToContactButton:hover,
+    QPushButton#recButton:hover, QPushButton#transferCallButton:hover,
+    QPushButton#sipInputPanelButton:hover, QPushButton#addToConferenceButton:hover {
+        background-color: transparent;
+        border-radius: 18px;
+        border: solid 1px;
+    }
+
+    QPushButton#holdButton:pressed, QPushButton#chatButton:pressed, QPushButton#noMicButton:pressed, QPushButton#hangupButton:pressed,
+    QPushButton#noVideoButton:pressed, QPushButton#transferButton:pressed, QPushButton#addPersonButton:pressed,
+    QPushButton#joinButton:pressed, QPushButton#qualityButton:pressed, QPushButton#addToContactButton:pressed,
+    QPushButton#recButton:pressed, QPushButton#addToConferenceButton:pressed {
+        background-color: transparent;
+        border-radius: 18px;
+        border: solid 1px;
+    }
+
+    QPushButton#holdButton:checked, QPushButton#noMicButton:checked, QPushButton#hangupButton:checked,
+    QPushButton#noVideoButton:checked, QPushButton#recButton:checked,
+    QPushButton#chatButton:checked, QPushButton#transferCallButton:checked,
+    QPushButton#sipInputPanelButton:checked, QPushButton#addToConferenceButton:checked {
+        background-color: transparent;
+        border-radius: 18px;
+        border: solid 1px;
+    }
+
+QPushButton#updateCancelButton {
+    padding: 4px;
+    background: #369;
+    color: white;
+    font-size: 12px;
+    border: 0;
+    border-radius: 3px;
+    outline: 0px;
+    width: 50px;
+}
+
+QPushButton#updateCancelButton:hover {
+    background: #47a;
+}
+
+QPushButton#updateCancelButton:pressed {
+    background: #58b;
+}
+
+QMessageBox QPushButton {
+    padding: 4px;
+    background: #369;
+    color: white;
+    font-size: 12px;
+    border: 0;
+    border-radius: 3px;
+    outline: 0px;
+    width: 50px;
+}
+
+QMessageBox QPushButton:hover {
+    background: #47a;
+}
+
+QMessageBox QPushButton:pressed {
+    background: #58b;
+}
+
+QToolButton#qrButton, QToolButton#shareButton {
+    background-color: rgb(242, 242, 242);
+    border-style: solid;
+    border-width: 0px;
+    border-radius: 15px;
+    padding: 8px;
+    color: rgb(32, 32, 32);
+}
+
+    QToolButton#qrButton:hover, QToolButton#shareButton:hover {
+        background-color: rgb(237, 237, 237);
+    }
+
+    QToolButton#qrButton:pressed, QToolButton#shareButton:pressed {
+        background-color: rgb(212, 212, 212);
+    }
+
+QToolButton#qrButton:checked {
+    background-color: rgb(237, 237, 237);
+}
+
+QPushButton#btnvideo{
+    background-color: #109ede;
+    border-radius: 15px;
+    border:solid 1px;
+}
+
+QScrollBar:vertical{
+    background: rgb(242, 242, 242);
+    width:10px;
+}
+
+QScrollBar::handle:vertical{
+    background: rgb(77, 77, 77);
+}
+
+QWidget#messagingPage, QWidget#contactRequestPage,
+QDialog#DeleteAccountDialog, QDialog#UpdateDownloadDialog,
+QDialog#UpdateConfirmDialog, QDialog#AccountMigrationDialog {
+    background: rgb(255, 255, 255);
+}
+
+QWidget#messagingPage {
+    background: rgb(255, 255, 255);
+}
+
+QDialog#PasswordDialog,
+QDialog#LinkDeviceDialog,
+QDialog#DeleteAccountDialog {
+    background: rgb(255, 255, 255);
+}
+
+QPushButton#deleteAccountPushButton {
+    background-color: red;
+    border: 0px;
+    border-radius: 15px;
+    height: 30px;
+    color: white;
+}
+
+QPushButton#deleteAccountPushButton:hover {
+    background-color: rgb(230, 0, 0);
+}
+
+QPushButton#deleteAccountPushButton:disabled {
+    background-color: rgba(255, 0, 0, 0.8);
+}
+
+QPushButton#nextButton, QPushButton#playButton, QPushButton#clearHistoryButton, QPushButton#doTransferButton,
+QPushButton#photoButton, QPushButton#migrationPushButton,
+QPushButton#fromDeviceButton, QPushButton#newAccountButton, QPushButton#previousButton, QPushButton#exportButton, QPushButton#newSIPAccountButton, QPushButton#fromBackupButton, QPushButton#connectAccountManagerButton,
+QPushButton#cancelAddButton, QPushButton#exportOnRingButton, QPushButton#addDeviceButton, QPushButton#exportEndedOkButton,
+QPushButton#errorPushButton, QPushButton#registerButton, QPushButton#acceptCRButton, QPushButton#discardCRButton, QPushButton#deleteCancelBtn,
+QPushButton#skipBtn, QPushButton#exportBtn,
+QPushButton#dhtImportBtn, QPushButton#fileImportBtn, QPushButton#changePassBtn, QPushButton#confirmChangeBtn, QPushButton#backButton {
+    background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #109ede, stop: 1.0 #2b5084);
+    border: 0px;
+    border-radius: 15px;
+    height: 30px;
+    color: white;
+}
+
+QPushButton#nextButton:disabled, QPushButton#playButton:disabled, QPushButton#clearHistoryButton:disabled,
+QPushButton#doTransferButton:disabled, QPushButton#photoButton:disabled, QPushButton#fromBackupButton:disabled
+QPushButton#existingPushButton:disabled, QPushButton#newAccountButton:disabled, QPushButton#previousButton:disabled, QPushButton#newSIPAccountButton:disabled,
+QPushButton#exportButton:disabled, QPushButton#cancelAddButton:disabled, QPushButton#exportOnRingButton:disabled,
+QPushButton#addDeviceButton:disabled, QPushButton#exportEndedOkButton:disabled, QPushButton#errorPushButton:disabled,
+QPushButton#registerButton:disabled, QPushButton#acceptCRButton:disabled, QPushButton#discardCRButton:disabled,
+QPushButton#deleteCancelBtn:disabled, QPushButton#dhtImportBtn:disabled, QPushButton#fileImportBtn:disabled,
+QPushButton#changePassBtn:disabled, QPushButton#confirmChangeBtn:disabled, QPushButton#backButton:disabled,
+QPushButton#fromDeviceButton:disabled, QPushButton#connectAccountManagerButton:disabled, QPushButton#exportBtn:disabled,
+QPushButton#skipBtn:disabled, QPushButton#migrationPushButton:disabled {
+    background: rgba(242, 242, 242, 0.8);
+    color: grey;
+}
+
+QPushButton#blockCRButton, QPushButton#debanButton, QPushButton#deleteBanBtn,
+QPushButton#cancelChangeBtn {
+    background-color: rgb(251, 72, 71);
+    border: 0px;
+    color: white;
+}
+
+QPushButton#nextButton:hover, QPushButton#playButton:hover, QPushButton#clearHistoryButton:hover,
+QPushButton#doTransferButton:hover, QPushButton#photoButton:hover, QPushButton#fromBackupButton:hover,
+QPushButton#existingPushButton:hover, QPushButton#newAccountButton:hover, QPushButton#previousButton:hover, QPushButton#newSIPAccountButton:hover,
+QPushButton#exportButton:hover, QPushButton#cancelAddButton:hover, QPushButton#exportOnRingButton:hover,
+QPushButton#addDeviceButton:hover, QPushButton#exportEndedOkButton:hover, QPushButton#errorPushButton:hover,
+QPushButton#registerButton:hover, QPushButton#acceptCRButton:hover, QPushButton#discardCRButton:hover,
+QPushButton#deleteCancelBtn:hover, QPushButton#dhtImportBtn:hover, QPushButton#fileImportBtn:hover, QPushButton#migrationPushButton:hover,
+QPushButton#changePassBtn:hover, QPushButton#confirmChangeBtn:hover, QPushButton#backButton:hover, QPushButton#skipBtn:hover,
+QPushButton#fromDeviceButton:hover, QPushButton#connectAccountManagerButton:hover, QPushButton#exportBtn:hover {
+    background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #2b4b7e, stop: 1.0 #001d4d);
+    color: white;
+}
+
+QPushButton#blockCRButton:hover, QPushButton#deleteAcceptBtn:hover, QPushButton#debanButton:hover,
+QPushButton#deleteButton:hover, QPushButton#deleteBanBtn:hover, QPushButton#cancelChangeBtn:hover {
+    background-color: rgb(252, 91, 90);
+}
+
+QPushButton#nextButton:pressed, QPushButton#playButton:pressed, QPushButton#clearHistoryButton:pressed,
+QPushButton#doTransferButton:pressed, QPushButton#photoButton:pressed, QPushButton#skipBtn:pressed, QPushButton#migrationPushButton:pressed,
+QPushButton#existingPushButton:pressed, QPushButton#newAccountButton:pressed, QPushButton#previousButton:pressed, QPushButton#newSIPAccountButton:pressed,
+QPushButton#exportButton:pressed, QPushButton#cancelAddButton:pressed, QPushButton#exportOnRingButton:pressed,
+QPushButton#addDeviceButton:pressed, QPushButton#exportEndedOkButton:pressed, QPushButton#errorPushButton:pressed,
+QPushButton#registerButton:pressed, QPushButton#acceptCRButton:pressed, QPushButton#discardCRButton:pressed,
+QPushButton#deleteCancelBtn:pressed, QPushButton#dhtImportBtn:pressed, QPushButton#fileImportBtn:pressed,
+QPushButton#changePassBtn:pressed, QPushButton#confirmChangeBtn:pressed, QPushButton#backButton:pressed, QPushButton#exportBtn:pressed {
+    background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #043161, stop: 1.0 #00113f);
+    color: white;
+}
+
+QPushButton#blockCRButton:pressed, QPushButton#deleteAcceptBtn:pressed, QPushButton#debanButton:pressed,
+QPushButton#deleteBanBtn:pressed, QPushButton#cancelChangeBtn:pressed{
+    background-color: rgb(219, 55, 54);
+}
+
+QPushButton#btnChangePasswordCancel {
+    background-color: rgb(252, 91, 90);
+    color: white;
+}
+
+QPushButton#btnChangePasswordCancel:hover {
+    background-color: red;
+    color: white;
+}
+
+QPushButton#btnChangePasswordCancel:pressed {
+    background-color: darkred;
+    color: white;
+}
+
+QComboBox{
+    background: transparent;
+    border-radius: 0px;
+    border-style: solid;
+    border-width: 2px;
+    border-color: #414141;
+    border-bottom: transparent;
+    border-top: transparent;
+    border-left: transparent;
+    border-right: transparent;
+    font-family: "Sans Serif";
+    padding: 2px;
+}
+
+QComboBox::down-arrow{
+    border-radius: 0px;
+    border-style: solid;
+    border-width: 2px;
+    height: 36;
+    width : 36;
+    image: url(":/images/icons/ic_arrow_drop_down_black_18dp_2x.png");
+}
+
+QComboBox::drop-down{
+    border: 0;
+    width: 36px;
+}
+
+QRadioButton::indicator{
+    width: 1   ;
+    height: 12px;
+    border-radius: 8px;
+    border-width: 2px;
+    border-style: solid;
+}
+
+QRadioButton::indicator:unchecked{
+    border-color: rgb(77, 77, 77);
+    background: transparent;
+}
+
+QRadioButton::indicator:checked{
+    background: #109ede;
+    border-color: #109ede;
+    image: url(":/images/icons/ic_check_white_18dp_2x.png");
+}
+
+QWidget#horizontalWidget{
+    background: transparent;
+}
+
+QCheckBox::indicator{
+    height : 12 px;
+    width : 12 px;
+    border: 2px solid rgb(77, 77, 77);
+    border-radius: 4px;
+    background: none;
+}
+
+QCheckBox::indicator:checked{
+    border-color: #2b4b7e;
+    background: #2b4b7e;
+    image: url(":/images/icons/ic_check_white_18dp_2x.png");
+}
+
+QSpinBox::down-button{
+    height: 9;
+    width : 9;
+    image: url(":/images/icons/ic_arrow_drop_down_black_9dp_2x.png");
+}
+
+QSpinBox::up-button{
+    height: 9;
+    width : 9;
+    image: url(":/images/icons/ic_arrow_drop_up_black_9dp_2x.png");
+}
+
+QLineEdit#lrcfg_alias:focus, QLineEdit#lrcfg_hostname:focus, QLineEdit#lrcfg_password:focus,
+QLineEdit#lrcfg_proxy:focus, QLineEdit#lrcfg_mailbox:focus, QLineEdit#lrcfg_tlsPassword:focus,
+QLineEdit#lrcfg_tlsServerName:focus, QLineEdit#lrcfg_turnServerRealm:focus, QLineEdit#lrcfg_turnServerUsername:focus,
+QLineEdit#lrcfg_turnServerPassword:focus, QLineEdit#lrcfg_turnServer:focus, QLineEdit#lrcfg_publishedAddress:focus,
+QLineEdit#lrcfg_registeredName:focus, QLineEdit#lrcfg_nameServiceURL:focus, QLineEdit#lrcfg_username:focus,
+QLineEdit#profileNameEdit:focus{
+    border-color: #109ede;
+}
+
+QTabWidget#tabWidget{
+    border-color: transparent;
+}
+
+QPushButton#upAudioButton, QPushButton#downAudioButton, QPushButton#upVideoButton, QPushButton#downVideoButton{
+    background: transparent;
+}
+
+QPushButton#avatarButton:hover {
+    border: 2px solid rgb(77, 77, 77);
+    border-radius: 50px;
+}
+
+QWidget#leftPannel{
+    background: white;
+}
+
+QSlider::groove:vertical{
+    background: red;
+    position: absolute; /* absolutely position 4px from the left and right of the widget. setting margins on the widget should work too... */
+    width:2px;
+}
+
+QSlider::handle:vertical{
+    height: 10px;
+    background: #109ede;
+    border-radius: 5px;
+    margin: 0 -4px;
+}
+
+QSlider::sub-page:vertical{
+    background: #777777;
+}
+
+QSlider::add-page:vertical{
+    background: #109ede;
+}
+
+QToolButton::menu-button {image:none;}
+
+QToolButton::menu-arrow {image:none;}
+
+QLabel#accountIdLabel, QLabel#accountAliasLabel, QLabel#deletionLabel1, QLabel#deletionLabel2,
+QLabel#warningLabel{
+    background: transparent;
+}
+
+QLabel#accountAliasLabel, QLabel#deletionLabel1, QLabel#deletionLabel2{
+    color: black;
+}
+
+QLabel#warningLabel{
+    color: red;
+}
+
+QLabel#labelWarning {
+    color: darkorange;
+}
+
+QLabel#accountIdLabel{
+    color: LightSlateGrey;
+    font-style: italic;
+}
+
+QLabel#accountAliasLabel{
+    font-weight: bold;
+}
+
+QLabel#dragDropLabel {
+    /*rgba 0.95 opacity (transparency)*/
+    font-size: 20px;
+    border: 2px dashed black;
+    border-radius: 10px;
+    background: rgba(216, 234, 252, 0.95);
+}
+
+/* setAvatarDialog { */
+QPushButton#pictureButton:default, QPushButton#fileButton:default {
+    background-color: rgb(0, 192, 213,);
+}
+
+QPushButton#pictureButton:checked, QPushButton#fileButton:checked {
+    background-color: rgb(0, 0, 213);
+}
+/* } setAvatarDialog */
+
+QSpinBox {
+    background-color: rgb(240, 240, 240);
+    border-radius: 14px;
+    height: 28px;
+    padding: 2px;
+    margin-bottom: 4px;
+}
+
+QSpinBox::up-button {
+    subcontrol-origin: border;
+    subcontrol-position: top right;
+    width: 16px;
+    height: 18px;
+    padding-right: 4px;
+    margin-top: 3px;
+}
+
+QSpinBox::down-button {
+    subcontrol-origin: border;
+    subcontrol-position: bottom right;
+    width: 16px;
+    height: 18px;
+    padding-right: 4px;
+    margin-bottom: 3px;
+}
+
+/* SettingsWidget { */
+SettingsWidget QLabel#wrongPasswordLabel {
+    color: red;
+    margin-left: 8px;
+}
+SettingsWidget QLabel#exportedPIN {
+    color: darkblue;
+    margin-bottom: 4px;
+}
+
+SettingsWidget QPushButton {
+    padding-right: 16px;
+    padding-left: 16px;
+    border-style: solid;
+    border-width: 0px;
+    border-radius: 15px;
+    color: rgb(32, 32, 32);
+    background-color: rgb(242, 242, 242);
+}
+
+SettingsWidget QPushButton:hover {
+    background-color: rgb(237, 237, 237);
+}
+
+SettingsWidget QPushButton:pressed {
+    background-color: rgb(212, 212, 212);
+}
+
+SettingsWidget QPushButton:disabled {
+    color: gray;
+}
+
+SettingsWidget QLabel:disabled {
+    color: rgb(160, 160, 160);
+}
+
+SettingsWidget QWidget#leftSettingsWidget,
+SettingsWidget QWidget#rightSettingsWidget,
+SettingsWidget QWidget#DeleteAccountDialog,
+SettingsWidget QWidget#advancedSettingsWidget,
+SettingsWidget QWidget#advancedSIPSettingsWidget,
+SettingsWidget QWidget#NameRegistrationDialog,
+SettingsWidget QWidget#centralWidget,
+SettingsWidget QWidget#centralSIPWidget,
+SettingsWidget QWidget#scrollAreaWidgetContents,
+SettingsWidget QWidget#scrollAreaSIPWidgetContents {
+    background-color: rgba(255, 255, 255, 255);
+}
+
+SettingsWidget .QLineEdit {
+    border-radius: 15px;
+    background-color: rgb(240, 240, 240);
+    padding-left: 8px;
+    padding-right: 8px;
+    height: 30px;
+}
+
+SettingsWidget QLineEdit#currentRingID {
+    border: 0px;
+    border-radius: 0px;
+    padding: 0px;
+    background-color: transparent;
+    font-weight: bold;
+}
+
+SettingsWidget QLineEdit#currentRegisteredID {
+    border: 2px;
+    border-radius: 15px;
+    padding: 1px;
+    padding-left: 8px;
+    margin-right: 4px;
+    border-style: solid;
+    background-color: rgb(240, 240, 240);
+}
+
+SettingsWidget QPushButton#regNameButton {
+    background-color: transparent;
+}
+
+SettingsWidget QWidget#videoLayoutWidget {
+    background-color: black;
+}
+
+SettingsWidget QPushButton#btnDeletAccount,
+SettingsWidget QPushButton#btnSIPDeletAccount {
+    background-color: rgb(252, 91, 90);
+    color: white;
+}
+
+SettingsWidget QPushButton#btnDeletAccount:hover,
+SettingsWidget QPushButton#btnSIPDeletAccount:hover {
+    background-color: red;
+    color: white;
+}
+
+SettingsWidget QPushButton#btnDeletAccount:pressed,
+SettingsWidget QPushButton#btnSIPDeletAccount:pressed {
+    background-color: darkred;
+    color: white;
+}
+
+QListView .QLabel#labelDeviceId {
+    padding-left: 4px;
+    font-weight: 300;
+}
+
+QListView .QLabel#labelThisDevice {
+    margin-right: 16px;
+    font-style: italic;
+    color: green;
+}
+
+QListWidget .QLabel {
+    background-color: transparent;
+}
+
+QListWidget .QLineEdit {
+    background-color: transparent;
+}
+
+QListWidget .QPushButton {
+    background-color: transparent;
+}
+    QListWidget .QPushButton:hover {
+        background-color: transparent;
+    }
+    QListWidget .QPushButton:pressed {
+        background-color: transparent;
+    }
+
+QListView::item:selected {
+    background-color: rgb(220, 220, 220);
+}
+
+SettingsWidget QListView {
+    background-color: whitesmoke;
+    border: 1px solid rgb(212, 212, 212);
+    font-size: 16px;
+}
+
+SettingsWidget QListView::item {
+    height: 30px;
+    font: 30px;
+    padding: 8px;
+}
+
+SettingsWidget QListView::indicator {
+    height: 12 px;
+    width: 12 px;
+    border: 2px solid rgb(77, 77, 77);
+    border-radius: 4px;
+    background: none;
+}
+
+SettingsWidget QListView::indicator:checked {
+    border-color: #2b4b7e;
+    background: #2b4b7e;
+    image: url(":/images/icons/ic_check_white_18dp_2x.png");
+}
+
+SettingsWidget QListView::item:selected {
+    background-color: rgba(220, 220, 220, 255);
+    border: none;
+    color: black;
+}
+
+SettingsWidget QListView::item:hover {
+    background-color: rgba(229, 229, 229, 255);
+}
+
+SettingsWidget QListView::item:disabled {
+    background-color: transparent;
+}
+
+/* } SettingsWidget */
+
+QPushButton#panelButton_0, QPushButton#panelButton_1, QPushButton#panelButton_2,
+QPushButton#panelButton_3, QPushButton#panelButton_4, QPushButton#panelButton_5,
+QPushButton#panelButton_6, QPushButton#panelButton_7, QPushButton#panelButton_8,
+QPushButton#panelButton_9, QPushButton#panelButton_hash, QPushButton#panelButton_A,
+QPushButton#panelButton_B, QPushButton#panelButton_C, QPushButton#panelButton_D {
+    text-align: center;
+    text-decoration: none;
+    background: #369;
+    color: white;
+    border: 0;
+    border-radius: 19px;
+    padding-bottom: 4px;
+}
+
+QPushButton#panelButton_star {
+    text-align: center;
+    text-decoration: none;
+    background: #369;
+    color: white;
+    border: 0;
+    border-radius: 19px;
+    padding-top: 4px;
+}
+
+QPushButton#panelButton_0:hover, QPushButton#panelButton_1:hover, QPushButton#panelButton_2:hover,
+QPushButton#panelButton_3:hover, QPushButton#panelButton_4:hover, QPushButton#panelButton_5:hover,
+QPushButton#panelButton_6:hover, QPushButton#panelButton_7:hover, QPushButton#panelButton_8:hover,
+QPushButton#panelButton_9:hover, QPushButton#panelButton_hash:hover, QPushButton#panelButton_star:hover,
+QPushButton#panelButton_A:hover, QPushButton#panelButton_B:hover, QPushButton#panelButton_C:hover,
+QPushButton#panelButton_D:hover {
+    background: #47a;
+}
+
+QPushButton#panelButton_0:pressed, QPushButton#panelButton_1:pressed, QPushButton#panelButton_2:pressed,
+QPushButton#panelButton_3:pressed, QPushButton#panelButton_4:pressed, QPushButton#panelButton_5:pressed,
+QPushButton#panelButton_6:pressed, QPushButton#panelButton_7:pressed, QPushButton#panelButton_8:pressed,
+QPushButton#panelButton_9:pressed, QPushButton#panelButton_hash:pressed, QPushButton#panelButton_star:pressed,
+QPushButton#panelButton_A:pressed, QPushButton#panelButton_B:pressed, QPushButton#panelButton_C:pressed,
+QPushButton#panelButton_D:pressed {
+    background: #58b;
+}
+
+QProgressBar#audioInputMeter {
+    border: 0px solid #606060;
+    background: lightgrey;
+}
+
+    QProgressBar#audioInputMeter::chunk {
+        background-color: #0c79aa;
+        margin: 2px;
+    }
+
+QLabel#nameLabel {
+    font-size: 20px;
+    font-style: initial;
+    qproperty-alignment: AlignCenter;
+    color: white;
+}
+
+QWidget#videoPage {
+    background: black;
+}
+
+QPushButton#recordOverlayStartOrFinishRecordingBtn, QPushButton#recordOverlayDeleteBtn, QPushButton#recordOverlayPlayBtn, QPushButton#recordOverlayRerecordBtn, QPushButton#recordOverlaySendBtn,
+QPushButton#recordOverlayStopPlayingBtn {
+    background-color: transparent;
+    border-radius: 18px;
+    border: solid 1px;
+}
+
+QPushButton#recordOverlayStartOrFinishRecordingBtn:hover, QPushButton#recordOverlayDeleteBtn:hover, QPushButton#recordOverlayPlayBtn:hover, QPushButton#recordOverlayRerecordBtn:hover, QPushButton#recordOverlaySendBtn:hover,
+QPushButton#recordOverlayStopPlayingBtn:hover {
+    background-color: transparent;
+    border-radius: 18px;
+    border: solid 1px;
+}
+
+QPushButton#recordOverlayStartOrFinishRecordingBtn:pressed, QPushButton#recordOverlayDeleteBtn:pressed, QPushButton#recordOverlayPlayBtn:pressed, QPushButton#recordOverlayRerecordBtn:pressed, QPushButton#recordOverlaySendBtn:pressed,
+QPushButton#recordOverlayStopPlayingBtn:pressed {
+    background-color: transparent;
+    border-radius: 18px;
+    border: solid 1px;
+}
+
+QPushButton#recordOverlayStartOrFinishRecordingBtn:checked, QPushButton#recordOverlayDeleteBtn:checked, QPushButton#recordOverlayPlayBtn:checked, QPushButton#recordOverlayRerecordBtn:checked, QPushButton#recordOverlaySendBtn:checked,
+QPushButton#recordOverlayStopPlayingBtn:checked {
+    background-color: transparent;
+    border-radius: 18px;
+    border: solid 1px;
+}
+
+QWidget#RecordWidget {
+    background-color: transparent;
+}
+
+QLabel#timerLabel {
+    background-color: transparent;
+    color: white;
+}
+
+QProgressBar#levelMeter {
+    border: 2px solid white;
+    text-align: center;
+    background: transparent;
+}
+
+    QProgressBar#levelMeter::chunk {
+        background-color: white;
+        margin: 2px;
+    }
+
+QScrollArea#changeLogScrollArea {
+    background-color: transparent;
+    color: white;
+    border: none;
+}
+
+QWidget#changeLogContents {
+    background-color: transparent;
+    color: white;
+    border: none;
+}
+
+QTextEdit#logTextEdit {
+    background-color: white;
+    color: black;
+}
+
+QPushButton#logCloseButton {
+    background-color: rgb(189, 189, 189);
+}
+
+    QPushButton#logCloseButton:hover {
+        background-color: rgb(170, 170, 170);
+    }
+    QPushButton#logCloseButton:pressed {
+        background-color: rgb(180, 180, 180);
+    }
+
+FullScreenNotification {
+    font-size: 24px;
+    color: white;
+    background-color: black;
+    border: 2px solid white;
+    padding: 100px;
+}
\ No newline at end of file
