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

QPushButton#btnConversations, QPushButton#btnInvites {
    background-color: rgb(242, 242, 242);
    border-style: solid;
    border-width: 0px;
    border-radius: 5px;
    padding: 8px;
	color: rgb(32, 32, 32);
}

QPushButton#btnConversations:hover, QPushButton#btnInvites:hover {
    background-color: rgb(237, 237, 237);
}

QPushButton#btnConversations:pressed, QPushButton#btnInvites:pressed {
    background-color: rgb(212, 212, 212);
}

QPushButton#btnConversations:checked, QPushButton#btnInvites:checked {
    background-color: rgb(237, 237, 237);
}

QPushButton#imBackButton, QPushButton#btnAcceptInvite, QPushButton#btnIgnoreInvite,
QPushButton#btnBlockInvite, QPushButton#btnAudioCall, QPushButton#btnVideoCall,
QPushButton#sendContactRequestButton, QPushButton#sendButton, QPushButton#sendIMButton {
    background-color: transparent;
    border-style: solid;
    border-width: 0px;
    border-radius: 9px;
    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 {
    background-color: rgb(237, 237, 237);
}

QPushButton#imBackButton:pressed, QPushButton#btnAudioCall:pressed, QPushButton#btnVideoCall:pressed,
QPushButton#sendContactRequestButton:pressed, QPushButton#sendButton:pressed, QPushButton#sendIMButton:pressed {
    background-color: rgb(212, 212, 212);
}

QWidget#callInvitePage, QWidget#outboundCallPage{
    background-color : rgb(77, 77, 77);
    background-image : url(:/images/background-dark.png);
    background-repeat : repeat-x;
    background-position: bottom;
}

RingContactLineEdit{
    border-color: rgb(242, 242, 242);
    border-radius: 5px;
    border-width: 2px;
    background-color: rgb(242, 242, 242);
}

.QLineEdit{
    border-color: rgb(242, 242, 242);
    border-radius: 15px;
    border-width: 2px;
    background-color: rgb(242, 242, 242);
    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;
}

QListView#accountView::item{
    height: 40px;
}

QListView#audioCodecView, QListView#videoCodecView, QListView#cipherListView{
    background-color: transparent;
    border: 2px solid rgb(77, 77, 77);
}

QListView#audioCodecView::item, QListView#videoCodecView::item, QListView#cipherListView::item, QListView#listMessageView::item{
    height: 30px;
    font: 30px;

}

QListView#audioCodecView::indicator, QListView#videoCodecView::indicator, QListView#accountView::indicator,
QListView#cipherListView::indicator{
    height : 12 px;
    width : 12 px;
    border: 2px solid rgb(77, 77, 77);
    border-radius: 4px;
    background: none;
}

QListView#audioCodecView::indicator:checked,  QListView#videoCodecView::indicator:checked,
QListView#accountView::indicator:checked, QListView#cipherListView::indicator:checked{
    border-color: #2b4b7e;
    background: #2b4b7e;
    image: url(":/images/icons/ic_check_white_18dp_2x.png");
}

QListView#audioCodecView::item:selected, QListView#videoCodecView::item:selected,
QListView#cipherListView::item:selected{
    background-color: rgba(220, 220, 220, 255);
    border: none;
}

QListView#audioCodecView::item:hover, QListView#videoCodecView::item:hover, QListView#cipherListView::item:hover{
    background-color: rgba(229, 229, 229, 255);
    border-radius: 18px;
}

QListView#cipherListView::item:disabled
{
    background-color: transparent;
}

SmartListView::item:selected, QListView#accountView::item:selected, QListView#contactView::item:selected,
QListView#contactRequestList::item:selected, QListView#BannedList::item:selected {
    background-color: rgba(220, 220, 220, 255);
    border: none;
}

SmartListView::item:hover, QListView#accountView::item:hover, QListView#contactView::item:hover,
QListView#contactRequestList::item:hover, QListView#BannedList::item:hover {
    background-color: rgba(242, 242, 242, 255);
}

QWidget#messagingHeaderWidget{
	border-bottom: 2px solid rgb(240, 240, 240);
}

QLineEdit#numberBar{
    border-color: rgba(0, 192, 212, 0.6);
    border-radius: 5px;
    border-width: 2px;
    border-style: outset;
    background-color: rgba(255, 255, 255, 0.8)
}

QPushButton#holdButton, QPushButton#chatButton, QPushButton#noMicButton, QPushButton#noVideoButton,
QPushButton#transferButton, QPushButton#addPersonButton, QPushButton#joinButton,
QPushButton#qualityButton, QPushButton#recButton{
    background-color: rgba(0, 0, 0, 140);
    border-radius: 18px;
    border:solid 1px;
}

QPushButton#holdButton:hover, QPushButton#chatButton:hover, QPushButton#noMicButton:hover,
QPushButton#noVideoButton:hover, QPushButton#transferButton:hover, QPushButton#addPersonButton:hover,
QPushButton#joinButton:hover, QPushButton#qualityButton:hover, QPushButton#addToContactButton:hover,
QPushButton#recButton:hover{
    background-color: rgba(0, 192, 213, 0.6);
}

QPushButton#holdButton:pressed, QPushButton#chatButton:pressed, QPushButton#noMicButton:pressed,
QPushButton#noVideoButton:pressed, QPushButton#transferButton:pressed, QPushButton#addPersonButton:pressed,
QPushButton#joinButton:pressed, QPushButton#qualityButton:pressed, QPushButton#addToContactButton:pressed,
QPushButton#recButton:pressed{
    background-color: rgba(0, 192, 213, 0.8);
}

QPushButton#holdButton:checked, QPushButton#noMicButton:checked,
QPushButton#noVideoButton:checked, QPushButton#recButton:checked,
QPushButton#chatButton:checked{
    background-color: rgba(0, 192, 213, 0.8);
}

QPushButton#hangupButton{
    background-color: rgba(200, 0, 0, 0.6);
    border-radius: 18px;
    border:solid 1px;
}

QPushButton#hangupButton:hover{
    background-color: rgba(255, 0, 0, 0.6);
}

QPushButton#hangupButton:pressed{
    background-color: rgba(255, 0, 0, 0.8);
}

QPushButton#exitSettingsButton, QPushButton#settingsButton, QPushButton#addToContactButton,
QPushButton#sendCRBackButton, QPushButton#copyCMButton, QPushButton#pendingCRBackButton,
QPushButton#videoCfgBtn{
    background-color: #414141;
    border-radius: 15px;
    border:solid 1px;
}

QPushButton#exitSettingsButton:hover, QPushButton#settingsButton:hover,
QPushButton#sendCRBackButton:hover, QPushButton#copyCMButton:hover, QPushButton#pendingCRBackButton:hover,
QPushButton#videoCfgBtn:hover{
    background-color: #515151;
}

QPushButton#exitSettingsButton:pressed, QPushButton#settingsButton:pressed,
QPushButton#sendCRBackButton:pressed, QPushButton#copyCMButton:pressed, QPushButton#pendingCRBackButton:pressed,
QPushButton#videoCfgBtn:pressed{
    background-color: #313131;
}

QToolButton#qrButton, QToolButton#shareButton{
    background-color: rgb(242, 242, 242);
    border-style: solid;
    border-width: 0px;
    border-radius: 5px;
    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);
}

QDialog#WizardDialog, QWidget#welcomePage, QWidget#sendContactRequestPage,
QDialog#DeleteAccountDialog, QDialog#DeleteContactDialog{
    background: rgb(255, 255, 255);
}

QDialog#CallUtilsDialog, QDialog#QualityDialog{
    background: transparent;
}

QWidget#roundedFrame{
    background-color: rgba(250, 250, 250, 0.8);
    border-color: rgba(25, 25, 25, 1.0);
    border-radius: 8px;
    border:solid 1px;
}

QWidget#spike{
    background-color: rgba(250, 250, 250, 0.8);
    border-color: rgba(25, 25, 25, 1.0);
}

QListView#contactView{
    background: transparent;
}

QWidget#messagingPage, QWidget#contactRequestPage{
    background: rgb(255, 255, 255);
}

QPushButton#nextButton, QPushButton#playButton, QPushButton#clearHistoryButton, QPushButton#doTransferButton,
QPushButton#photoButton,
QPushButton#existingPushButton, QPushButton#newAccountButton, QPushButton#previousButton, QPushButton#exportButton,
QPushButton#cancelAddButton, QPushButton#exportOnRingButton, QPushButton#addDeviceButton, QPushButton#exportEndedOkButton,
QPushButton#errorPushButton, QPushButton#registerButton, QPushButton#acceptCRButton, QPushButton#discardCRButton, QPushButton#deleteCancelBtn,
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;
    font: 14px;
}

QPushButton#nextButton:disabled, QPushButton#playButton:disabled, QPushButton#clearHistoryButton:disabled,
QPushButton#doTransferButton:disabled, QPushButton#photoButton:disabled,
QPushButton#existingPushButton:disabled, QPushButton#newAccountButton:disabled, QPushButton#previousButton: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 {
    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;
    font: 14px;
}

QPushButton#nextButton:hover, QPushButton#playButton:hover, QPushButton#clearHistoryButton:hover,
QPushButton#doTransferButton:hover, QPushButton#photoButton:hover,
QPushButton#existingPushButton:hover, QPushButton#newAccountButton:hover, QPushButton#previousButton: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#changePassBtn:hover, QPushButton#confirmChangeBtn:hover, QPushButton#backButton: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#existingPushButton:pressed, QPushButton#newAccountButton:pressed, QPushButton#previousButton: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 {
    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);
}

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: 11pt "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;
}


QPushButton#generalTabButton, QPushButton#videoTabButton, QPushButton#accountTabButton{
    background: transparent;
    color: rgb(77, 77, 77);
    border-radius: 0px;
    border-style: solid;
    border-width: 2px;
    border-color: #414141;
    border-top: transparent;
    border-left: transparent;
    border-right: transparent;
    font: 12pt "Sans Serif";
    padding: 2px;
}

QPushButton#quickValidCRBtn, QPushButton#quickMuteCRBtn, QPushButton#quickBanCRBtn{
    border-radius: 2px;
    height:25px;
    width:25px;
    margin: 2px 2px 2px 2px;
    text-align: center;
    font: 10pt "FontAwesome";
}

QPushButton#quickValidCRBtn{
    background-color: #66cc00;
}
QPushButton#quickValidCRBtn:hover{
    background-color: #80ff00;
}

QPushButton#quickMuteCRBtn{
    background-color: #ff9933;
}
QPushButton#quickMuteCRBtn:hover{
    background-color: #ffb366;
}

QPushButton#quickBanCRBtn{
    background-color: #ff3333;
}
QPushButton#quickBanCRBtn:hover{
    background-color: #ff6666;
}

QTabBar::tab{
    color: rgb(77, 77, 77);
    border-radius: 0px;
    border-style: solid;
    border-width: 2px;
    border-color: #414141;
    border-top: transparent;
    border-left: transparent;
    border-right: transparent;
    font: 12pt "Sans Serif";
    padding: 2px;
    width : 130px;
    height: 20px;
}

QTabWidget#mainTabMenu QTabBar::tab {
    height: 24px;
    width: auto;
    padding-left: 14px;
    margin-left:auto;
    margin-right:auto;
}

QTabWidget#mainTabMenu QTabBar::tab:hover {
    background-color: rgb(242, 242, 242);
}

QTabWidget::tab-bar{
    alignment: center;
}

QTabBar QToolButton{
    height: 9;
    width : 9;
    background: transparent;
}

QTabBar QToolButton::left-arrow{
    height: 9;
    width : 9;
    image: url(":/images/icons/ic_arrow_tab_previous_black_9dp_2x.png");
}

QTabBar QToolButton::right-arrow{
    height: 9;
    width : 9;
    image: url(":/images/icons/ic_arrow_tab_next_black_9dp_2x.png");
}

QPushButton#generalTabButton:checked, QPushButton#videoTabButton:checked, QPushButton#accountTabButton:checked,
QTabBar::tab:selected{
    border-color: #109ede;
}

QTabWidget::pane{
    border: 0px;
}

QPushButton#generalTabButton:hover, QPushButton#videoTabButton:hover, QPushButton#accountTabButton:hover,
QTabBar::tab:hover{
    border-color:#2b4b7e;
}

QSpinBox#historyDaySettingsSpinBox, QSpinBox#lrcfg_tlsNegotiationTimeoutSec, QSpinBox#lrcfg_registrationExpire,
QSpinBox#lrcfg_localPort, QSpinBox#lrcfg_publishedPort, QSpinBox#lrcfg_audioPortMin, QSpinBox#lrcfg_audioPortMax,
QSpinBox#lrcfg_videoPortMin, QSpinBox#lrcfg_videoPortMax, QSpinBox#intervalUpdateCheckSpinBox{
    background: transparent;
    border-radius: 0px;
    border-style: solid;
    border-width: 2px;
    border-color: #414141;
    border-top: transparent;
    border-left: transparent;
    border-right: transparent;
    font: 11pt "Sans Serif";
    padding: 2px;
}

QSpinBox#historyDaySettingsSpinBox:focus, QSpinBox#lrcfg_tlsNegotiationTimeoutSec:focus,
QSpinBox#lrcfg_registrationExpire:focus, QSpinBox#lrcfg_localPort:focus, QSpinBox#lrcfg_publishedPort:focus,
QSpinBox#lrcfg_audioPortMin:focus, QSpinBox#lrcfg_audioPortMax:focus, QSpinBox#lrcfg_videoPortMin:focus,
QSpinBox#lrcfg_videoPortMax:focus{
    border-color: #109ede;
}

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, QLineEdit#lrcfg_hostname, QLineEdit#lrcfg_password, QLineEdit#lrcfg_proxy,
QLineEdit#lrcfg_mailbox, QLineEdit#lrcfg_tlsPassword, QLineEdit#lrcfg_tlsServerName,
QLineEdit#lrcfg_turnServerRealm, QLineEdit#lrcfg_turnServerUsername, QLineEdit#lrcfg_turnServerPassword,
QLineEdit#lrcfg_turnServer, QLineEdit#lrcfg_publishedAddress, QLineEdit#lrcfg_registeredName,
QLineEdit#lrcfg_nameServiceURL, QLineEdit#lrcfg_username, QLineEdit#profileNameEdit{
    background: transparent;
    border-radius: 0px;
    border-style: solid;
    border-width: 2px;
    border-color: #414141;
    border-top: transparent;
    border-left: transparent;
    border-right: transparent;
    font: 11pt "Sans Serif";
    padding: 2px;
}

QLabel#typeValueLabel{
    background: transparent;
    font: 11pt "Sans Serif";
    border-radius: 0px;
    padding: 2px;
}

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;
    font: 11pt "Sans Serif";
}

QLabel#accountAliasLabel, QLabel#deletionLabel1, QLabel#deletionLabel2{
    color: black;
}

QLabel#warningLabel{
    color: red;
}

QLabel#accountIdLabel{
    color: LightSlateGrey;
    font-style: italic;
}

QLabel#accountAliasLabel{
    font-weight: bold;
}

/* 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 */


/* SettingsWidget { */

/* } SettingsWidget */