table
{
    text-align: center;
    table-layout: fixed;
}

.question_td 
{
    text-align: left;
}

.table .radio_td, .table .checkbox_td
{
    vertical-align: middle;
}

.container.validating
{
    background-color: #faebcc;
}

.answer_row.validating,
.heading_cell.validating,
.checkbox_td.validating
{
    background-color: #ebccd1;
}

input.form-control.validating
{
    border-color: #a94442;
    background-color: #ebccd1;
}

.hidden_row
{
    display: none;
    /*opacity: 0;*/
    /*visibility: hidden;*/
}

.question-grid-container
{
    overflow-x: auto;
}

.table-responsive>.fixed-column {
    position: absolute;
    display: inline-block;
    width: auto;
    border: none;
    border-left: 1px solid rgb(221,221,221);
    border-right: 1px solid rgb(221,221,221);
    background-color: #fff;
}
.category-row
{
    border: 1px solid #ddd;
}
.table .category-row>td
{
    border:none;
}
.table .category-row>.category-left
{
    text-align: left;
    border-left: 1px solid #ddd;
}

.table .category-row>.category-right
{
    text-align: right;
    border-right: 1px solid #ddd;
}

.table .heading_cell
{
    vertical-align: bottom;
}

/* Used to set the width for the first column */
table.table>tbody>tr:first-child>td:first-child
{
    width: 150px;
}

.table-responsive >.table .heading_cell,
.table-responsive >.table .label_cell
{
    white-space: normal;
}

.blank_row,
.blank_row_text, 
.table .blank_row>td, 
.table .blank_row_text>td
{
    border: none;
}

.checkbox_annotate_input{
    width: 80%;
}

.label_cell
{
    text-align: center;
}

.label_cell>img{
    height: 128px;
}


/* Question-specific styles */
.ladder_rating_div
{
    display: inline-block;
    width: 50px;
    text-align: center;
    padding: 5px;
    border: 1px solid;
    margin: 3px;
}


/*
*
*	Bootstrap Overrides / Base CSS
*
*/

body
{
	font-family: "Open Sans", "Helvetica Neue",Helvetica,Arial,sans-serif
}

/* Top Area */
#topArea
{
	background-color: #00A88E;
	height: 150px;
	width: 100%;
	padding: 35px;
}

.top-logo
{

}

#midArea
{
	
}

#mainContainer
{
	border-left: 1px solid #E2E2E2;
	border-right: 1px solid #E2E2E2;
	padding-left: 0px;
	padding-right: 0px;
	border-radius: 4px;
}

#headerContainer
{
	background-color: #E2E2E2;
	padding-left: 15px;
	padding-right: 15px;
	padding-top: 5px;
	padding-bottom: 10px;
}

.progress
{
	margin-bottom: 0px;
}

.progress-label
{
	font-weight: 600;
	font-size: 11px;
	text-align: center;
	padding-bottom: 3px;
}

#footerContainer
{
	background-color: #E2E2E2;
	padding-left: 15px;
	padding-right: 15px;
	padding-top: 5px;
	padding-bottom: 5px;
	position: relative;
}

#backButton 
{
    float: left;
}

#backButtonText
{
	text-align: center;
	font-size: 11px;
}

.btn-footer
{
	margin-right: 5px;
}
.btn-primary
{
	background-color: #00A88E;
	border-color: #00A88E;
	text-transform: lowercase;
}
.btn-primary:hover
{
	color: #00A88E;
	background-color: #fff;
	border-color: #fff;
	text-transform: lowercase;
}
.progress-bar
{
	background-color: #00A88E;
}

#buttonArea
{
	float: left;
	margin-top: 2px;
}

#progressArea
{
	float: right;
	min-width: 120px;
}

#surveyContainer
{
	background-color: #FFFFFF;
	padding-left: 15px;
	padding-right: 15px;
	padding-top: 10px;
	padding-bottom: 10px;
	min-height: 300px;
}

.question-response-container
{
    position: relative;
}

/* Inline text box with radio button / checkbox */
.radio.form-inline label,
.checkbox.form-inline label
{
	margin-top: 0px;
}

.radio label,
.checkbox label
{
	padding-left: 30px;
	text-indent: -30px;
}

/* IE8 regular radio buttons and checkboxes */
.radio,
.checkbox 
{
	padding-left: 20px\0/;
	text-indent: 0px\0/;
}

/* IE8 Inline text box with radio button / checkbox */
.radio.form-inline .radio-custom,
.checkbox.form-inline .checkbox-custom
{
	margin-top: 10px\0/;
}


/* The inline text box increases the margine between options, this takes care of that */
.checkbox.form-inline.checkbox-has-annotate,
.radio.form-inline.radio-has-annotate
{
	margin-top: 6px;
	margin-bottom: 6px;
}

@media (max-width: 767px)
{
	.radio.form-inline.radio-has-annotate input[type=text],
	.checkbox.form-inline.checkbox-has-annotate input[type=text]
	{
		margin-left: 35px;
		width: auto;
		margin-top: 3px;
	}
}

/* Error that shows up under the question header */
.question-error
{
	color: red;
    font-size: 12px;
    font-weight: bold;
}

/* Red message container above questions */
.overall-alert
{
	margin-bottom: 10px;
}

.question-header,
.question-footer
{
	font-size: 16px;
}

.question-header-mlinetext,
.question-header-dropdown
{
	margin-bottom: 5px;
}

.mline-textarea-prefix,
.mline-textarea-suffix
{
	font-size: 12px;
}

.mlinetext-char-count
{
	font-size: 12px;
	float: right;
}

.sline-textbox,
.question-response-container-slinetext .input-group
{
	margin-top: 5px;
}

.input-group .sline-textbox
{
	margin-top: 0px;
}

/* Used to display messages for inline validation */
.instant-validation
{
	color: red;
    font-size: 12px;
    font-weight: bold;
}

.hidden
{
	display: none;
}

/* Rating Question Styles */
.rating-label,
.rank-label
{
	font-weight: 400;
	text-align: left;
	display: inline-block;
    padding-top: 5px;
}

.rating-select,
.rank-input,
.rank-total-input
{
	display: inline-block;
	width: auto;
	margin-left: 10px;
}

.question-response-container-rating,
.question-response-container-ranking,
.question-response-container-sum,
.question-response-container-slinetext_stacked .question-header-slinetext
{
	margin-top: 5px;
}

/* JPlayer Overrides*/
.jp-controls-holder
{
    height: 40px;  /* Static height needed when controls are hidden */
}

.jp-video .jp-toggles
{
    width: 75px;
    top: 12px;
    margin: 0 0 0 0;
}

.jp-video .jp-volume-controls
{
    left: 16px;
}

.jp-audio .jp-type-single .jp-current-time{
    position: absolute;
    left: 0px;
}

.jp-audio .jp-type-single .jp-duration
{
    position: absolute;
    right: 0px;
    z-index: 10;
}

.jp-audio .jp-type-single .jp-toggles
{
    position: absolute;
    width: 100%;
}

.jp-audio .jp-toggles .jp-repeat
{
    margin: 0 auto;
    float: none;
}

@media (max-width: 510px)
{   
    .jp-video, 
    .jp-video .jp-controls-holder
        {
        width: auto;
    }
    
    .jp-video .jp-type-single .jp-controls, 
    .jp-video .jp-controls 
        {
        margin-left: 40%;
    }
    
    .jp-video .jp-volume-controls
        {
        left: 10px;
    }
    
    .jp-video .jp-toggles
        {
        width: 55px;
        right: 10px;
    }
    
    .jp-video .jp-full-screen
        {
        margin-left: 5px;
    }
}
@media (max-width: 440px)
{
    .jp-audio .jp-controls 
        {
        width: auto;
        padding: 35px 0 0 10px;
    }
    
    .jp-audio .jp-progress, 
    .jp-audio .jp-type-single .jp-progress
        {
        width: 100%;
        position: absolute;
        top: 0px;
        left: 0px;
    }
    
    .jp-audio .jp-type-single .jp-current-time{
        left: 5px;
    }

    .jp-audio .jp-type-single .jp-duration
    {
        right: 5px;
    }
    
    .jp-audio .jp-time-holder, 
    .jp-audio .jp-type-single .jp-time-holder
        {
        width: 100%;
        position: absolute;
        top: 15px;
        left: 0px;
        padding: 5px;
    }
    
    .jp-audio, 
    .jp-controls-holder
        {
        width: auto;
    }
    
    .jp-volume-controls
        {
        width: 100px;
        left: auto;
        right: 5px;
        top: 50px;
    }
    
}

/* Date Picker Styles */
.datepicker-input
{
    width: auto;
    min-width: 205px;
    padding-left: 30px;
}

.datepicker-icon
{
    position: absolute;
    top: 10px;
    left: 10px;
}

    