/* Style the Yocto Project logo */
.logo img { height: 30px; width: auto !important; }
.logo { padding-top: 4px !important; padding-bottom:0px !important; }

/* style the version information */
.brand > a { color: #777; }
.brand > a:hover { color: #999; text-decoration: none; }
.icon-info-sign { color: #777; font-size: 16px; margin-left: 5px;}
.icon-info-sign:hover { color: #999; cursor: pointer; }

/* Style the breadcrumb */
.breadcrumb { display: inline-block; background-color: transparent; }

/* Styles for the help information */
.get-help { color: #CCCCCC; }
.get-help:hover, .icon-plus-sign:hover { color: #999999; cursor: pointer; }
.get-help-green { color: #468847; }
.get-help-green:hover { color: #347132; cursor: pointer; }
.get-help-blue { color: #3A87AD; }
.get-help-blue:hover { color: #005580; cursor: pointer; }
.get-help-yellow { color: #C09853; }
.get-help-yellow:hover { color: #B38942; cursor: pointer; }
.get-help-red { color: #B94A48; font-size: 16px; padding-left: 2px; }
.get-help-red:hover { color: #943A38; cursor: pointer; }
.build-form>i:first-of-type { margin-left: 5px; }
.manual { margin: 11px 15px 0 11px;}
.heading-help { font-size: 14px; }

/* Styles for the external link */
.get-info { color: #0088CC; }
.get-info:hover { color: #005580; cursor: pointer; text-decoration: none; }

/* Styles for code and pre tags */
code { background-color: transparent; border: none; color: #333333; }
dd code, .alert code { white-space: pre-wrap; word-break: break-all; word-wrap: break-word; }
.alert-warning code, .alert-warning pre { background-color: transparent; border: none; color: #C09853; margin-bottom: 0px; }
.alert-error code { background-color: transparent; border: none; color: #B94A48; margin-bottom:0px; }
.alert-error pre { background-color: transparent; border: none; color: #B94A48; word-break: normal; margin-bottom: 0px; }
.alert-warning pre { word-break: normal; }
.alert-info a { font-weight: 300; }
.alert-info code { color: #3A87AD; }
.tooltip code { background-color: transparent; color: #FFFFFF; font-weight: normal; border: none; font-size: 1em; }

/* Style for definition lists */
dd ul { list-style-type: none; margin: 0px; }
dt, dd  {line-height: 25px; }
dd li { line-height: 25px; }
.item-info dd { line-height: 20px; margin-bottom: 10px; }

/* Style the filter modal dialogs */
.modal { width: 800px; margin-left: -400px; }
.modal-footer .btn { float: left; }
.modal-body { max-height: 300px; }

/* Hover style for the clear search icon */
.icon-remove-sign:hover { color: #999999; cursor: pointer; }

/* Some extra space before headings when needed */
.details { margin-top: 30px; }
.air { margin-top: 30px; }

/* Required classes for the highlight behaviour in tables */
.highlight { -webkit-animation: target-fade 10s 1; -moz-animation: target-fade 10s 1; animation: target-fade 10s 1; }
@-webkit-keyframes target-fade { 0% { background-color: #D9EDF7; } 25% { background-color: #D9EDF7; } 100% { background-color: white; } }
@-moz-keyframes target-fade { 0% { background-color: #D9EDF7; } 25% { background-color: #D9EDF7; } 100% { background-color: white; } }
@keyframes target-fade { 0% { background-color: #D9EDF7; } 25% { background-color: #D9EDF7; } 100% { background-color: white; } }

/* This makes tooltips work inside modal dialogs */
.tooltip { z-index: 2000 !important; }

/* Override default Twitter Boostrap styles for anchor tags inside tables */
td a, td a > code { color: #333333; }
td code { white-space: normal; }
td a:hover, td a > code:hover { color: #000000; text-decoration: underline; }

/* Override default Twitter Bootstrap styles for tr.error */
.table tbody tr.error > td { background-color: transparent; } /* override default Bootstrap behaviour */
.table-hover tbody tr.error:hover > td { background-color: #F5F5F5;} /* override default Bootstrap behaviour */

/* Right justify Bootstrap table columns for size fields */
.table .sizecol { text-align: right; }

/* Set error, warning, success and muted styles */
.error, .red, td.error a, tr.error a { color: #b94a48; }
a.error:hover, a.error:focus, tr.error a:hover { color: #943A38; text-decoration: underline; }
.warning, .yellow { color: #c09853;}
a.warning { background-color: transparent; }
a.warning:hover, a.warning:focus { color: #B38942; text-decoration: underline; }
.success, .green { color: #468847;}
.success:hover { color: #347132; text-decoration: underline; }
td > .success:hover { text-decoration: underline; }
.muted a { color:#999999; }
.muted a:hover { color:#999999; }

/* Sorting functionality styles for table headings */
.sorted { color: #333333; font-weight: bold; }
.sorted:hover { color: #000000; text-decoration: underline; }
th > a, th > span { font-weight: normal; }

/* Force long strings like commit hashes to wrap */
.iscommit { white-space: pre-wrap; word-break: break-all; word-wrap: break-word;}

/* Make the popovers scrollable if they are too long */
.popover-content { max-height: 30em; overflow-y: scroll; }

/* Styles for the directory structure table. We'll probably won't use those in production */
.one { padding-left: 18px !important; }
.two { padding-left: 36px !important; }
.three { padding-left: 54px !important; }
.content-directory a { color: #0088CC; }
.content-directory a:hover { color: #005580; text-decoration: underline; }
.symlink { color: #CCCCCC; }

/* Styles for the navbar actions */
.btn-group + .btn-group { margin-right: 10px; }
.navbar-inner > .btn-group { margin-top: 6px; }
[id^="search-input-"], #search { width: 80%; }

/* Styles for the parent item in the left navigation */

.nav > li > a.nav-parent { font-size: 18px; line-height: 25px;  }

/* Other styles */
.dropdown-menu { padding: 10px; }
select { width: auto; }
.page-header { color: #5A5A5A; }
.top-air { margin-top: 40px;}
.progress { margin-bottom: 0px; }
.lead .badge { font-size: 18px; font-weight: normal; border-radius: 15px; padding: 9px; }
.lead ol, .lead ul { padding: 10px 0 0 20px; }
.lead ol > li, .lead ul > li {
    line-height: 35px;
}
.well > .lead, .alert .lead { margin-bottom: 0px; }
.well-transparent { background-color: transparent; }
.no-results { margin: 10px 0; }
.task-name { margin-left: 7px; }
.icon-hand-right {color: #CCCCCC; }
.help-inline { margin: 5px; }
.dashboard-section { background-color: transparent; }

/* styles for landing page - analysis mode */
.hero-unit { margin: 20px 0 30px; }
.hero-unit > .close { font-size:40px; }
.hero-actions { margin-top: 30px; }

/* styles for landing page - build mode */
.hero-unit p { line-height: 25px; }
.hero-unit p, .hero-unit .btn-large { margin-top: 15px; }
.hero-unit ul { margin-top: 20px; }
.hero-unit li { line-height: 30px; }
.hero-unit img { background-color: #eee; margin-top: 15px; }

/* make tables Chrome-happy (me, not so much) */
table { table-layout: fixed; word-wrap: break-word; }

table p { margin-bottom: 0 }
.table td { vertical-align: middle; }

/* styles for the new build button */
.new-build .btn-primary { padding: 4px 30px; }
.new-build .alert { margin-top: 10px; }
.new-build .alert p { margin-top: 10px; }

/* styles for showing the project name in build mode */
.project-name { padding-top: 0; }
.project-name .label { font-weight: normal; margin-bottom: 5px; margin-left: -15px; padding: 5px; }
.project-name .label > a { color: #fff; font-weight: normal; }

/* styles for showing help icons next to command-line builds */
.build-result .get-help-green, .build-result .get-help-red, .build-result .get-help-blue { margin-right: 35px; margin-top: 8px; font-size: 16px; }

/* Remove bottom margin for forms inside modal dialogs */
#dependencies-modal-form { margin-bottom: 0px; }

/* Custom column widths */
.narrow-col { width: 8%; }
.medium-col { width: 12%; }

/* Configuration styles */
.icon-trash { color: #B94A48; font-size: 16px; padding-left: 5px; }
.icon-trash:hover { color: #943A38; text-decoration: none; cursor: pointer; }
.icon-pencil, .icon-download-alt, .icon-refresh, .icon-star-empty, .icon-star  { font-size: 16px; color: #0088CC; padding-left: 2px; }
.icon-pencil:hover, .icon-download-alt:hover, .icon-refresh:hover, .icon-star-empty:hover, .icon-star:hover, .icon-tasks:hover { color: #005580; text-decoration: none; cursor: pointer; }
.icon-share { padding-left: 2px; }
.alert-success .icon-refresh, .alert-success .icon-tasks { color: #468847; }
.alert-success .icon-refresh:hover, .alert-success .icon-tasks:hover { color: #347132; }
.alert-error .icon-refresh, .alert-error .icon-tasks { color: #b94a48; }
.alert-error .icon-refresh:hover, .alert-error .icon-tasks:hover { color: #943A38; }
.configuration-list li, .configuration-list label { line-height: 35px; font-size: 21px; font-weight: 200; margin-bottom: 0px;}
.configuration-list { font-size: 16px; margin-bottom: 1.5em; }
.configuration-list i { font-size: 16px; }
/*.configuration-layers { height: 135px; overflow: scroll; }*/
.counter { font-weight: normal; }
.well-alert { background-color: #FCF8E3; border: 1px solid #FBEED5; border-radius: 4px; }
.well-alert > .lead { color: #C09853; padding-bottom: .75em; }
.configuration-alert { margin-bottom: 0px; padding: 8px 14px; }
.configuration-alert p { margin-bottom: 0px; }
.project-form { margin-top: 10px; }
.add-layers .btn-block + .btn-block, .build .btn-block + .btn-block { margin-top: 0px; }
input.huge { font-size: 17.5px; padding: 11px; min-width: 60%; }
.build-form { margin-bottom: 0px; }
.build-form .input-append { margin-bottom: 0px; }
.build-form .btn-large { padding: 11px 35px; }
.build-form p { font-size:17.5px ;margin:12px 0 0 10px;}
#layer-container form, #target-container form { margin-bottom: 0px; }
.btn-primary .icon-question-sign, .btn-danger .icon-question-sign { color: #fff; }
.btn-primary .icon-question-sign:hover, .btn-danger .icon-question-sign:hover { color: #999; }
a code { color: #0088CC; }
a code:hover { color: #005580; }
.localconf { font-size: 17.5px; margin-top: 40px; }
.localconf code { font-size: 17.5px; }
#add-layer-dependencies {  margin-top: 5px; }
.link-action { font-size: 17.5px; margin-top: 40px; }
.link-action code { font-size: 17.5px; }
.artifact { width: 9em; }
.control-group { margin-bottom: 0px; }
#project-details form { margin: 0px; }
dd form { margin: 10px 0 0 0; }
dl textarea { resize: vertical; }
.navbar-fixed-top {  z-index: 1; }
.popover { z-index: 2; }
.btn-danger .icon-trash { color: #fff; }
.bbappends { list-style-type: none; margin-left: 0; }
.bbappends li { line-height: 25px; }
.configuration-list input[type="checkbox"] { margin-top:13px;margin-right:10px; }
.alert input[type="checkbox"] { margin-top: 0px; margin-right: 3px; }
.alert ol { padding: 10px 0px 0px 20px; }
.alert ol > li { line-height: 35px; }
.dl-vertical form { margin-top: 10px; }
.scrolling { border: 1px solid #dddddd; height: 154px; overflow: auto; padding: 8px; width: 27.5%; margin-bottom: 10px; }
.lead .help-block { font-size: 14px; line-height: 20px; font-weight: normal; }
.button-place  .btn { margin: 0 0 20px 0; }
.tooltip-inner { max-width: 250px; }
.new-build { padding: 20px; }
.new-build li { line-height: 30px; }
.new-build li .alert { line-height: 20px; width: 200px; white-space: normal; }
.new-build h6 { margin: 10px 0 0 0; color: #5a5a5a; }
.new-build h3 { margin: 0; color: #5a5a5a; }
.new-build form { margin: 5px 0 0; }
.new-build .input-append { margin-bottom: 0; }
#build-selected { margin-top: 15px; }
div.add-deps { margin-top: 15px; }
.btn.log { margin-left: 20px; }


.animate-repeat {
  list-style:none;
  box-sizing:border-box;
}

.animate-repeat.ng-move,
.animate-repeat.ng-enter,
.animate-repeat.ng-leave {
  -webkit-transition:all linear 0.5s;
  transition:all linear 0.5s;
}

.animate-repeat.ng-leave.ng-leave-active,
.animate-repeat.ng-move,
.animate-repeat.ng-enter {
  opacity:0;
}

.animate-repeat.ng-leave,
.animate-repeat.ng-enter.ng-enter-active {
  opacity:1;
}

.tab-pane table { margin-top: 10px; }

thead .description, .get_description_or_summary { width: 364px; }
thead .add-del-layers { width: 124px; }

#loading-notification {
  position: fixed;
  z-index: 101;
  top: 3%;
  left: 40%;
  right: 40%;
  -webkit-box-shadow: 0 0 10px #c09853;
  -moz-box-shadow: 0 0 10px #c09853;
  box-shadow: 0 0 10px #c09853;
}

#change-notification {
  position: fixed;
  z-index: 101;
  top: 3%;
  left: 20%;
  right: 20%;
  -webkit-box-shadow: 0 0 10px #3a87ad;
  -moz-box-shadow: 0 0 10px #3a87ad;
  box-shadow: 0 0 10px #3a87ad;
}

/* Copied in from newer version of Font-Awesome 4.3.0 */
.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
  display: inline-block;
}
.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8);
  display: inline-block;
}

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}

@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    -moz-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
/* End copied in from newer version of Font-Awesome 4.3.0 */

.top-padded {
  padding-top: 60px;
}

input.input-lg {
  font-size: 18px;
  height: 22px;
  line-height: 1.33333;
  padding: 10px 16px;
}
