github.com/drone/runner-go@v1.12.0/handler/static/files/style.css (about)

     1  :root {
     2      --font-sans: -apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;
     3      --font-mono: Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace;
     4  }
     5  
     6  html, body {
     7      background: #f7f8fa;
     8      color: #1e375a;
     9      width: 100%;
    10      height: 100%;
    11      font-family: var(--font-sans);
    12      font-size: 15px;
    13  }
    14  
    15  main {
    16      box-sizing: border-box;
    17      max-width: 800px;
    18      margin: 0px auto;
    19      margin-bottom: 30px;
    20  }
    21  
    22  main section > header h1 {
    23      height: 41px;
    24      font-size: 30px;
    25      font-weight: 400;
    26      font-style: normal;
    27      font-stretch: normal;
    28      line-height: normal;
    29      letter-spacing: normal;
    30      color: #1e375a;
    31      margin: 30px 0;
    32  }
    33  
    34  body > header {
    35      height: 56px;
    36      box-shadow: 0 2px 4px 0 rgba(30,55,90,.05);
    37      box-sizing: border-box;
    38      background-color: rgba(30,55,90,.97);
    39      padding: 0 15px;
    40      display: flex;
    41      align-items: center;
    42  }
    43  
    44  header .logo {
    45      width: 30px;
    46      height: 30px;
    47  }
    48  
    49  .navbar .inline-nav {
    50      display: flex;
    51      flex: 1 1 auto;
    52      justify-content: flex-end;
    53  }
    54  
    55  .navbar .inline-nav li {
    56      display: inline-block;
    57      margin-left: 15px;
    58  }
    59  
    60  .navbar .inline-nav a,
    61  .navbar .inline-nav a:active,
    62  .navbar .inline-nav a:visited {
    63      color: #FFF;
    64      opacity: 0.75;
    65      text-decoration: none;
    66  }
    67  
    68  .navbar .inline-nav a.active,
    69  .navbar .inline-nav a:hover {
    70      opacity: 1;
    71  }
    72  
    73  .card {
    74      box-shadow: 0 2px 4px 0 rgba(30,55,90,.1);
    75      box-sizing: border-box;
    76      border: 1px solid rgba(30,55,90,.05);
    77      border-radius: 4px;
    78      background-color: #fff;
    79      margin-bottom: 10px;
    80  }
    81  
    82  a.card {
    83      text-decoration: none;
    84  }
    85  
    86  /*
    87   * stage card component
    88   */
    89  
    90  .stage {
    91      padding: 15px;
    92      display: grid;
    93      grid-gap: 10px 0px;
    94      grid-template-columns: 30px 30px auto 150px;
    95  }
    96  
    97  .stage img {
    98      border-radius: 50%;
    99      width: 20px;
   100      height: 20px;
   101      grid-row: 2;
   102      grid-column: 2;
   103  }
   104  
   105  .stage h2 {
   106      color: #1e375a;
   107      font-size: 18px;
   108      grid-row: 1;
   109      grid-column: 2 / span 3;
   110      overflow: hidden;
   111      white-space: nowrap;
   112      text-overflow: ellipsis;
   113  }
   114  
   115  .stage .desc {
   116      color: rgba(30,55,90,.6);
   117      font-size: 14px;
   118      grid-row: 2;
   119      grid-column: 3;
   120      align-items: center;
   121      display: flex;
   122  }
   123  
   124  .stage time,
   125  .stage .time {
   126      color: rgba(30,55,90,.6);
   127      font-size: 14px;
   128      grid-row: 2;
   129      grid-column: 4;
   130      text-align: right;
   131      display: flex;
   132      align-items: center;
   133      justify-content: flex-end;
   134  }
   135  
   136  .stage em {
   137      background-color: rgba(35,100,210,.07);
   138      border-radius: 2px;
   139      color: #2364d2;
   140      padding: 0 4px;
   141      margin: 0 4px;
   142      line-height: 17px;
   143  }
   144  
   145  .stage .connector {
   146      width: 15px;
   147      height: 15px;
   148      opacity: .2;
   149      border-bottom-left-radius: 8px;
   150      border-left: 1px solid #1e375a;
   151      border-bottom: 1px solid #1e375a;
   152      display: block;
   153      grid-row: 2;
   154      grid-column: 1;
   155      margin-top: -4px;
   156      margin-left: 9px;
   157  }
   158  
   159  /*
   160   * step components
   161   */
   162  
   163  .steps header {
   164      border-bottom: 1px solid rgba(30,55,90,.1);
   165      display: grid;
   166      grid-gap: 10px 0px;
   167      grid-template-columns: 30px auto;
   168      padding: 10px 15px;
   169  }
   170  
   171  .steps header .name {
   172      align-items: center;
   173      display: flex;
   174  }
   175  
   176  .steps .step {
   177      display: grid;
   178      grid-gap: 10px 0px;
   179      grid-template-columns: 30px auto 100px;
   180      padding: 10px 15px;
   181  }
   182  
   183  .steps .step:hover {
   184      background: #f8f8fa;
   185  }
   186  
   187  .steps .step .name {
   188      align-items: center;
   189      display: flex;
   190  }
   191  
   192  .steps .body {
   193      padding: 10px 0px;
   194  }
   195  
   196  .steps .step {
   197      position: relative;
   198  }
   199  
   200  .steps .step:before,
   201  .steps .step:after {
   202      border-left: 1px solid #1e375a;
   203      content: " ";
   204      height: 10px;
   205      left: 25px;
   206      opacity: 0.15;
   207      position: absolute;
   208      width: 1px;
   209  }
   210  
   211  .steps .step:after {
   212      bottom: 0px;
   213  }
   214  
   215  .steps .step:before {
   216      top: 0px;
   217  }
   218  
   219  .steps .step:last-of-type:after,
   220  .steps .step:first-of-type:before {
   221      display: none;
   222  }
   223  
   224  .steps .status-name {
   225      align-items: center;
   226      color: rgba(30,55,90,.6);
   227      display: flex;
   228      font-size: 14px;
   229      font-style: italic;
   230      justify-content: flex-end;
   231      text-transform: capitalize;
   232  }
   233  
   234  /**
   235   * breadcrumb component
   236   */
   237  
   238  .breadcrumb {
   239      margin-top: 35px;
   240  }
   241  
   242  .breadcrumb ul {
   243      display: flex;
   244  }
   245  
   246  .breadcrumb ul li {
   247      display: flex;
   248      align-items: center;
   249  }
   250  
   251  .breadcrumb ul li.separator {
   252      margin: 0px 15px;
   253      width: 19px;
   254      height: 19px;
   255      display: inline-block;
   256      background: url(/static/icons/arrow-right.svg) no-repeat center center;
   257      transform: rotate(270deg);
   258  }
   259  
   260  .breadcrumb a,
   261  .breadcrumb a:active,
   262  .breadcrumb a:visited {
   263      text-decoration: none;
   264      color: #2364d2;
   265      display: block;
   266      line-height: 19px;
   267  }
   268  
   269  .breadcrumb a:hover {
   270      text-decoration: underline;
   271  }
   272  
   273  /**
   274   * alert components
   275   */
   276  
   277  .alert.sleeping {
   278      box-shadow: 0 2px 4px 0 rgba(30,55,90,.1);
   279      box-sizing: border-box;
   280      border: 1px solid rgba(30,55,90,.05);
   281      border-radius: 4px;
   282      margin-bottom: 10px;
   283      padding: 30px;
   284      padding-top: 130px;
   285      text-align: center;
   286      background-color: #FFFFFF;
   287      background-image: url(icons/sleeping.svg);
   288      background-size: 80px;
   289      background-position-x: center;
   290      background-position-y: 30px;
   291      background-repeat: no-repeat;
   292  }
   293  
   294  /**
   295   * status component.
   296   */
   297  
   298  .status {
   299      background-color: #ff4164;
   300      border-radius: 50%;
   301      display: block;
   302      width: 20px;
   303      height: 20px;
   304      background-image: url('icons/failure.svg');
   305  }
   306  
   307  .status.skipped {
   308      background-color: #96a5be;
   309      background-image: url('icons/skipped.svg');
   310  }
   311  
   312  .status.pending {
   313      background-color: #96a5be;
   314      background-image: url('icons/pending.svg');
   315      animation: wrench 2s ease infinite;
   316  }
   317  
   318  .status.running {
   319      background-image: url('icons/running.svg');
   320      background-color: transparent;
   321      animation: spin 2s linear infinite;
   322  }
   323  
   324  .status.success,
   325  .status.passing {
   326      background-color: #19d78c;
   327      background-image: url('icons/success.svg');
   328  }
   329  
   330  /*
   331   * log entry components
   332   */
   333  
   334  .logs {
   335      box-shadow: 0 2px 4px 0 rgba(30,55,90,.1);
   336      box-sizing: border-box;
   337      border: 1px solid rgba(30,55,90,.05);
   338      border-radius: 4px;
   339      background-color: #fff;
   340      margin-bottom: 10px;   
   341  }
   342  
   343  .entry {
   344      padding: 15px;
   345      display: grid;
   346      grid-gap: 5px 10px;
   347      grid-template-columns: 70px auto 150px;
   348      border-bottom: 1px solid rgba(30,55,90,.05);
   349  }
   350  
   351  .entry:last-of-type {
   352      border-bottom: none;
   353  }
   354  
   355  .entry .level {
   356      grid-row: 1;
   357      grid-column: 1;
   358      max-height: 18px;
   359  }
   360  
   361  .entry .message {
   362      align-items: center;
   363      background: #eaedf2;
   364      border-radius: 3px;
   365      display: flex;
   366      line-height: 18px;
   367      padding: 0px 5px;
   368      font-family: var(--font-mono);
   369      font-size: 13px;
   370      grid-row: 1;
   371      grid-column: 2;
   372  }
   373  
   374  .entry .fields {
   375      font-family: var(--font-mono);
   376      font-size: 13px;
   377      grid-row: 2;
   378      grid-column: 2;
   379      display: inline-grid;
   380      grid-row-gap: 5px;
   381  }
   382  
   383  .entry .time,
   384  .entry time {
   385      color: rgba(30,55,90,.6);
   386      font-size: 14px;
   387      grid-row: 1;
   388      grid-column: 3;
   389      text-align: right;
   390      display: flex;
   391      align-items: center;
   392      justify-content: flex-end;
   393  }
   394  
   395  .level {
   396      border-radius: 3px;
   397      display: block;
   398      font-size: 11px;
   399      font-family: var(--font-mono);
   400      line-height: 18px;
   401      min-width: 50px;
   402      text-align: center;
   403      text-transform: uppercase;
   404  }
   405  
   406  .level.panic,
   407  .level.error {
   408      background: #ff4164;
   409      color: #FFF;
   410  }
   411  
   412  .level.warn {
   413      background: #ffbe00;
   414      color: #FFF;
   415  }
   416  
   417  .level.info {
   418      background: #2364d2;
   419      color: #fff;
   420  }
   421  
   422  .level.debug {
   423      background: #96a5be;
   424      color: #fff;
   425  }
   426  
   427  .level.trace {
   428      background: #96a5be;
   429      color: #fff;
   430  }
   431  
   432  .fields span {
   433      background: #eaedf2;
   434      border-radius: 3px;
   435      padding: 3px 5px;
   436      font-size: 11px;
   437      color: #8d96a8;
   438  }
   439  
   440  .fields span em:after {
   441      content: "=";
   442      opacity: 0.5;
   443      margin: 0px 3px;
   444  }
   445  
   446  /*
   447   * animations
   448   */
   449  
   450  @keyframes spin {
   451      0% { transform: rotate(0deg); }
   452      100% { transform: rotate(359deg); }
   453  }
   454  
   455  @keyframes wrench {
   456      0%  { transform: rotate(-12deg); }
   457      8%  { transform: rotate(12deg); }
   458      10% { transform: rotate(24deg); }
   459      18% { transform: rotate(-24deg); }
   460      20% { transform: rotate(-24deg); }
   461      28% { transform: rotate(24deg); }
   462      30% { transform: rotate(24deg); }
   463      38% { transform: rotate(-24deg); }
   464      40% { transform: rotate(-24deg); }
   465      48% { transform: rotate(24deg); }
   466      50% { transform: rotate(24deg); }
   467      58% { transform: rotate(-24deg); }
   468      60% { transform: rotate(-24deg); }
   469      68% { transform: rotate(24deg); }
   470      75%, 100% { transform: rotate(0deg); }
   471  }