body {
  color: #000;
  font-family: "Roboto", sans-serif;
  font-weight: 300;
  -webkit-font-feature-settings: "kern", "liga", "pnum";
          font-feature-settings: "kern", "liga", "pnum";
  line-height: 1.5;
  margin: 0; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Roboto", sans-serif;
  line-height: 1.3;
  margin: 0 0 0.75em;
  font-weight: 400; }

button, input, optgroup, select, textarea {
  font-family: "Roboto", sans-serif;
  border-radius: 0; }

p {
  margin: 0 0 0.75em; }

a {
  color: #000;
  text-decoration: none;
  transition: color 500ms ease; }

hr {
  border-bottom: 1px solid #000;
  border-left: 0;
  border-right: 0;
  border-top: 0;
  margin: 1.5em 0; }

img,
picture {
  margin: 0;
  max-width: 100%; }

ul,
ol {
  list-style-type: none;
  margin: 0;
  padding: 0; }

dl {
  margin-bottom: 0.75em; }
  dl dt {
    font-weight: bold;
    margin-top: 0.75em; }
  dl dd {
    margin: 0; }

table {
  border-collapse: collapse;
  -webkit-font-feature-settings: "kern", "liga", "tnum";
          font-feature-settings: "kern", "liga", "tnum";
  margin: 0;
  width: 100%; }

th {
  font-weight: 600;
  padding: 0.75em 0;
  text-align: left; }

td {
  border-bottom: 1px solid #000;
  padding: 0.75em 0; }

tr,
td,
th {
  vertical-align: middle; }

.embed-container,
.video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  margin: 0;
  font-size: 16px; }
  .embed-container iframe, .embed-container object, .embed-container embed, .embed-container img,
  .video-container iframe,
  .video-container object,
  .video-container embed,
  .video-container img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0; }

/**
 * Visually hide an element, but leave it available for screen readers
 * @link https://github.com/h5bp/html5-boilerplate/blob/master/dist/css/main.css
 * @link http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */
.screen-reader, .radio, label[for="subject"] {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

/**
 * Extends the .screen-reader class to allow the element to be focusable when navigated to via the keyboard
 * @link https://github.com/h5bp/html5-boilerplate/blob/master/dist/css/main.css
 * @link https://www.drupal.org/node/897638
 */
.screen-reader-focusable:active,
.screen-reader-focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto; }

@media screen and (max-width: 479px) {
  span#subject {
    font-size: 20px; } }

@media screen and (min-width: 480px) and (max-width: 599px) {
  span#subject {
    font-size: 20px; } }

@media screen and (min-width: 600px) and (max-width: 767px) {
  span#subject {
    font-size: 20px; } }

@media screen and (min-width: 768px) and (max-width: 1023px) {
  span#subject {
    font-size: 22px; } }

@media screen and (min-width: 1024px) and (max-width: 1279px) {
  span#subject {
    font-size: 24px; } }

@media screen and (min-width: 1280px) and (max-width: 1439px) {
  span#subject {
    font-size: 26px; } }

@media screen and (min-width: 1440px) and (max-width: 1680px) {
  span#subject {
    font-size: 28px; } }

@media screen and (min-width: 1681px) and (max-width: 1919px) {
  span#subject {
    font-size: 32px; } }

@media screen and (min-width: 1920px) {
  span#subject {
    font-size: 32px; } }

@media print {
  span#subject {
    font-size: 17.77778px !important; } }

@media screen and (max-width: 479px) {
  #loadClass, #setWeightings, #addStudent, #clearStudents, #changeSubjectAndWeightings, #printButton, #downloadButton, #cancel, .sagc-content-background {
    font-size: 18px; } }

@media screen and (min-width: 480px) and (max-width: 599px) {
  #loadClass, #setWeightings, #addStudent, #clearStudents, #changeSubjectAndWeightings, #printButton, #downloadButton, #cancel, .sagc-content-background {
    font-size: 18px; } }

@media screen and (min-width: 600px) and (max-width: 767px) {
  #loadClass, #setWeightings, #addStudent, #clearStudents, #changeSubjectAndWeightings, #printButton, #downloadButton, #cancel, .sagc-content-background {
    font-size: 19px; } }

@media screen and (min-width: 768px) and (max-width: 1023px) {
  #loadClass, #setWeightings, #addStudent, #clearStudents, #changeSubjectAndWeightings, #printButton, #downloadButton, #cancel, .sagc-content-background {
    font-size: 19px; } }

@media screen and (min-width: 1024px) and (max-width: 1279px) {
  #loadClass, #setWeightings, #addStudent, #clearStudents, #changeSubjectAndWeightings, #printButton, #downloadButton, #cancel, .sagc-content-background {
    font-size: 20px; } }

@media screen and (min-width: 1280px) and (max-width: 1439px) {
  #loadClass, #setWeightings, #addStudent, #clearStudents, #changeSubjectAndWeightings, #printButton, #downloadButton, #cancel, .sagc-content-background {
    font-size: 20px; } }

@media screen and (min-width: 1440px) and (max-width: 1680px) {
  #loadClass, #setWeightings, #addStudent, #clearStudents, #changeSubjectAndWeightings, #printButton, #downloadButton, #cancel, .sagc-content-background {
    font-size: 21px; } }

@media screen and (min-width: 1681px) and (max-width: 1919px) {
  #loadClass, #setWeightings, #addStudent, #clearStudents, #changeSubjectAndWeightings, #printButton, #downloadButton, #cancel, .sagc-content-background {
    font-size: 21px; } }

@media screen and (min-width: 1920px) {
  #loadClass, #setWeightings, #addStudent, #clearStudents, #changeSubjectAndWeightings, #printButton, #downloadButton, #cancel, .sagc-content-background {
    font-size: 22px; } }

@media print {
  #loadClass, #setWeightings, #addStudent, #clearStudents, #changeSubjectAndWeightings, #printButton, #downloadButton, #cancel, .sagc-content-background {
    font-size: 12.22222px !important; } }

@media screen and (max-width: 479px) {
  input[type="text"], #sac, .weightings-dropdown {
    font-size: 17px; } }

@media screen and (min-width: 480px) and (max-width: 599px) {
  input[type="text"], #sac, .weightings-dropdown {
    font-size: 17px; } }

@media screen and (min-width: 600px) and (max-width: 767px) {
  input[type="text"], #sac, .weightings-dropdown {
    font-size: 18px; } }

@media screen and (min-width: 768px) and (max-width: 1023px) {
  input[type="text"], #sac, .weightings-dropdown {
    font-size: 18px; } }

@media screen and (min-width: 1024px) and (max-width: 1279px) {
  input[type="text"], #sac, .weightings-dropdown {
    font-size: 18px; } }

@media screen and (min-width: 1280px) and (max-width: 1439px) {
  input[type="text"], #sac, .weightings-dropdown {
    font-size: 18px; } }

@media screen and (min-width: 1440px) and (max-width: 1680px) {
  input[type="text"], #sac, .weightings-dropdown {
    font-size: 18px; } }

@media screen and (min-width: 1681px) and (max-width: 1919px) {
  input[type="text"], #sac, .weightings-dropdown {
    font-size: 18px; } }

@media screen and (min-width: 1920px) {
  input[type="text"], #sac, .weightings-dropdown {
    font-size: 18px; } }

@media print {
  input[type="text"], #sac, .weightings-dropdown {
    font-size: 10px !important; } }

html {
  height: 100%;
  box-sizing: border-box;
  font-weight: 300;
  font-size: 10px; }
  @media (min-width: 480px) {
    html {
      font-size: 12px; } }
  @media (min-width: 600px) {
    html {
      font-size: 13px; } }
  @media (min-width: 768px) {
    html {
      font-size: 14px; } }
  @media (min-width: 1024px) {
    html {
      font-size: 16px; } }
  @media (min-width: 1280px) {
    html {
      font-size: 16px; } }
  @media (min-width: 1440px) {
    html {
      font-size: 17px; } }
  @media (min-width: 1681px) {
    html {
      font-size: 18px; } }
  @media (min-width: 1920px) {
    html {
      font-size: 20px; } }

body {
  font-size: inherit !important; }

table {
  font-size: inherit; }

td {
  text-align: left;
  padding: 0;
  border: 0; }

input[type="text"] {
  box-sizing: border-box;
  padding: 0.75em 1em;
  border: 1px solid black;
  width: 100%; }

select {
  border: 1px solid black;
  background: white; }

#loadClass, #setWeightings, #addStudent, #clearStudents, #changeSubjectAndWeightings, #printButton, #downloadButton, #cancel {
  line-height: 2.3;
  font-weight: 300;
  color: white;
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  box-sizing: border-box;
  display: block;
  height: 2.3em;
  padding: 0 0.75em;
  border: 0;
  background: black; }

#printButton, #downloadButton {
  color: black;
  border: 1px solid black;
  background: white; }

.sagc-buttons, .sagc-buttons td {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: start;
      align-items: flex-start; }
  .sagc-buttons .button:not(:last-child) {
    margin: 0 2em 1em 0; }
  .sagc-buttons .button:last-child {
    margin: 0 0 2em 0; }

.radio + label {
  line-height: 1;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: center;
      align-items: center; }
  .radio + label:before {
    content: "";
    display: block;
    box-sizing: border-box;
    width: 30px;
    height: 30px;
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    padding: 14px;
    margin-right: 0.5em;
    border: 1px solid black;
    border-radius: 50%;
    background: black;
    background-clip: content-box;
    transition: padding 0.5s; }

.radio:checked + label:before {
  padding: 3px; }

.sagc-content-background {
  background: white !important; }

#form {
  margin-bottom: 0; }

.db {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: start;
      justify-content: flex-start;
  -ms-flex-align: center;
      align-items: center; }
  @media (min-width: 850px) {
    .db {
      padding: 4rem 6.66667vw; } }

label[for="stage1"], label[for="stage2"] {
  margin-right: 2em; }
  @media (max-width: 849px) {
    label[for="stage1"], label[for="stage2"] {
      margin-bottom: 2em; } }

select#subject {
  font-size: inherit;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  padding: 0.75em 1.25em;
  border: 1px solid black;
  max-width: 100vw; }
  @media (max-width: 849px) {
    select#subject {
      margin-bottom: 2em; } }

span#subject {
  font-weight: normal;
  text-align: center;
  display: block;
  padding: 0.75em;
  background: #7ab800; }
  @media (max-width: 849px) {
    span#subject {
      width: 100%; } }
  @media (min-width: 850px) {
    span#subject {
      width: calc(100% + 13.33333vw);
      margin: 0 -6.66667vw -4rem; } }

#sagc-table {
  overflow-x: auto; }

#sac {
  margin-bottom: 2rem; }
  #sac tr:nth-child(n+2) td {
    padding: 2rem 2rem 2rem 0; }
  #sac tr:nth-child(2) {
    font-weight: 300;
    background: #bddc80; }
    #sac tr:nth-child(2) td:nth-child(1) {
      padding-left: 2rem; }
  #sac tr:nth-child(n+3) td {
    border-bottom: 1px solid #e1e1e1; }

.weightings-dropdown {
  display: block;
  width: 6em;
  padding: 0.75em 1em; }

.sagc-buttons {
  margin-bottom: 4rem; }
  @media (min-width: 850px) {
    .sagc-buttons tr {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center; } }
  @media (max-width: 849px) {
    .sagc-buttons td {
      margin-bottom: 2rem; } }