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#btnCall:hover, QPushButton#acceptButton:hover{
    background-color: #5db761;
}

QPushButton#btnCall:pressed, 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#callInvitePage, QWidget#outboundCallPage{
    background-color : rgb(77, 77, 77);
    background-image : url(:/images/background-dark.png);
    background-repeat : repeat-x;
    background-position: bottom;
}

IdLabel{
    border-style: solid;
    border-width: 1px;
    border-color: rgb(0, 192, 212);
}

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

QScrollBar:vertical, QScrollBar:horizontal{
    background:white; width:0px;
}

QScrollBar::handle:vertical, QScrollBar::handle:horizontal{
    background: rgb(255, 255, 255);
}

SmartList{
    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: #34acbd;
    background: #34acbd;
    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;
}

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

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

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

QListView#listMessageView{
    background: rgb(242, 242, 242);
    border-top: 1px solid rgb(229, 229, 229);
}

QLineEdit#messageEdit, QLineEdit#imMessageEdit{
    border-color: rgb(0, 192, 212);
    border-radius: 5px;
    border-width: 1px;
    border-style: outset;
    background-color: rgb(255, 255, 255);
}

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#imBackButton, QPushButton#copyCMButton, QToolButton#shareButton{
    background-color: #414141;
    border-radius: 15px;
    border:solid 1px;
}

QPushButton#exitSettingsButton:hover, QPushButton#settingsButton:hover, QPushButton#imBackButton:hover,
QPushButton#copyCMButton:hover, QToolButton#shareButton:hover{
    background-color: #515151;
}

QPushButton#exitSettingsButton:pressed, QPushButton#settingsButton:pressed, QToolButton#imBackButton:pressed,
QPushButton#copyCMButton:pressed, QToolButton#shareButton:pressed{
    background-color: #313131;
}

QPushButton#deleteAccountButton, QToolButton#addAccountButton{
    background: transparent;
}

QPushButton#btnvideo{
    background-color: #3AC0D2;
    border-radius: 15px;
    border:solid 1px;
}

QPushButton#btnCall, QPushButton#btnComBarVideo,
QPushButton#sendButton, QPushButton#sendIMButton{
   background-color: #3AC0D2;
   border-radius: 15px;
   border:solid 1px;
}

QPushButton#btnCall:hover, QPushButton#sendButton:hover,
QPushButton#sendIMButton:hover, QPushButton#btnComBarVideo:hover{
   background-color: #4dc6d6;
}

QPushButton#btnCall:pressed, QPushButton#sendButton:pressed,
QPushButton#sendIMButton:pressed, QPushButton#btnComBarVideo:pressed{
   background-color: #34acbd;
}

QScrollBar:vertical{
    background: rgb(242, 242, 242);
    width:10px;
}

QScrollBar::handle:vertical{
    background: rgb(77, 77, 77);
}

QDialog#WizardDialog, QWidget#welcomePage{
    background: rgb(242, 242, 242);
    background-image : url(:/images/background-light.png);
    background-repeat : repeat-x;
    background-position: bottom;
}

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{
    background: rgb(242, 242, 242);
}

QPushButton#wizardButton, QPushButton#playButton, QPushButton#clearHistoryButton, QPushButton#doTransferButton,
QPushButton#checkUpdateButton, QPushButton#photoButton, QPushButton#takePhotoButton, QPushButton#importButton{
    background-color: #3AC0D2;
    border: 0px;
    color: white;
    font: 14px;
}

QPushButton#wizardButton:hover, QPushButton#playButton:hover, QPushButton#clearHistoryButton:hover,
QPushButton#doTransferButton:hover, QPushButton#photoButton:hover,
QPushButton#takePhotoButton:hover, QPushButton#importButton:hover{
    background-color: #4dc6d6;
}

QPushButton#wizardButton:pressed, QPushButton#playButton:pressed, QPushButton#clearHistoryButton:pressed,
QPushButton#doTransferButton:pressed, QPushButton#photoButton:pressed,
QPushButton#takePhotoButton:pressed, QPushButton#importButton:pressed{
    background-color: #34acbd;
}

QLineEdit#usernameEdit:enabled{
    border-color: rgb(0, 192, 212);
    border-radius: 5px;
    border-width: 1px;
    border-style: outset;
    background-color: rgb(255, 255, 255);
}

QLineEdit#usernameEdit:disabled{
    border-color: rgb(159, 157, 154);
    border-radius: 5px;
    border-width: 1px;
    border-style: outset;
    background-color: rgb(239, 235, 231);
}

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

QComboBox:focus{
    border-color: #3AC0D2;
}

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-radius: 0px;
    width: 36px;
}

QRadioButton::indicator{
    width: 12px;
    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: #3AC0D2;
    border-color: #3AC0D2;
    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;
}

QTabBar::tab{
    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;
    width : 130px;
    height: 20px;
}

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: #3AC0D2;
}

QTabWidget::pane{
    border: 0px;
}

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

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: #3AC0D2;
}

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: #34acbd;
    background: #34acbd;
    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_username{
    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_username:focus{
    border-color: #3AC0D2;
}

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: 37px;
}

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: #3AC0D2;
    border-radius: 5px;
    margin: 0 -4px;
}

QSlider::sub-page:vertical{
    background: #777777;
}

QSlider::add-page:vertical{
    background: #3AC0D2;
}

QToolButton::menu-button {image:none;}

QToolButton::menu-arrow {image:none;}
