body{
    padding: 0;
    margin: 0;
    border: 0;
    font-family: Arial, sans-serif;
    font-size: 13px;
    background-color: #000000;
}

a {
    text-decoration: none;
    color: #3B84BB;
    padding: 0px;
}

a:hover {
    text-decoration: underline;
}

img{
    border: 0;
}

h1{
    font-family:Arial, Helvetica, sans-serif;
    font-size: 18px;
}

h2{
    font-size: 16px;
}

h3{
    font-size: 14px;
}

hr{
    margin: 20px 5px;
}

#logo{
    width: 180px;
    float: left;
}

#logo img{
    width: 180px;
}

#page_loading{
    display: none;
    width: 100%;
    position: absolute;
    top: 0;
    background-color: #666;
    height: 5000px;
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    filter: alpha(opacity=60);
    opacity: 0.6;
}

#page_loading_image{
    display: none;
    margin: 20px 0 0 0;
    text-align: center;
    position: absolute;
    width: 100%;
}

#header_right{
    float: right;
    width: 900px;
    margin-right: 10px;
}

#header_welcome{
    float: right;
    font-size: 20px;
    font-weight: bold;
    margin-top: 10px;
}

.envelope{
    display: block;
    float: right;
    margin: 11px 0 0 10px;
    height: 20px;
    background-image: url(/images/envelope.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 30px;
}

.envelope.red{
    background-image: url(/images/envelope-red.png);
    -webkit-animation-name: fader;
    -webkit-animation-duration: 1s;
    -webkit-animation-iteration-count: infinite;
    animation-name: fader;
    animation-duration: 1s;
    animation-iteration-count: infinite;
}

#menu{
    text-align: right;
    margin-top: 5px;
    font-size: 16px;
    font-weight: bold;
}

#menu a.active{
    text-decoration: underline;
    font-style: italic;
}

#search_form{
    float: left;
}

#search_form input[type=text]{
    width: 250px;
}

button{
    min-width: 50px;
    padding: 5px;
    text-align: center;
    margin: 10px 5px;
    font-size: 13px;
    font-weight: bold;
    border: 1px solid black;
    background-color: #3B84BB;
    color: white;
    border-radius: 10px;
    cursor: pointer;
}

button:hover{
    background-color: #50B4FF;
}

button.small{
    min-width: 30px;
    height: 30px;
    width: auto;
    padding: 2px 8px;
    margin: 0 10px;
}

button[disabled]{
    background-color: #aaa;
}

button.cancel{
    background-color: #666;
}

button.cancel:hover{
    background-color: #888;
}

input[type=text], input[type=password]{
    border: 1px solid silver;
    font-size: 16px;
    padding: 3px 0;
    width: 320px;
}

input[readonly]{
    background-color: #eee;
}

input[type=file]{
    width: 320px;
    font-size: 16px;
    height: 29px;
    margin: 3px 0 0 0;
}

input:focus{
    border-color: #3B84BB;
}

input.calendar-position{
    position: absolute;
    width: 1px;
    height: 1px;
    border: none;
    margin: 0;
    padding: 0;
    color: rgba(255,255,255,0);    
}

textarea{
    border: 1px solid silver;
    font-size: 16px;
    padding: 3px 0;
    width: 320px;
    height: 137px;
}

textarea:focus{
    border-color: #3B84BB;
}

input.long{
    width: 500px;
}

input.quant{
    width: 80px;
    text-align: right;
    border: 1px solid silver;
    font-size: 16px;
    padding: 3px 0;
}

select{
    border: 1px solid silver;
    font-size: 16px;
    padding: 3px 0;
    width: 320px;
    background: white;
}

.ajax_errors{
    width: 650px;
    padding: 5px;
    border: 1px solid red;
    margin:15px auto;
    background-color: #ffeeee;
}

.rounded_list .item{
    background-color: #eee;
    padding: 10px;
    border-radius: 10px;
    margin: 10px 0;
    width: 1143px;
    cursor: pointer;
}

.rounded_list .item:hover{
    background-color: #ddd;
}

.rounded_list .item .left{
    float: left;
    width: 890px;
    line-height: 20px;
    padding: 8px 0 0 8px;
    font-size: 16px;
    font-weight: bold;
}

.rounded_list .item .right{
    float: right;
    width: 50px;
    height: 34px;
}

.count{
    display: inline-block;
    background-color: #006598;
    padding: 5px;
    border-radius: 25px;
    color: white;
    font-weight: bold;
    font-size: 16px;
    text-align: center;
    min-width: 20px;
    height: 20px;
    border: 2px solid white;
    line-height: 20px;
}

.filter_container{
    margin-bottom: 20px;
}

.filter_container input[type=text]{
    float: left;
    border: 1px solid silver;
    font-size: 13px;
    padding: 3px 0;
    width: 245px;
}

.filter_container button{
    float: right;
    font-size: 13px;
    width: 95px;
    padding: 5px 0;
    height: auto;
    margin: 10px 0 0 10px;
}

.filter_container select{
    width: 245px;
}

.filter_container label{
    display: block;
    float: left;
    width: 120px;
}

.filter_container .left{
    float: left;
    width: 367px;
    margin: 0 30px 0 0;
}

.filter_container .middle{
    float: left;
    width: 367px;
    margin: 0 30px 0 0;
}

.filter_container .right{
    float: left;
    width: 367px;
}

table.data{
    border-collapse: collapse;
    width: 100%;
}

table.data th{
    font-size: 13px;
    font-weight: bold;
    padding: 3px 5px;
    border-width: 0 0 0 2px;
    border-style: solid;
    border-color: white;
    color: white;
    background-color: #3B84BB;
}

table.data th:first-child{
    border-width: 0;
}

table.data td{
    font-size: 13px;
    padding: 3px 5px;
    border-width: 0 0 2px 2px;
    border-style: solid;
    border-color: white;
    background-color: #eee;
    vertical-align: middle;
    word-wrap: break-word;
}

table.data td:first-child{
    border-width: 0 0 2px 0;
}

table.data td:only-of-type{
    border-width: 2px;
}

table.data tr:hover td{
    background-color: #ddd;
}

table.data tr.alt td{
    background-color: #ccc;
}

table.data tr.alt:hover td{
    background-color: #bbb;
}

table.data tr.highlight td{
    background-color: #00cccc;
}

table.data tr.align_top td{
    vertical-align: top;
}

table.data td.align_top{
    vertical-align: top;
}

table.data td.locked{
    background-image: url(/images/lock.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 10px;
    padding-right: 15px;
}

input[type=text].th_filter{
    width: 90%;
}

tr.strike td{
    text-decoration: line-through;
}

table.data tr.day_header td, table.data tr.appointment_row_header td{
    font-size: 18px;
    padding: 5px;
}

table.data tr.day_spacer td, table.data tr.appointment_row_spacer td{
    background: none;
    padding: 10px;
}

table.data tr.appointment_status_Confirmed td{
    background-color: #ddffdd;
}

table.data tr.appointment_status_Cancelled td{
    background-color: #ffeeee;
}

table.data tr.appointment_status_Pending td{
    background-color: #ffeeee;
}

table.data tr th.vspacer, table.data tr td.vspacer{
    width: 5px;
    background: none;
}

table.data.admin-stats tr td{
    font-size: 20px;
}

table.data.admin-stats tr.bold-row td{
    font-weight: bold;
}

table.data td.appointment_history p{
    font-style: italic;
    margin: 0;
}

.list_controls button{
    float: right;
    margin-left: 15px;
}

.bad_news{
    background-color: #ffaaaa;
    padding: 20px;
    margin-bottom: 20px;
}

#outer_container{
    width: 100%;
    text-align: center;
}

#inner_container{
    width: 1200px;
    margin: 10px auto;
    text-align: left;
    padding: 0 0 20px 0;
    background-color: white;
    border-radius: 20px;
}

#header{
    width: 1180px;
    padding: 10px;
}

#top_bar{
    width: 1180px;
    background-color: #cbcaca;
    font-size: 22px;
    font-weight: bold;
    padding: 3px 10px;
}

#top_bar a{
    font-size: 22px;
    font-weight: bold;
    text-decoration: underline;
}

#top_bar a:hover{
    font-size: 22px;
    font-weight: bold;
    color: black;
    text-decoration: none;
}

#content{
    padding: 10px;
    width: 1180px;
    background-color: white;
}

#content h1{
    background-color: #ccc;
    padding: 5px;
}

#left_menu{
    float: left;
    width: 180px;
    margin-right: 30px;
    padding: 10px;
}

#branch_switcher{
    float: right;
}

#branch_switcher select{
    font-size: 13px;
    width: 200px;
}

.overlay{
    width: 100%;
    position: absolute;
    top: 0;
    background-color: #666;
    height: 5000px;
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    filter: alpha(opacity=60);
    opacity: 0.6;
    z-index: 1000;
}

.form{
    padding: 10px 248px;
}

.form.wide{
    padding: 10px;
}

.form .left{
    width: 322px;
    margin: 0 40px 0 0;
    float: left;
}

.form .right{
    width: 322px;
    float: left;
}

.form .span{
    width: 684px;
}

.form .span textarea{
    border: 1px solid silver;
    font-size: 16px;
    padding: 3px 0;
    width: 682px;
    height: 80px;
}

.form label{
    display: block;
}

.form .separator{
    height: 10px;
}

.form .controls button{
    float: right;
}

.form .map_container{
    width: 684px;
    height: 513px;
}

input[type=text].item_row_amount, input[type=text].item_row_quantity, input[type=text].item_row_total, input[type=text].invoice_total{
    width: 140px;
}

select.invoice_total{
    width: 143px;
}

input[type=text].item_row_description{
    width: 665px;
}

table.calendar th{
    text-align: center;
    font-size: 18px;
}

table.calendar{
    border-collapse: collapse;
}

table.calendar td, table.calendar th{
    height: 20px;
    vertical-align: top;
    font-size: 16px;
    border: 2px solid white;
    padding: 5px 30px;
}

table.calendar td a{
    color: #0028A8;
}

table.calendar tr:hover td:first-child{
    background-color: #ccc;
}

table.calendar td.taken{
    background: url(/images/taken.png) repeat #ccc;
}

table.calendar td.appointment_type_20{
    background: url(/images/application.png) no-repeat;
}

table.calendar td.appointment_type_10{
    background: url(/images/quote.png) no-repeat;
}

table.calendar td.appointment_type_20.confirmed{
    background: url(/images/application_confirmed.png) no-repeat;
}

table.calendar td.appointment_type_10.confirmed{
    background: url(/images/quote_confirmed.png) no-repeat;
}

.tab{
    display: block;
    float: left;
    background-color: #eee;
    width: 120px;
    border: 1px solid #ccc;
    padding: 7px 0;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
    color: black;
    border-radius: 10px 10px 0 0;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;    
}

.tab:hover{
    background-color: #ddd;
}

.tab_selected{
    background: none;
}

.tab_selected:hover{
    background: none;
    color: black;
}

.tab.tab_bigger{
    width: 200px;
}

.tab_container{
    border: 1px solid #ccc;
    padding: 10px;
    margin-top: -1px;
}

#login_form{
    margin: 20px auto;
    padding-top: 220px;
    width: 302px;
    background: url(/images/logo.png) no-repeat;
    background-position: 50% 20px;
}

#login_form button{
    float: right;    
}

#login_form input[type=text], #login_form input[type=password]{
    width: 300px;
    height: 30px;
}

.job_details_left, .job_details_right, .dashboard_left, .dashboard_right{
    float: left;
    width: 535px;
    margin: 10px 20px;
}

.job_details_right, .dashboard_right{
    margin-left: 50px;
}

.job_details_left .form, .job_details_right .form, .dashboard_left .form, .dashboard_right .form{
    padding: 0;
}

.quote_left, .quote_right{
    width: 525px;
    float: left;
    margin: 10px 20px;
}

.quote_right{
    margin-left: 50px;
}

.dashboard_span{
    margin: 10px 20px;    
}

.dashboard_chart_canvas{
    width: 100%;
    height: 270px;
}

label{
    font-weight: bold;
}

.job_photo{
    width: 200px;
    margin: 20px;
    float: left;
    text-align: center;
}

.pagination{
    width: 300px;
    margin: 0 auto;
    text-align: center;
    padding-top: 5px;
    font-size: 16px;
}

.paginationControl a{
    padding:0px;
    padding-bottom: 5px;
    font-weight: bold;
}

.errors{
    padding: 5px;
    background-color: #ffdddd;
    font-weight: bold;
    margin: 20px 0;
    border: 2px solid red;
}

.success{
    padding: 5px;
    background-color: #ddffdd;
    font-weight: bold;
    margin: 20px 0;
    border: 2px solid #00b300;
}

.inline_errors{
    color: red;
    font-size: 13px;
    font-style: italic;
}

#accreditation{
    margin-bottom: 10px;
}

th.read_status{
    width: 12px;
}

a.read_status{
    width: 10px;
    height: 10px;
    background: none;
    border: 1px solid red;
    border-radius: 2px;
    display: block;
}

a.read_status.unread{
    background: red;
}

a.read_status.rotating{
    -webkit-animation-name: rotator; /* Chrome, Safari, Opera */
    -webkit-animation-duration: 1s; /* Chrome, Safari, Opera */
    -webkit-animation-iteration-count: infinite;
    animation-name: rotator;
    animation-duration: 1s;
    animation-iteration-count: infinite;
}

.pay_container{
    width: 224px;
    margin: 0 auto;
}

.pay_details{
    width: 100%;
}

.pay_details td:first-child{
    font-weight: bold;
}

.payfast_form input[type=submit]{
    min-width: 50px;
    padding: 5px;
    text-align: center;
    margin: 10px 5px;
    font-size: 13px;
    font-weight: bold;
    border: 1px solid black;
    background-color: #3B84BB;
    color: white;
    border-radius: 10px;
    cursor: pointer;
}

.payfast_form input[type=submit]:hover{
    background-color: #50B4FF;
}

.sub_menu{
    margin: 10px 0;
}

.sub_menu a{
    font-size: 16px;
}

.sub_menu a.selected{
    font-style: oblique;
    text-decoration: underline;
}

#stats_tab_control .col1, #stats_tab_control .col2, #stats_tab_control .col3,
.team_stats .col1, .team_stats .col2, .team_stats .col3{
    float: left;
    width: 360px;   
}

#stats_tab_control .col1, .team_stats .col1{
    margin-right: 18px;
}

#stats_tab_control .col3, .team_stats .col3{
    margin-left: 18px;
}

#stats_tab_control .date_switcher{
    height: 15px;
    width: 100%;
    text-align: center;
    font-weight: bold;
}

#stats_tab_control .date_switcher a{
    font-weight: normal;
}

.team_stats{
    margin: 20px 0 0 0;
    padding: 0 32px;
}

#android_app_prompt{
    display: none;
    overflow: hidden;
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    position: fixed;
}

#android_app_prompt_inner{
    margin: 0 auto;
    font-size: 25px;
    background-color: #303030;
    color: white;
    padding: 15px;
    width: 600px;
    border-radius: 0 0 15px 15px;
}

#android_app_prompt_inner .get{
    background-color: #303030;
    background-image: url(/images/Android_Robot_100.png);
    background-repeat: no-repeat;
    background-size: contain;
    color: white;
    padding: 30px 15px 30px 112px;
}

#android_app_prompt_inner .get a{
    display: block;
    float: right;
    margin-right: 20px;
}

#android_app_prompt_inner .get a:first-of-type{
    margin-right: 0;
}

.get-app h2{
    font-size: 32px;
}

.get-app p, .get-app ol{
    font-size: 24px;
}

.actions-container{
    width: 34px;
}

.actions-button{
    width: 15px;
    height: 15px;
    margin: 0 auto;
    background-image: url(/images/dropdown.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    cursor: pointer;
}

.actions-button:hover{
    background-image: url(/images/dropdown-hover.png);
}

.actions-menu{
    position: absolute;
    width: 0;
    height: 0;
}

.actions-menu-inner{
    width: 200px;
    margin-left: -165px;
    display: none;
}

.actions-menu a{
    display: block;
    border: 1px solid black;
    border-width: 0 1px 1px 1px;
    padding: 5px 3px;
    background: #eee;
    text-decoration: none;
}

.actions-menu a:hover{
    background: #ccc;
}

.actions-menu a:first-child{
    border-width: 1px;
}

.if-android{
    display: none;
}

.clear{
    clear: both;
}

@-webkit-keyframes rotator {
    from {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes fader {
    0% {
        opacity: 0.1;
    }
    50% {
        opacity: 1;
    }
    100%{
        opacity: 0.1;
    }
}


@-webkit-keyframes fader {
    0% {
        opacity: 0.1;
    }
    50% {
        opacity: 1;
    }
    100%{
        opacity: 0.1;
    }
}

@keyframes rotator {
/*    0% {
        opacity: 0.3;
    }
    50% {
        opacity: 1;
    }
    100%{
        opacity: 0.3;
    }*/
    from {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}