html, body {
    width: 100%;
    height: 100%;
    overflow: hidden;
    font: 400 14px Arial;
}

h2 {
    margin: 0 0 10px;
}

h4 {
    margin: 0 0 5px;
    font-weight: normal;
}

#recyclerArea {
    width: 90%;
    margin: 0 auto;
}

label:not(.radioLabel):not(.control) {
    font: bold 12px/1.5 Lucida Grande, Verdana, Helvetica, Arial, sans-serif;
    color: #555555;
    margin-left: 2px;
    text-align: left;
}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #aaaaaa;
    opacity: 1; /* Firefox */
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #aaaaaa;
}

:-ms-input-placeholder { /* Microsoft Edge */
    color: #aaaaaa;
}

.required {
    display: none;
    font-style: italic;
    color: #ff5555;
}

.optional {
    font-style: italic;
    color: #999999;
}

input[type="text"] {
    background-color: #fff;
    border: 1px solid #ffffff;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    padding: 6px 10px;
    white-space: nowrap;
    outline: none;
    margin: 2px auto 0;
    width: 100%;
    align-content: center;
}

input[type="text"].requiredInput {
    box-shadow: 0 0 0 1pt #ff5555;
}

input[type="text"].requiredInput:focus {
    background-color: #ffeeee;
    box-shadow: 0 0 0 1pt #ff5555;
}

input[type="text"]:not(.requiredInput):focus {
    box-shadow: 0 0 0 1pt #486d9c;
}

input[name="bzp"] {
    width: 110px;
}

#radioDivWrapper {
    display: table;
    overflow: hidden;
    width: 100%;
}

#radioDivWrapper > label {
    display: table-row;
}

#checkDivWrapper {
    display: inline-block;
}

#radioDiv {
    display: table-row;
    text-align: center;
    width: 100%;
}

label.radioLabel {
    font: bold 12px/1.5 Lucida Grande, Verdana, Helvetica, Arial, sans-serif;
    display: table-cell;
    background-color: #fff;
    border: 1px solid #486d9c;
    padding: 6px 10px;
    white-space: nowrap;
    outline: none;
    margin: 2px auto 0;
}

label.radioLabel:hover {
    cursor: pointer;
    background-color: #eeeeee;
}

label.radioLabel:first-of-type {
    border-radius: 8px 0 0 8px;
    border-right-width: 0;
}

label.radioLabel:last-of-type {
    border-radius: 0 8px 8px 0;
    border-left-width: 0;
}

input[type="radio"] {
    display: none;
}

input[type="radio"]:checked + label.radioLabel {
    background-color: #486d9c;
    color: #ffffff;
}

input[type="checkbox"]:not(.ie8CheckBox) {
    position: absolute;
    z-index: -1;
    opacity: 0;
}

.ie8CheckBox {
    position: absolute;
    top: 2px;
    left: 0;
    width: 20px;
    height: 20px;
    padding: 0;
}

.control {
    position: relative;
    display: inline-block;
    margin: 0;
    padding-left: 28px;
    cursor: pointer;
    color: #555555;
    min-height: 25px;
    vertical-align: middle;
    font: bold 12px/2 Lucida Grande, Verdana, Helvetica, Arial, sans-serif;
}

/*hover and focus*/
.control:hover input ~ .indicator,
.control input:focus ~ .indicator {
    border: 1px solid #486d9c;
}

/*checked*/
.control input:checked ~ .indicator {
    border: 1px solid #486d9c;
    background: #486d9c;
}

/*hover and focus while checked*/
.control:hover input:checked ~ .indicator {
    background: #5583bc;
}

/* Check mark */
.indicator:after {
    position: absolute;
    display: none;
    content: '';
}

/* Show check mark */
.control input:checked ~ .indicator:after {
    display: block;
}

/* Checkbox tick */
.control .indicator:after {
    top: 4px;
    left: 8px;
    width: 3px;
    height: 8px;
    transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
}

.indicator {
    position: absolute;
    top: 2px;
    left: 0;
    width: 20px;
    height: 20px;
    background-color: #ffffff;
    border: 1px solid #ffffff;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
}

#businessHours {
    width: 60%;
    margin: 0 auto;
}

#businessHours tr td:first-child {
    font-weight: bold;
    text-align: right;
}

#businessHours tr td:nth-of-type(even) {
    text-align: center;
}

#content, #userData, #unavailableContent {
    display: table;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.unavailableWrapper {
    margin: 5px 25px;
}

#userData {
    height: 100%;
}

#userDataFormWrapper {
    display: table-row;
    height: 100%;
    text-align: center;
}

#userDataForm {
    display: inline-block;
    height: 100%;
    min-width: 300px;
    width: 60%;
    margin: 0 auto;
    text-align: left;
}

#userDataForm > div {
    margin-top: 8px;
}

.live_chat_header {
    display: table-row;
    font: oblique bolder 23pt tahoma;
    color:#35a01c;
    text-align: center;
    line-height: 158%;
}

.btn_sm {
    text-decoration: none;
    color: #486d9c;
    background: #ffffff url(../img/bg_nav.gif) repeat-x;
    padding: 2px 7px 3px 7px;
    border: 2px solid #ffffff;
    outline: none;
    font: bold 12px/2 Lucida Grande, Verdana, Helvetica, Arial, sans-serif;
    cursor: pointer; /* cursor: hand; for IE5 */
}

.btn_sm:not([disabled]):hover, .btn_send:not([disabled]):hover, .btn_chat:not([disabled]):hover {
    color: #ffffff;
    background: #18516f url(../img/bg_btn.gif) repeat-x;
}

.btn_sm:disabled, .btn_send:disabled, .btn_chat:disabled {
    color: #ffffff;
    background: #cccccc;
    border: none;
    cursor: default;
}

div.chatNowDialog, div.unavailableDialog {
    display: table-row;
    margin: 0;
    padding: 0;
    height: 100%;
    width: 100%;
    text-align: center;
    overflow: hidden;
}

div.chatNowDialog span {
    width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    line-height: 1.5;
}

#chatHelp {
    width: 60%;
    display: none;
    transition: opacity .5s;
    margin: 10px auto;
}

#chatWindowRow {
    display: none;
}

#chatWindowCell {
    display: table-cell;
    width: 100%;
    height: 100%;
}

#chatWindow {
    margin: 0 auto;
    border: 1px inset black;
    width: 98%;
    height: 98%;
    background-color: #ffffff;
    overflow: auto;
}

#received {
    width: 100%;
    font-size: 14px;
}

.time {
    color: #999999;
}

#inputWindowRow {
    display: none;
}

#inputWindowCell {
    display: table-cell;
}

#inputWindow {
    margin: 0 auto 2%;
    width: 98%;
    height: 95%;
}

#inputCellLeft {
    margin-right: 2%;
    display: inline-block;
    width: 78%;
    height: 75px;
}

#inputCellRight {
    display: inline-block;
    width: 20%;
    height: 75px;
    vertical-align: top;
}

textarea {
    width: 100%;
    height: 100%;
}

.btn_send, .btn_chat {
    text-decoration: none;
    color: #486d9c;
    background: #ffffff url(../img/bg_nav.gif) no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    border: 2px solid #ffffff;
    outline: none;
    font: bold 12px/2 Lucida Grande, Verdana, Helvetica, Arial, sans-serif;
    cursor: pointer; /* cursor: hand; for IE5 */
}

.btn_send {
    width: 100%;
    height: 100%;
}

div.roster_wrapper {
    display: inline-block;
    text-align: center;
    line-height: 2;
}

div#roster {
    width: 100%;
    height: 500px;
    overflow: auto;
}

div.roster_item_wrapper {
    display: inline-block;
    margin: 0 auto;
    text-align: left;
}

div.roster_item {
    background-color: #fff;
    border: 1px solid #ffffff;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    cursor: pointer; /* cursor: hand; for IE5 */
    margin: 6px 0;
    padding: 0 10px;
    white-space: nowrap;
    vertical-align: middle;
}

div.key {
    line-height: 1.5;
    text-align: left;
    margin-bottom: 15px;
}

div.key > div {
    margin: 5px 5%;
}

div.key_left, div.key_right {
    display: inline-block;
    margin: auto;
    vertical-align: top;
}

div.key_left {
    width: 20px;
    margin-right: 5px;
}

div.key_right {
    width: 85%;
}

div.chatbtn {
    background-color: #fff;
    border: 2px solid #43b057;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    color: #269b36;
    cursor: pointer; /* cursor: hand; for IE5 */
    display: inline-block;
    font-weight: bold;
    line-height: 15px;
    margin: 6px 0px;
    padding: 3px 5px;
}

div.chatbtn:hover {
    background-color: #43b057;
    color: #ffffff;
}

div.roster_wrapper div img, div.key div img {
    height: auto;
    max-width: 15px;
    margin-bottom: 2px;
    vertical-align: middle;
}

img.chatbtn {
    width: 84px;
    height: 31px;
    vertical-align: middle;
    margin: 2px -2px -2px 0px;
    cursor: pointer; /* cursor: hand; for IE5 */
}

div.roster_wrapper div:hover {
    border-color: #afafaf;
}

a.help, a.help_ie8 {
    background-color: #ffffff;
    border: 1px solid #ffffff;
    color: #222222;
    position: absolute;
    bottom: 8px;
    padding: 5px 5px 7px;
    width: 35px;
    height: 35px;
    font: bold 35px Helvetica, Arial, Verdana, sans-serif;
    -webkit-border-radius: 35px;
    -moz-border-radius: 35px;
    border-radius: 35px;
    cursor: pointer; /* cursor: hand; for IE5 */
}

a.help {
    right: 8px;
}

a.help_ie8 {
    right: 18px;
}

div.chatNowDialog > a.help:hover {
    border-color: #afafaf;
}

/*
 * Style for a loading image that is to be centered within a div with the progress-indicator style
 * class set on it
 */
.progress-indicator-image {
    position: absolute;
    top: 50%;
    margin-left: -35px; /* Image Size is 75px. So this is ImageWidth / 2 */
    margin-top: -35px;  /* Image Size is 75px. So this is ImageHeight / 2 */
    left: 50%;
}

/*
 * Sets style of a div to take up the viewable area and apply a white transparent background creating
 * a modal effect.  Serves as a container in which to center a loading image for display during
 * AJAX calls
 */
.progress-indicator {
    top:0;
    right:0;
    width:100%;
    height:100%;
    position:fixed;

    /* IE filter */
    filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50);
    -moz-opacity:0.5;    /* Mozilla extension */
    -khtml-opacity:0.5;  /* Safari/Conqueror extension */
    opacity:1; /* CSS3 */
    z-index:1000;
    background: #ebeced url(../img/bg_window.gif) repeat-x scroll 0 0;
}
