/* 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; }
.breadcrumb li:first-child { padding-right: 10px; }

/* 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; }

/* 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; }

/* 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; }

/* 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 19px; }
.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;
}
