body {
    font-family: 'Gotham', Arial;
    background-color: #2B2B2B;
    overflow-y: hidden !important;
}
html {
    touch-action: manipulation;
}
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
  display: none !important;
}

.flex-container {
  display: flex; width: 100%;
  flex-wrap : nowrap;
  align-items: center;
  justify-content: center;
}
.flex-filler {
  flex-grow: 1;
}
.no-padding {
    padding: 0 !important;
}
.no-margin {
    margin: 0 !important;
}
.no-margin-top {
    margin-top: 0 !important;
}

.text-small {
    font-size: 11px;
}

.scrollable-x {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.scrollable-y {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

/*//// HEADER ////*/

.app-header {
    min-height: 64px; 
    background-color: #4AAFB2;
    position: fixed; width: 100%;
    top: 0; left: 0;
    box-shadow: 0 0 0 5px rgba(0,0,0,0.1);
    z-index: 999;
    padding: 0 0 0 5px;
}
.app-header.muted{
    background-color: #505050;
}
.app-header.app-offline {
    background-color: #E94F37 !important;
}
.app-qa-mode .app-header, .app-qa-mode .panel-default .panel-heading{
    background-color: #347DA4;
    border-color: #347DA4;
}
.app-qa-mode .app-header__conn-status div{
    color: #347DA4;
}

.app-header__logo img{
    height: 26px;
}
.app-header__conn-status div{
    background-color: #fff;
    color: #4AAFB2;
    padding: 6px 8px;
    border-radius: 100px;
    font-size: 14px; line-height: 14px;
    text-transform: uppercase;
    font-weight: 600;
}
.app-header__status-message {
    color: #fff;
    font-size: 11px;
    animation: pulse-status-message 1s infinite;
    -webkit-animation: pulse-status-message 1s infinite;
}
@-webkit-keyframes pulse-status-message{
    0%   {color:rgba(255,255,255,1);}
    50%   {color:rgba(255,255,255,0.3);}
    100%   {color:rgba(255,255,255,1);}
}
.app-header.muted .app-header__conn-status div{
    color: #505050;
}
.app-header.app-offline .app-header__conn-status div{
    color: #E94F37;
    background-color: #FCFF2B;
}

.app-header__conn-status span{
    font-size: 13px;
    color: #fff;
    font-weight: 400;
    padding-left: 10px;
}

.app-header__item .app-header__username {
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    padding: 0;
}
.app-header__item .app-header__current-audit-info {
    font-size: 11px;
    font-weight: 300;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 220px;
}
.app-header__item {
    padding: 0 15px; 
}
.app-header__item:first-child {
    padding: 0 0 0 15px; 
}
.app-header__nav {
    border-left: 1px solid rgba(0,0,0,.1);
    align-self:stretch;
    display:flex;
    align-items:center;
    font-size: 14px; 
    color: #fff;
    text-transform: uppercase;
    font-weight: 600;
}
.app-header__nav button.btn-default {
    background-color: rgba(0,0,0,.2) !important;
}
.app-header.app-offline .app-header__nav button.btn-secondary {
    color: #E94F37 !important;
}
.app-header__nav .btn-primary,
.app-header__nav .btn-secondary {
    box-shadow: 0 0px 4px rgba(0,0,0,0.3);
}

.app-header__nav .btn-with-counter-wrapper {
    position: relative;
}
.app-header__nav .btn-with-counter-wrapper .btn-counter-badge{
    position: absolute; 
    top: -10px; right: -10px;
    background-color: #EE6755;
    color: #fff;
    box-shadow: 0 1px 0 0 rgba(0,0,0,0.3);
    font-size: 12px;
    border-radius: 100px;
    text-align: center;
    padding: 1px 5px;
    min-width: 19px;
}
.app-header.app-offline .btn-with-counter-wrapper .btn-counter-badge{
    background-color: #FCFF2B;
    color: #E94F37;
}

footer {
    color: #999; font-size: 14px;
    bottom:0;
    position:fixed;
    width: 100%;
    text-align: center;;
    line-height: 80px;
}

input.form-control::-webkit-input-placeholder {
    color: #aaa;
    font-weight: 300;
}

.app-header .ssg-toggle-switch label,
.app-header .ssg-toggle-switch input:checked ~ label,
.app-header .ssg-toggle-switch input:checked + label {
    background: #333;
}

/*//// LOGIN BOX ////*/

.app-login {
    background-color: #2B2B2B;
    color: #fff;
    width: 300px;
    height:274px;
    margin:0 auto;
    position:absolute;
    left:50%;
    top:50%;
    margin-left:-150px;
    margin-top:-167px;
}
.app-login__header {
    padding-bottom: 45px;
    text-align: center;
}
.app-login__cc-logo {
    height: 30px;
    margin-bottom: 20px;
}
.app-login__cc-logo img {
    height: 100%;
    width: 100%;
}
.app-login__app-name {
    font-weight: 300;
    color: #767676;
    font-size: 18px;
    text-transform: uppercase;
    margin-top: 15px;
    text-align: center !important;
    letter-spacing: 0.5rem;
    border-top: 1px solid #444;
    padding-top: 15px;
}
.app-login .form-group {
    margin-bottom: 30px;
}
.app-login input.form-control {
    border-radius: 0; border: none; border-left: 5px solid #83CCCE;
    height: 44px; padding-left: 12px;
}

.app-login .form-error-message {
    color: #F8E81C; font-size: 13px; line-height: 17px;
    text-align: center; padding-top: 20px;
}

.app-login-footer{
    position: absolute;
    color: #777;
    bottom: 0;
    font-size: 9px;
    padding-bottom: 15px;
    right: 0;
    padding-right: 20px;
}

/*//// SCROLL LIST BOX ////*/

.scroll-list {
    padding: 0;
}
.scroll-list__item{
    padding: 11px 10px 13px 15px;
    border-bottom: 1px solid #ccc;
    cursor: pointer;
}
.no-touch .scroll-list__item:hover{
    background-color: #FFFDE6;
}
.scroll-list__title {
    font-size: 18px;
    font-weight: 500;
    margin-right: 5px;
}
.scroll-list__title .scroll-list__round-name{
    display: inline-block;
    padding: 3px 6px; 
    font-size: 11px; 
    font-weight: 400; 
    background-color: #eee;
    color: #333;
    border-radius: 3px;
    position: relative;
    top: -2px;
}
.scroll-list__sub-title {
    font-size: 13px;
    font-weight: 300;
    color: #777;
}

.scroll-list__item.selected{
    background-color: #FFF359;
}
.scroll-list__item.selected .scroll-list__round-name {
    background-color: #E8D918;
    color: #857c12;
}
.scroll-list__item.selected .scroll-list__sub-title {
    color: #857c12;
}
.scroll-list.panel-body {
    height: 527px; 
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 0 0 6px 6px;
}
.scroll-list__date, .scroll-list__time {
    font-size: 14px;
    padding-right: 10px;
    white-space: nowrap;
    text-align: right;
}
.scroll-list__date {
    font-weight: 500;
    color: #999;
}
.scroll-list__time {
    color: #999;
}
.scroll-list__item.selected .scroll-list__date,
.scroll-list__item.selected .scroll-list__time {
    color: #857c12;
}


/*//// MAIN CONTENT ////*/

#app-main {
    padding-left: 0;
}
#app-main-wrapper{
    padding-top: 64px;
}
#app-main__nav {
    padding-right: 0;
}
#app-main__content {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
#app-main__nav {
    display: flex;
    flex-direction: column;
}
#app-main__nav ul {
    padding: 0; margin: 0; border: none;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;   
}
#app-main__nav li {
    padding: 0; margin: 0;
    list-style:none;                  
}
#app-main__nav ul li a {
    background-color: #555;
    padding: 15px;
    font-size: 14px;
    color: #fff;
    font-weight: 500;
    display: block;
    border-bottom: 1px solid #000;
    text-decoration: none;
    border-radius: 0;
}

#app-main__nav ul ul{
    /*border-top: 1px solid #000;
    border-bottom: 1px solid #000;*/
}
#app-main__nav ul ul li a{
    background-color: #2B2B2B;   
    font-weight: normal !important;   
    font-size: 12px; 
    font-family: Arial;   
    color: #eee;    
    padding-left: 10px;
    padding-right: 10px;
    margin-right: 0;
}
#app-main__nav ul a em{
    color: #000;
    margin-left: 5px;
    font-style: normal;
    background-color: #fff;
    padding: 8px 5px;
    border-radius: 100px;
    line-height: 0;
    font-size: 11px;
    font-weight: 600;
    min-width: 15px;
    display: inline-block;
    text-align: center;
}
#app-main__nav a.subpoint-active{
    background-color: #eee;
    font-style: italic;
    color: #555;
    box-shadow: inset -7px 0px 6px -6px rgba(0,0,0,0.3);
    border: none;
}
#app-main__nav ul a.subpoint-active em {
    background-color: #555;
    color: #fff;
}
#app-main__nav a.subpoint-selected em{
    background-color: #000;
}
#app-main__nav a.subpoint-visited{
    font-style: italic;
    color: #888;
}
#app-main__content {
    background-color: #eee; padding-bottom: 300px;
}
.app-main__content-header h3 {
    margin: 0; padding: 32px 0 8px 16px;
    font-size: 14px; line-height: 130%; font-weight: 500; color: #aaa;
    text-transform: uppercase;
}
.app-main__content-header h4 {
    margin: 0; padding: 0 0 32px 16px;
    font-size: 28px; line-height: 120%; font-weight: 400; color: #444;
}
.app-main__content-header .filter-control.filter-active {
    box-shadow: 0 0 0 4px 
}

#app-main__content .panel{
    margin-bottom: 20px;
}
#app-main__content .subpoint-item__comments  {
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#app-main__content .subpoint-item__comments.peek  {
    overflow: visible;
    white-space: normal;
}

.hr-header {
    height: 14px; border-bottom: 2px solid #ccc; color: #aaa; text-align: center; margin: 0 0 30px 0;
}
.hr-header span{
    font-size: 14px; background-color: #eee; padding: 0 10px; font-weight: 500; text-transform: uppercase; line-height: 27px;
}


/*//// CONFORMANCE POINTS ////*/

.subpoint-item .ssg-toggle-switch input:checked ~ label {
  background: #fff; 
}
.subpoint-item .ssg-toggle-switch input:checked + label {
   color: #fff;
}
.subpoint-item  .panel-default .ssg-toggle-switch input:checked ~ label:after {
  background: #4AAFB2;
  transition: right 0.3s ease;
}

.app-qa-mode .subpoint-item .panel-default .panel-heading .ssg-toggle-switch input:checked ~ label:after{
    background: #347DA4;
}
.subpoint-item .panel .panel-heading{
    padding: 10px 10px 10px 14px;
}
.subpoint-item .panel-heading h2{
    margin-right: 85px;
    line-height: 22px;
    font-size: 16px;
}

.subpoint-item .panel-default .panel-heading h2{
    color: #fff;
}

.subpoint-item .panel-default .panel-sub-heading {
    background-color: #FFFDE6;
    padding: 15px;
}

.subpoint-item .panel-default.panel-non-con .panel-sub-heading {
    background-color: #FFFDE6;
    border-bottom: 1px solid #E5E2B9;
}

.subpoint-item .panel-default.panel-con .panel-sub-heading {
    background-color: #EBF8F9;
    border-bottom: 1px solid #C5EAED;
}

.subpoint-item .panel-sub-heading .label-risk-rating {
    font-weight: 400;
    font-size: 11px; 
    color: #4AAFB2;
    margin-right: 10px;
}
.app-qa-mode .subpoint-item .panel-sub-heading .label-risk-rating {
    color: #347DA4;
}
.subpoint-item .panel-sub-heading .btn-group label.btn {
    font-size: 11px; 
    font-weight: 400;
    padding: 9px 15px;
}

.subpoint-item .panel-sub-heading .btn-upload-img{
    display: inline-block;
}
.subpoint-item .panel-sub-heading .btn-upload-img .btn {
    font-size: 11px;
    font-weight: 400;
    text-transform:none;
    background-color: #fff;
    color: #4AAFB2;
    border: 1px solid #E5E2B9;
    height: 35px;
    position:relative;
    padding-left: 32px;
    text-align: left;
    box-sizing: border-box !important;
    box-shadow: none !important;    
}
.app-qa-mode .subpoint-item .panel-sub-heading .btn-upload-img .btn {
    color: #4AAFB2;
}
.subpoint-item .panel-sub-heading .btn-upload-img .btn:before {
    content: "\f03e";
    font-family: FontAwesome;
    left:10px;
    position:absolute;
    top:6px;
    font-size: 14px;
    background-color: transparent;
}
.subpoint-item .panel-sub-heading .btn-upload-img--offline {
    font-size: 11px;
    font-weight: 400;
    text-transform:none;
    background-color: transparent;
    color: #EE6755;
    border: 1px dashed #EE6755;
    border-radius: 4px;
    display: inline-block;
    line-height: 33px;
    padding: 0 10px;
}
.subpoint-item .panel-sub-heading .ssg-toggle-switch input:checked ~ label, .subpoint-item .panel-sub-heading .ssg-toggle-switch input ~ label {
    background-color: #4AAFB2;
}
.subpoint-item .panel-sub-heading .ssg-toggle-switch span {
    color: #4AAFB2;
}
.subpoint-item .panel-sub-heading .ssg-toggle-switch input:checked ~ label:after {
    background-color: #fff;
}

textarea{
    border-radius: 4px;
    background-color: #f8f8f8;
    border: 1px solid #dedede;
    font-size: 13px;
    padding: 10px;
    width: 100%;
}
.subpoint-item textarea{
    height: 77px;
}
.subpoint-item .panel-body textarea:focus{
    height: 300px;
}
textarea.validation-fail{
    background-color: #FCE1DE !important;
    border-color: #EE6755 !important;
    border-radius: 4px 4px 0 0 !important;
}

.validation-fail-message{
    background-color: #EE6755;
    border-color: #EE6755;
    color: #fff;
    border-radius: 0 0 4px 4px;
    padding: 10px 14px 12px 14px;
    width: 100%;
    font-size: 13px;
    font-weight: 400;
    margin-top: -5px;
    margin-bottom: -5px;
    overflow: auto;
}
.validation-fail-message .fa{
    font-size: 14px; margin-right: 4px;
}
.validation-fail-message a{
    color: #fff;
    text-decoration: underline;
    float: right;
}


.subpoint-item__comments-entry {
    position: relative; 
}
.subpoint-item__comments-entry .badge {
    position: absolute;
    border: 1px solid #dedede;
    background-color: #fff;
    color: #666;
    top: -9px; right: -9px; 
    font-size: 10px; font-weight: 400;
}
.subpoint-item__comments-entry .badge.warning {
    background-color: #EE6755;
    color: #fff;
}

/* ATTATCHED IMAGES */

.img-wrapper {
    position: relative;
    display: inline-block;
    border: 1px solid #000;
    max-width: 100%;
}
.img-wrapper i.fa {
    position: absolute;
    bottom: 0; right: 0;
    color: #fff;
    background-color: #000;
    font-size: 14px; 
    padding: 6px 6px 5px 7px;
    border-radius: 6px 0 0 0;
}
.subpoint-item .attached-images figure {
    margin-right: 15px;
    margin-top: 10px;
    display: inline-block;
    vertical-align: top;    
    text-align: center;
    border: 1px solid #ddd;
    padding: 10px;
    border-radius: 3px;
    width: 160px;
}
.subpoint-item .attached-images .img-wrapper {
    height: 80px;
}
.subpoint-item .attached-images img {
    height: 100%;
    width: 100%;
}
.subpoint-item .attached-images figcaption {
    font-size: 11px; text-align: center; padding-top: 3px;
    max-width: 160px; word-wrap: break-word;
}

/* MODALS */

.modal-body textarea{
    background-color: #fff;
}
.modal-body .imgeditor-photo{
    width: 100%;
    margin-bottom: 15px; 
    border: 1px solid rgba(0,0,0,0.7);
    border-radius: 3px;
    min-height: 400px;
}
.modal-form .modal-body {
    padding: 15px 30px 15px 30px;
    overflow-y: scroll; 
    -webkit-overflow-scrolling: touch;
}
.modal-footer .form-validation-feedback{
    line-height: 17px; font-size: 13px; color: #c30;
}
.modal-footer .form-validation-feedback .fa{
    font-size: 24px; margin-left: 5px;
}
.modal-footer .form-validation-feedback ul{
    margin: 0; padding: 0 10px 0 0;
}
.modal-footer .form-validation-feedback li {
    display: inline-block;
    padding-left: 15px;
}

/* EXEC SUMMARY MODAL */

.non-con-item {
    box-shadow: none;
    color: #999;
}
.non-con-item p.validation-fail{
    color: #c30;
    font-size: 14px;
    font-weight: 500;
}
.non-con-item p.validation-fail .fa{
    margin-right: 5px;
}
.non-con_point-name {
    margin: 0 0 15px 0;
    line-height: 22px;
}
.non-con_point-name .badge {
    margin-top: -1px; margin-left: 10px;
}
.non-con_category-name {
    background-color: #bbb;
    display: inline-block;
    color: #fff;
    padding: 5px 8px;
    margin-right: -29px;
    font-size: 11px;
    position: relative;    
    border-radius: 2px 2px 0 2px;
    margin-top: -15px;
}
.non-con_category-name:before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 10px 0 0;
    border-color: #999 transparent transparent transparent;
    position: absolute;
    bottom: -10px;
    right: 0;
}


/* MANAGE PORTRAIT MODE */

#no-portrait-msg {
    display: none;
    color: #888;
    width: 400px;
    height:304px;
    margin:0 auto;
    position:absolute;
    left:50%;
    top:50%;
    margin-left:-189px;
    margin-top:-192px;
    text-align: center;
}

@media only screen and (orientation:portrait){
    #app-wrapper, .modal-backdrop, .modal { display:none !important; }
    #no-portrait-msg { display:block; }
}
@media only screen and (orientation:landscape){
    #no-portrait-msg { display:none; }
}

k-widget k-calendar {
    background-color:white !important;
}
k-animation-container {
    background-color:white !important;
}

/* QA/CONDUCT MODE TOGGLE SWITCH */

 .aut-mode-toggle {
    display: flex;
}
.aut-mode-toggle > label {
    text-transform: uppercase;
    color: rgba(255,255,255, 0.4);
    margin:0;
    display: block;
    align-self: center;
    cursor: pointer;
}
.aut-mode-toggle > label.active {
    color: #fff;
}
.aut-mode-toggle > .ssg-toggle-switch {                        
    margin: 0 10px;
}

/* LIST PAGE PREVIEW PANE */

.panel--audit-preview .panel-body {
    padding: 20px 30px;
    background-color: #f7f7f7;
}
.panel--audit-preview .panel-heading {
    background-color: #fff;
    padding: 0 30px 0px 30px;
    border-bottom: 3px solid #eee;
    height: 379px;
}
.panel--audit-preview .panel-heading .row:last-of-type dl {
    border-bottom: none;
}
.audit-preview__audit-type {
    padding: 30px 0;
}
.panel--audit-preview .panel-heading h2.audit-preview__site-name {
    margin: 0; padding: 0;
    font-size: 28px;
    font-weight: 200;
    color: #333;
}
.panel--audit-preview .audit-preview__client-name {
    font-size: 13px;
    font-weight: 200;
    padding-top: 3px;
}
.panel--audit-preview .audit-preview__exec-summary {
    font-style: italic;
    font-weight: 300;
    line-height: 150%;
}
.audit-badge {
    background-color: #4AAFB2;
    color: #fff;
}
.fra-badge{
    background-color: #EE6755;
    color: #fff;
}
.scroll-list__item .audit-badge,
.scroll-list__item .fra-badge {
    width: 26px;
    line-height: 26px;
    border-radius: 100px;
    font-size: 12px;
    text-align: center;
    margin-right: 15px;
    display: inline-block;
}
.panel--audit-preview .audit-badge,
.panel--audit-preview .fra-badge {
    width: 56px;
    line-height: 56px;
    border-radius: 100px;
    font-size: 29px;
    text-align: center;
    margin-right: 20px;
    display: inline-block;
}
.panel dl {
    margin: 0;
    border-bottom: 1px solid #eee;
    margin-bottom: 15px; 
    padding-bottom: 15px;
}
.panel dt {
    margin: 0;
    font-size: 11px; 
    color: #968F8F;
    font-weight: 400;
}
.panel dd {
    margin: 0;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.non-con-priorities {
    padding-left: 10px;
}

.empty-list-message {
    display: flex;
    height: 100%;
    width: 100%;
    justify-content: center;
    align-items: center;
    color: #aaa;
    text-transform: uppercase;
}

.panel .search-container .search-input:after {
    color: #FFF359;
}

#app-main__nav > ul > li {
    height: auto;
}

.search-container {
    background-color: #187074;
    padding: 12px;
    box-shadow: 0 3px 0 0 rgba(0, 0, 0, 0.10);
    z-index: 1;
}

.search-container .search-input {
    position: relative;
}

.search-container .search-input input.form-control::-webkit-input-placeholder {
    color: #25ADB3;
}

.search-container .search-input input {
    border-radius: 4px;
    background-color: rgba(0,0,0,0.25);
    color: #fff;
    border: none;
    height: 40px;
    padding-left: 36px;
    padding-right: 60px;
    box-shadow: inset 2px 2px 0px rgba(0, 0, 0, .075);
}

.search-container .search-input input:focus {
    box-shadow: inset 2px 2px 0px rgba(0, 0, 0, .075), 0 0 0px 4px rgba(255, 255, 255, .075);
}

.search-container .search-input:after {
    content: "\f002";
    font-family: FontAwesome;
    font-size: 16px;
    color: #FFB600;
    position: absolute;
    z-index: 1;
    top: 8px;
    left: 12px;
}

.search-container .btn {
    position: absolute;
    top: 0;
    right: 0;
    color: #FFD366;
    height: 40px;
    font-size: 12px;
    background: transparent;
}

.app-qa-mode .search-container,
.panel-qa-mode .search-container {
    background-color: #2C6A8B;
}

.active-subnav .fa-search {
    color: #FFB600;
    display: table-cell;
    padding-left: 8px;
    text-align: right;
    padding-right: 4px;
}

#app-main__nav ul li a.nav-category {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: sticky;
    top: 0;
    left: 0;
}

#app-main__nav ul li a.nav-category .fa-search {
    color: #FFB600;
}

.icon-disc {
    width: 22px;
    height: 22px;
    background-color: #FFB600;
    border-radius: 100%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 0 !important;
    margin-right: 4px;
}

.icon-disc .fa-search {
    font-size: 12px;
    color: #fff;
}