
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;
}