github.com/quickfeed/quickfeed@v0.0.0-20240507093252-ed8ca812a09c/public/src/style.scss (about)

     1  
     2  :root {
     3      // Height of the navbar
     4      --navbar-height: 76px;
     5  }
     6  
     7  
     8  .wrapper {
     9      padding-top: var(--navbar-height);
    10      display: flex;
    11      width: 100%;
    12      align-items: stretch;
    13  }
    14  
    15  .navigator {
    16  
    17      &.hidden {
    18          transform: translateX(-100%);
    19      }
    20  
    21      position: fixed;
    22      top: var(--navbar-height);
    23      transition: transform ease-in-out 0.2s;
    24      transform: translateX(0);
    25      left: 0;
    26      width: 250px;
    27      height: 100vh;
    28      background-color: #222;
    29      box-shadow: 0px 1px 1px 1px rgba(0, 0, 0, 0.4);
    30      color: #d4d4d4;
    31      font-weight: bold;
    32      overflow-y: scroll;
    33      /* IE and Edge */
    34      -ms-overflow-style: none;
    35      /* Firefox */
    36      scrollbar-width: none;
    37  }
    38  
    39  /* Hide scrollbar for Chrome, Safari and Opera */
    40  .navigator::-webkit-scrollbar {
    41      display: none;
    42  }
    43  
    44  .sidebarList {
    45      width: 100%;
    46      height: auto;
    47      padding: 0 !important; // override bootstrap
    48      margin: 0 !important; // override bootstrap
    49  
    50      li {
    51          width: 100%;
    52          height: 60px;
    53          list-style-type: none;
    54          margin: 0%;
    55          display: flex;
    56          flex-direction: row;
    57          justify-content: center;
    58          align-items: center;
    59          cursor: pointer;
    60  
    61          &:hover {
    62              background-color: rgb(20, 20, 20);
    63          }
    64  
    65          a {
    66              width: 100%;
    67              height: 100%;
    68              display: block;
    69              color: #d4d4d4;
    70          }
    71  
    72          span {
    73              margin: 0px;
    74              display: inline-block;
    75              text-align: center;
    76              width: 100%;
    77              height: 100%;
    78              color: #d4d4d4;
    79          }
    80  
    81          img {
    82              width: 30px;
    83              border-radius: 50%;
    84          }
    85      }
    86  
    87      .inactive {
    88          display: none;
    89      }
    90  
    91      .active {
    92          display: flex;
    93          background-color: rgb(39, 39, 39);
    94      }
    95  
    96      .activelab {
    97          display: block;
    98          background-color: rgb(50, 50, 50);
    99      }
   100  
   101  }
   102  
   103  #avatar {
   104      width: 30px;
   105  }
   106  
   107  .sidebarFooter {
   108      position: absolute;
   109      bottom: 0;
   110      padding: 0;
   111      width: 100%;
   112  }
   113  
   114  .sidebar-items-link {
   115      text-align: center;
   116      line-height: 60px;
   117  }
   118  
   119  #title {
   120      margin-left: 10px;
   121  }
   122  
   123  .card-body {
   124      color: black;
   125  }
   126  
   127  .centered {
   128      position: fixed;
   129      top: 50%;
   130      left: 60%;
   131      transform: translate(-50%, -50%);
   132      transform: -webkit-translate(-50%, -50%);
   133      transform: -moz-translate(-50%, -50%);
   134      transform: -ms-translate(-50%, -50%);
   135  }
   136  
   137  .logo {
   138      text-decoration: none;
   139      font-size: 24px;
   140      text-align: center;
   141  
   142      a {
   143          padding-top: 10px;
   144      }
   145  }
   146  
   147  #content {
   148      transition: margin-left ease-in-out 0.2s;
   149      margin-left: 350px;
   150      margin-right: 100px;
   151      width: 100%;
   152  }
   153  
   154  #content-full {
   155      transition: margin-left ease-in-out 0.2s;
   156      margin-left: 100px;
   157      margin-right: 100px;
   158      width: 100%;
   159  }
   160  
   161  body {
   162      margin: 0px;
   163  }
   164  
   165  a {
   166      color: #9d9d9d;
   167      font-weight: bold;
   168      display: inline-block;
   169  
   170      &:hover {
   171          color: #7a7a7a;
   172      }
   173  
   174      &:link {
   175          text-decoration: none;
   176      }
   177  }
   178  
   179  input {
   180      color: black;
   181  }
   182  
   183  #github {
   184      line-height: 20px;
   185  }
   186  
   187  .box {
   188      margin-top: 30px;
   189  }
   190  
   191  #LandingPageTable thead tr {
   192      background-color: #343a40;
   193      color: white;
   194  }
   195  
   196  #LandingPageTable tbody .dark td {
   197      border-bottom: 1px solid black;
   198  }
   199  
   200  #LandingPageTable tbody .light:nth-child(even) {
   201      background-color: #e0ebf1;
   202  }
   203  
   204  #LandingPageTable tbody .dark:nth-child(even) {
   205      background-color: #222;
   206  }
   207  
   208  #LandingPageTable tbody tr {
   209      cursor: pointer;
   210  }
   211  
   212  .jumbotron {
   213      margin-right: -100px;
   214      margin-left: -100px;
   215  }
   216  
   217  .course-card-row {
   218      padding: 40px 0;
   219      border-top: 1px solid #ccc;
   220  }
   221  
   222  .fa-star,
   223  .fa-star-o {
   224      color: yellow;
   225      text-shadow: 0 0 3px #000;
   226  }
   227  
   228  .centered {
   229      position: fixed;
   230      top: 50%;
   231      left: 50%;
   232      transform: translate(-50%, -50%);
   233      transform: -webkit-translate(-50%, -50%);
   234      transform: -moz-translate(-50%, -50%);
   235      transform: -ms-translate(-50%, -50%);
   236  }
   237  
   238  .icon {
   239      transition-duration: 0.5s;
   240  }
   241  
   242  .float-down-left {
   243      position: absolute;
   244      bottom: 10px;
   245      left: 20px;
   246  }
   247  
   248  .overflow-ellipses {
   249      text-overflow: ellipsis;
   250      white-space: nowrap;
   251      overflow: hidden;
   252      text-align: center;
   253  }
   254  
   255  .review {
   256      display: flex;
   257      flex-direction: row;
   258      position: absolute;
   259  }
   260  
   261  .reviewTable {
   262      flex: 20;
   263  }
   264  
   265  .lab-sticky {
   266      position: sticky;
   267      top: 100px;
   268      height: 90vh;
   269      padding: 0;
   270  }
   271  
   272  .reviewLabResult {
   273      overflow: scroll;
   274      overflow-y: scroll;
   275      height: 90vh;
   276  }
   277  
   278  .table-overflow {
   279      overflow-x: scroll;
   280      padding: 0;
   281  }
   282  
   283  .pending-review {
   284      box-shadow: inset 0 0 4px 2px #626280;
   285  }
   286  
   287  #group-image {
   288      width: 23px;
   289      margin-right: 10px;
   290      border-radius: 50%;
   291  }
   292  
   293  .about {
   294      width: 100%;
   295  }
   296  
   297  .redirectButton {
   298      position: absolute;
   299      top: 120px;
   300      transform: translateX(-70px);
   301  }
   302  
   303  .result-approved {
   304      background-color: #ccffcc;
   305      cursor: pointer;
   306  }
   307  
   308  .result-rejected {
   309      background-color: #ffcccc;
   310      cursor: pointer;
   311  }
   312  
   313  .result-revision {
   314      background-color: #ffffcc;
   315      cursor: pointer;
   316  }
   317  
   318  .selected {
   319      background-color: #007bff;
   320      color: white;
   321  }
   322  
   323  .release {
   324      box-shadow: rgb(0, 0, 0) 0px 0px 0px inset, green 5px 0px 0px inset;
   325  }
   326  
   327  .course-button {
   328      position: absolute;
   329      bottom: 0;
   330      right: 0;
   331      margin: 1.25rem;
   332  }
   333  
   334  .clickable {
   335      cursor: pointer;
   336  }
   337  
   338  .clickable:hover {
   339      text-decoration: none;
   340  }
   341  
   342  .alert {
   343      z-index: 999;
   344  }
   345  
   346  .bg-secondary {
   347      background: rgb(221, 223, 226) !important;
   348      color: slategrey;
   349  }
   350  
   351  .table td {
   352      padding: 0.5rem !important;
   353  }
   354  
   355  .table th {
   356      padding: 0.5rem !important;
   357  }
   358  
   359  .passed {
   360      box-shadow: rgb(0, 0, 0) 0px 0px 0px inset, green 5px 0px 0px inset;
   361  }
   362  
   363  .failed {
   364      box-shadow: rgb(0, 0, 0) 0px 0px 0px inset, red 5px 0px 0px inset;
   365  }
   366  
   367  .not-graded {
   368      box-shadow: rgb(0, 0, 0) 0px 0px 0px inset, rgba(0, 0, 0, 0.2) 5px 0px 0px inset;
   369  }
   370  
   371  .dropdown-menu-center {
   372      right: auto;
   373      left: 50%;
   374      -webkit-transform: translate(-50%, 0);
   375      -o-transform: translate(-50%, 0);
   376      transform: translate(-50%, 0);
   377  }
   378  
   379  .width-resize {
   380      min-width: 150px;
   381  }
   382  .navbar-top {
   383      background-color: #222;
   384      height: var(--navbar-height);
   385  
   386      .nav-child {
   387  
   388          &.brand {
   389              display: flex;
   390              font-size: 1.5rem;
   391              padding: 0.5rem 1rem;
   392              width: 15rem;
   393              & > * {
   394                  margin-right: 0.5rem;
   395              }
   396  
   397              .hamburger {
   398                  min-width: 30px;
   399                  transition: color 0.2s ease-in-out;
   400                  text-align: center;
   401                  &.closed {
   402                      color: #d4d4d4;
   403  
   404                  }
   405  
   406                  &.open {
   407                      color: #28a745;
   408                  }
   409              }
   410          }
   411  
   412          &.course {
   413              font-size: 1.2rem;
   414              display: flex;
   415  
   416              &::before {
   417                  color: green;
   418                  content:  remove-where();
   419              }
   420  
   421              & > * {
   422                  margin-right: 0.5rem;
   423                  align-self: center;
   424              }
   425  
   426  
   427          }
   428      }
   429  }
   430  
   431  
   432      .navbar  {
   433          .nav-item {
   434              &:hover .dropdown-menu {
   435                  display: block;
   436              }
   437              .dropdown-menu {
   438                  display: none;
   439                  margin-top: 0;
   440              }
   441          }
   442      }
   443  
   444  @media only screen and (max-width: 980px) {
   445      .width-resize {
   446          width: 350px;
   447          padding-top: 15px;
   448      }
   449  }
   450  
   451  @media only screen and (max-width: 1200px) {
   452      .lab-resize {
   453          padding-top: 15px;
   454      }
   455  }
   456  
   457  
   458  nav.flexbox {
   459      position: fixed;
   460      width: 100%;
   461      z-index: 100;
   462      display: flex;
   463      flex-direction: row;
   464      justify-content: space-between;
   465  
   466      ul {
   467          padding: 0.3rem;
   468          margin: 0.3rem;
   469      }
   470  }
   471  
   472  .flex-user {
   473      display: flex;
   474      flex-direction: row;
   475      width: 15rem;
   476      justify-content: center;
   477      align-items: center;
   478  }
   479  
   480  .switch {
   481      position: relative;
   482      display: inline-block;
   483      width: 36px;
   484      min-width: 36px;
   485      height: 24px;
   486      margin-bottom: 0;
   487  
   488      input {
   489          opacity: 0;
   490          width: 0;
   491          height: 0;
   492  
   493          &:checked + .slider {
   494              background-color: #28a745;
   495  
   496              & .toggle {
   497                  -webkit-transform: translateX(13px);
   498                  -ms-transform: translateX(13px);
   499                  transform: translateX(13px);
   500              }
   501          }
   502  
   503          &:not(:checked) + .slider {
   504              background-color: #007bff;
   505          }
   506      }
   507  
   508      .slider {
   509          position: absolute;
   510          cursor: pointer;
   511          top: 0;
   512          left: 0;
   513          right: 0;
   514          bottom: 0;
   515          background-color: #ccc;
   516          -webkit-transition: .4s;
   517          transition: .4s;
   518  
   519          .toggle {
   520              font-family: "FontAwesome";
   521              font-size: 12px;
   522              position: absolute;
   523              content: "\f19d";
   524              text-align: center;
   525              height: 16px;
   526              width: 16px;
   527              left: 4px;
   528              bottom: 4px;
   529              background-color: white;
   530              -webkit-transition: .4s;
   531              transition: .4s;
   532          }
   533      }
   534  
   535      .slider.round {
   536          border-radius: 34px;
   537  
   538          box-shadow: 0px 0px 1px 1px rgba(0,0,0,0.5) inset;
   539          -webkit-box-shadow: 0px 0px 1px 1px rgba(0,0,0,0.5) inset;
   540          -moz-box-shadow: 0px 0px 1px 1px rgba(0,0,0,0.5) inset;
   541  
   542          & .toggle {
   543              border-radius: 50%;
   544          }
   545      }
   546    }
   547  
   548  
   549  .course-card {
   550      max-width: 30rem;
   551      min-width: 30rem;
   552      margin-bottom: 10px !important; // override bootstrap margin of 0
   553      min-height: 205px;
   554  }
   555  
   556  .comment {
   557      // all children links should be white
   558      a {
   559          color: red;
   560          &:hover {
   561              text-decoration: underline
   562          }
   563      }
   564      background-color: #f7f7f9;
   565      height: 100%;
   566  
   567      td {
   568          position: relative;
   569          padding: 1rem;
   570          border-bottom: 1px solid #eaeaea;
   571      }
   572      td::before {
   573          content: "";
   574          position: absolute;
   575          width: 5px;
   576          height: 0%;
   577          display: block;
   578          top: 0;
   579          left: 0;
   580  
   581          background-color: rgba(0,0,0,0.1);
   582          
   583          // transition height on hover
   584          transition: height 0.2s ease-in-out;
   585      }
   586  
   587      &.comment-passed{
   588          // green
   589          td::before {
   590              background-color: rgba(0, 128, 0, 0.3) ;
   591          }
   592      }
   593  
   594      &.comment-failed{
   595          // red
   596          td::before {
   597              background-color: rgba(255, 0, 0, 0.3);
   598          }
   599      }
   600  
   601      &.comment-not-graded{
   602          // grey
   603          td::before {
   604              background-color: rgba(128, 128, 128, 0.3);
   605          }
   606      }
   607  
   608      @media only screen and (max-width: 980px) {
   609          td::before {
   610              height: 50%;
   611          }
   612      }
   613  
   614      td:hover::before {
   615          height: 50%;
   616      }
   617  
   618      p {
   619          margin: 0;
   620      }
   621  
   622      .comment-md {
   623          padding: 1rem;
   624      }
   625  
   626      &.hidden {
   627          display: none;
   628      }
   629  }
   630  
   631  .breadcrumb {
   632      .breadcrumb-item + .breadcrumb-item::before {
   633          content: ">" !important;
   634      }
   635  }