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 { 
    background-color: rgb(242, 242, 242);
    border-style: solid;
    border-width: 0px;
    border-radius: 15px;
	color: rgb(32, 32, 32);
}

QWidget#smartListOuterWidget {
    background-color: rgb(255, 255, 255);
}

QPushButton#btnConversations, QPushButton#btnInvites,
QPushButton#btnExportAccount, QPushButton#btnDeletAccount {
    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,
QPushButton#btnExportAccount:hover, QPushButton#btnDeletAccount:hover {
    background-color: rgb(237, 237, 237);
    border-top: 2px solid rgb(237, 237, 237);
    border-right: 2px solid rgb(237, 237, 237);
    border-bottom: 2px solid rgb(237, 237, 237);
    border-left: 2px solid rgb(237, 237, 237);
}

QPushButton#btnConversations:checked, QPushButton#btnInvites:checked,
QPushButton#btnExportAccount:checked, QPushButton#btnDeletAccount:checked {
    background-color: rgb(255, 255, 255);
    border-bottom: 2px solid rgb(255, 255, 255);
}

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

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 {
    height: 30px;
    font: 30px;

}

QListView#audioCodecView::indicator, QListView#videoCodecView::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#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#BannedList::item:selected {
    background-color: rgba(220, 220, 220, 255);
    border: none;
}

SmartListView::item:hover, QListView#accountView::item:hover, QListView#contactView::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#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#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,
QDialog#DeleteAccountDialog {
    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";
}

QSpinBox {
    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: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: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 */