* {
  box-sizing: border-box;
  -webkit-box-sizing: border-box; }

body, html {
  padding: 0;
  margin: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  color: #212429; }

body.auth {
  background-color: #F7F7F7; }

.strong {
  font-weight: 600; }

.medium {
  font-weight: 500; }

.small {
  font-size: 0.8em; }

.large {
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1.5; }

.tiny {
  font-size: 0.7em; }

.no-scroll {
  overflow: hidden; }

.flex-container {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: space-between;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -ms-flex-align: center;
  align-items: center; }
  .flex-container.vertical {
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -moz-box-direction: normal;
    -moz-box-orient: vertical;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    -ms-align-items: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start; }
  .flex-container.align-top {
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    -ms-align-items: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start; }
  .flex-container.align-bottom {
    -webkit-align-items: flex-end;
    -moz-align-items: flex-end;
    -ms-align-items: flex-end;
    -ms-flex-align: flex-end;
    align-items: flex-end; }
  .flex-container.flex-start {
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    justify-content: flex-start;
    -ms-flex-pack: flex-start; }
  .flex-container.flex-end {
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
    -ms-flex-pack: flex-end; }
  .flex-container.flex-wrap {
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  .flex-container.title-and-button {
    margin-bottom: 1rem; }
    .flex-container.title-and-button h1, .flex-container.title-and-button h2, .flex-container.title-and-button h3, .flex-container.title-and-button h4, .flex-container.title-and-button h5, .flex-container.title-and-button p {
      margin: 0; }
    .flex-container.title-and-button input {
      margin: 0; }
    @media only screen and (max-width: 1000px) {
      .flex-container.title-and-button {
        margin-bottom: 2em; } }
    @media only screen and (max-width: 650px) {
      .flex-container.title-and-button a {
        font-size: 3.25vw; }
      .flex-container.title-and-button .the-button {
        -ms-flex-negative: 0;
        flex-shrink: 0; } }
  .flex-container.list-of-items {
    margin-bottom: 3rem; }
    @media only screen and (max-width: 1000px) {
      .flex-container.list-of-items {
        margin-bottom: 1.5rem; } }
  @media only screen and (max-width: 1000px) {
    .flex-container:not(.mobile-flex) {
      display: block; } }
  @media only screen and (max-width: 1000px) {
    .flex-container.strictly-small-screen-flex {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex; } }
  @media only screen and (max-width: 650px) {
    .flex-container.strictly-small-screen-flex {
      display: block; } }
.sr-only:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px; }

img {
  max-width: 100%;
  height: auto; }

.visually-hidden {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px); }

.mobile-only {
  display: none; }
  @media only screen and (max-width: 650px) {
    .mobile-only {
      display: block; } }
.small-screens-only {
  display: none; }
  @media only screen and (max-width: 1000px) {
    .small-screens-only {
      display: block; } }
.square {
  position: relative; }
  .square:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 100%; }
  .square > .content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }

html {
  font-family: 'Work Sans', sans-serif;
  font-size: 16px;
  letter-spacing: 0.05em;
  color: #212429; }
  @media only screen and (max-width: 1000px) {
    html {
      font-size: 13px;
      letter-spacing: 0.02em; } }
h1, h2, h3, h4, h5 {
  font-family: 'Rubik', sans-serif;
  color: #EB5F38;
  font-weight: 600; }
  h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child {
    margin-top: 0; }
  h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child {
    margin-bottom: 0; }
  h1:only-child, h2:only-child, h3:only-child, h4:only-child, h5:only-child {
    margin: 0; }

h1 {
  font-size: 2.25rem; }
  @media only screen and (max-width: 650px) {
    h1 {
      font-size: 8vw; }
      h1.pairing-names {
        line-height: 1.75; } }
h1 span.pronouns {
  font-size: 0.9rem;
  color: #212429;
  font-weight: 400;
  margin-top: -0.5rem;
  display: block; }

h2 {
  font-size: 1.3rem; }

p {
  line-height: 1.5; }
  p:only-child {
    margin: 0 !important; }
  p:first-child {
    margin-top: 0; }
  p:last-child {
    margin-bottom: 0; }

p + .visually-hidden {
  margin-top: -1em; }

h1 + p {
  margin-top: -1.25rem; }

a {
  text-decoration: none;
  color: #212429;
  font-weight: 600; }
  a.disabled {
    opacity: 0.3;
    pointer-events: none;
    cursor: normal; }

button {
  background-color: #EB5F38;
  color: #FFF3EF;
  text-transform: uppercase;
  font-weight: 600;
  cursor: pointer;
  width: 12ch;
  border-radius: 0.75rem;
  -webkit-border-radius: 0.75rem;
  -moz-border-radius: 0.75rem;
  outline: none;
  padding: 0.75rem 1rem;
  font-size: 0.9rem;
  border: none;
  font-family: 'Work Sans', sans-serif; }
  button.small {
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    padding: 0.25rem 0.5rem;
    font-weight: 500;
    text-transform: none;
    width: auto; }

#messages {
  position: fixed;
  top: 3rem;
  right: 4rem;
  background-color: #EB5F38;
  color: #FFF3EF;
  padding: 1.5em;
  width: 30ch;
  border-radius: 0.9rem;
  -webkit-border-radius: 0.9rem;
  -moz-border-radius: 0.9rem;
  z-index: 100;
  cursor: pointer; }
  @media only screen and (max-width: 1000px) {
    #messages {
      padding: 8.5vw;
      right: 8.5vw;
      top: 8.5vw; } }
  #messages ul {
    padding-left: 0;
    list-style-position: inside; }
  #messages:hover {
    background-color: #f18f74; }
  #messages:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f00d";
    position: absolute;
    top: 1rem;
    right: 1rem; }

#main-container {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(265px, 19%) 1fr;
  grid-template-columns: minmax(265px, 19%) 1fr;
  top: 0;
  left: 0; }
  @media only screen and (max-width: 1000px) {
    #main-container {
      display: block;
      position: relative; } }
#nav-container {
  background-color: #212429;
  color: #FFF3EF;
  font-size: 1.3rem;
  height: 100vh;
  padding: 3rem 4rem; }
  @media only screen and (max-width: 1000px) {
    #nav-container {
      padding: 10vh 15vw; } }
  #nav-container nav {
    height: calc(100% - 4rem - 3rem);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -moz-box-direction: normal;
    -moz-box-orient: vertical;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: space-between; }
    #nav-container nav a {
      color: #FFF3EF;
      font-weight: 600;
      text-decoration: none;
      display: block;
      margin-bottom: 1.2em;
      font-family: 'Rubik', sans-serif;
      opacity: 0.6; }
      #nav-container nav a.active {
        opacity: 1; }
      #nav-container nav a:last-child {
        margin-bottom: 0; }
    @media only screen and (max-width: 1000px) {
      #nav-container nav {
        height: 100%;
        display: block; }
        #nav-container nav a {
          margin-bottom: 1.1em; } }
  #nav-container nav .terms-links {
    margin-top: 2em; }
    #nav-container nav .terms-links a {
      font-size: 0.75rem;
      font-weight: normal; }
    @media only screen and (max-width: 1000px) {
      #nav-container nav .terms-links {
        margin-top: 3rem; } }
  @media only screen and (max-width: 1000px) {
    #nav-container {
      position: absolute !important;
      height: 1px;
      width: 1px;
      overflow: hidden;
      clip: rect(1px 1px 1px 1px);
      /* IE6, IE7 */
      clip: rect(1px, 1px, 1px, 1px); }
      #nav-container.showing {
        position: fixed !important;
        height: calc(100vh - 3.5rem);
        width: 100vw;
        overflow: auto;
        clip: unset;
        z-index: 2;
        background-color: #373a3e; }
        #nav-container.showing a {
          font-size: 1.75rem; } }
#nav-container #logo {
  height: 3rem;
  margin-bottom: 4rem; }
  @media only screen and (max-width: 1000px) {
    #nav-container #logo {
      display: none; } }
#mobile-menu-bar {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4rem;
  padding: 1rem 5vw;
  z-index: 100;
  background-color: #212429; }
  @media only screen and (max-width: 1000px) {
    #mobile-menu-bar {
      display: block; } }
#admin-add.active {
  color: #EB5F38; }

#toggle-menu {
  cursor: pointer; }

#mobile-menu-bar nav {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: space-between;
  color: #FFF3EF; }
  #mobile-menu-bar nav a {
    color: #FFF3EF;
    height: 2rem; }
  #mobile-menu-bar nav i {
    font-size: 2rem; }
  #mobile-menu-bar nav #mobile-menu-logo {
    height: 4rem;
    margin-top: -1rem; }

#mobile-add-menu {
  position: fixed;
  bottom: 4rem;
  background-color: #373a3e;
  width: 100vw;
  padding: 8vh 15vw;
  z-index: 2;
  color: #FFF3EF;
  -webkit-border-top-left-radius: 0.9rem;
  -webkit-border-top-right-radius: 0.9rem;
  -moz-border-radius-topleft: 0.9rem;
  -moz-border-radius-topright: 0.9rem;
  border-top-left-radius: 0.9rem;
  border-top-right-radius: 0.9rem;
  font-family: 'Rubik', sans-serif; }
  #mobile-add-menu p {
    font-weight: 600;
    font-size: 1.75rem; }
  #mobile-add-menu nav a {
    display: block;
    color: #FFF3EF;
    font-size: 1.75rem;
    margin-bottom: 1.3em;
    opacity: 0.6;
    font-weight: 600; }
    #mobile-add-menu nav a:last-child {
      margin-bottom: 0; }

main {
  height: 100vh;
  overflow-y: scroll;
  position: relative; }
  @media only screen and (max-width: 1000px) {
    main {
      height: auto;
      margin-bottom: 4rem; } }
section.top-section {
  background-color: #f4f4f4;
  padding: 6rem;
  padding-right: 4rem;
  padding-top: 10rem; }
  section.top-section.dashboard {
    padding-bottom: 4rem; }
  section.top-section.stats {
    padding-bottom: 2rem; }
  @media only screen and (max-width: 1000px) {
    section.top-section {
      padding: 8.5vw;
      padding-top: 10rem;
      padding-bottom: 8.5vw !important; } }
  @media only screen and (max-width: 1000px) {
    section.top-section {
      padding-top: 9rem; } }
  section.top-section.white {
    background-color: white; }
  section.top-section.no-padding-bottom {
    padding-bottom: 0 !important; }
  section.top-section h2 {
    color: #212429; }
  section.top-section h1 + h2 {
    margin-top: -0.5em; }
  section.top-section.with-stats {
    padding-top: 8rem; }

.grid.stats {
  margin-bottom: 4rem; }

.stats .box {
  margin-bottom: 1rem; }
  .stats .box.no-space-below {
    margin-bottom: 0; }
  .stats .box:last-child {
    margin-bottom: 0; }

.stats h2 + p {
  margin-top: -1em; }

.stats span.large + span.small {
  margin-top: -0.5rem; }

.stats .flex-container.list-item {
  margin-bottom: 1rem; }
  .stats .flex-container.list-item:last-child {
    margin-bottom: 0; }
  .stats .flex-container.list-item.headings {
    margin-top: 2em; }

section.body-section {
  padding: 6rem;
  padding-right: 4rem; }
  section.body-section.less-padding-top {
    padding-top: 3rem; }
  section.body-section.dashboard {
    padding-top: 4rem; }
  @media only screen and (max-width: 1000px) {
    section.body-section {
      padding: 3rem 8.5vw;
      padding-top: 3rem !important; } }
section.body-section + section.body-section {
  padding-top: 0; }

.grid {
  display: -ms-grid;
  display: grid;
  grid-column-gap: 2rem;
  grid-row-gap: 2rem; }
  .grid.align-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  .grid.two-across {
    -ms-grid-columns: 1fr 2rem 1fr;
    grid-template-columns: 1fr 1fr; }
  .grid.three-across {
    -ms-grid-columns: 1fr 2rem 1fr 2rem 1fr;
    grid-template-columns: 1fr 1fr 1fr; }
  .grid.four-across {
    -ms-grid-columns: 1fr 2rem 1fr 2rem 1fr 2rem 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr; }
  .grid._58-free {
    -ms-grid-columns: 58% 2rem 1fr;
    grid-template-columns: 58% 1fr; }
  .grid._free-58 {
    -ms-grid-columns: 1fr 2rem 58%;
    grid-template-columns: 1fr 58%; }
  .grid._58-28 {
    -ms-grid-columns: 58% 17% 25%;
    grid-template-columns: 58% 25%;
    grid-column-gap: 17%; }
  .grid.large-gap {
    grid-column-gap: 6rem; }
    .grid.large-gap.two-across {
      -ms-grid-columns: 1fr 6rem 1fr; }
    .grid.large-gap.three-across {
      -ms-grid-columns: 1fr 6rem 1fr 6rem 1fr; }
    .grid.large-gap.four-across {
      -ms-grid-columns: 1fr 6rem 1fr 6rem 1fr 6rem 1fr; }
    .grid.large-gap._58-free {
      -ms-grid-columns: 58% 6rem 1fr; }
    .grid.large-gap._free-58 {
      -ms-grid-columns: 1fr 6rem 58%; }
  .grid.align-end {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: end; }
  .grid.form-grid {
    grid-row-gap: 0.9rem !important;
    grid-column-gap: 0.9rem !important; }
  .grid .span-2 {
    -ms-grid-row: span 2;
    grid-row-start: span 2; }
  .grid .span-3 {
    -ms-grid-row: span 3;
    grid-row-start: span 3; }
  @media only screen and (max-width: 1000px) {
    .grid:not(.mobile-grid) {
      -ms-grid-columns: 1fr !important;
      grid-template-columns: 1fr !important;
      grid-row-gap: 1.5rem; } }
.form-grid._58-free textarea, #teacher-profile .grid._58-free textarea,
#student-profile .grid._58-free textarea {
  height: 100%; }

@media only screen and (max-width: 1300px) {
  .form-grid._58-free, #teacher-profile .grid._58-free,
  #student-profile .grid._58-free {
    display: block; }
    .form-grid._58-free textarea, #teacher-profile .grid._58-free textarea,
    #student-profile .grid._58-free textarea {
      margin-top: 0.9rem;
      height: auto; }
    .form-grid._58-free .additional-info, #teacher-profile .grid._58-free .additional-info,
    #student-profile .grid._58-free .additional-info {
      margin-top: 1rem; }
    .form-grid._58-free .additional-info + .profile-block, #teacher-profile .grid._58-free .additional-info + .profile-block,
    #student-profile .grid._58-free .additional-info + .profile-block {
      margin-top: 1rem; }
    .form-grid._58-free .form-section:first-child, #teacher-profile .grid._58-free .form-section:first-child,
    #student-profile .grid._58-free .form-section:first-child {
      margin-top: 2rem; } }

#student-profile .additional-info {
  padding-bottom: 0; }

.half-width {
  width: 50%; }
  @media only screen and (max-width: 650px) {
    .half-width {
      width: 100%; } }
  .half-width.space-above {
    margin-top: 2em; }

section.auth {
  text-align: center;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -moz-box-direction: normal;
  -moz-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  min-height: 100vh; }
  section.auth .content {
    margin: auto;
    width: 40%;
    padding-top: 3rem;
    padding-bottom: 3rem; }
    @media only screen and (max-width: 1000px) {
      section.auth .content {
        width: 85%; } }
section.auth .content h1 {
  text-transform: uppercase;
  color: #212429; }

section.auth .content .auth-logo {
  width: 150px;
  margin-bottom: 1rem; }
  @media only screen and (max-width: 650px) {
    section.auth .content .auth-logo {
      width: 100px; } }
section.auth .content p.intro {
  font-weight: 500;
  font-size: 2rem;
  font-family: 'Rubik', sans-serif; }

section.auth .content .intro p {
  font-weight: 500; }

section.auth .content p.label {
  font-weight: 500;
  font-size: 1.1rem; }

section.auth .content .messages {
  margin-bottom: 1.5rem; }

section.auth .content .terms-and-conditions,
section.auth .content .privacy-policy {
  border-radius: 0.8rem;
  -webkit-border-radius: 0.8rem;
  -moz-border-radius: 0.8rem;
  background-color: white; }
  section.auth .content .terms-and-conditions .contents,
  section.auth .content .privacy-policy .contents {
    font-size: 0.9rem;
    margin-bottom: 2rem; }
  section.auth .content .terms-and-conditions a,
  section.auth .content .privacy-policy a {
    color: #0F73B6;
    font-weight: normal;
    border-bottom: 1px solid #0F73B6; }
  section.auth .content .terms-and-conditions .checkboxes,
  section.auth .content .privacy-policy .checkboxes {
    padding: 3rem 4rem;
    padding-top: 0;
    font-size: 0.9rem;
    max-width: 600px;
    margin: auto; }
    @media only screen and (max-width: 1000px) {
      section.auth .content .terms-and-conditions .checkboxes,
      section.auth .content .privacy-policy .checkboxes {
        padding: 2rem; } }
    section.auth .content .terms-and-conditions .checkboxes .field-wrapper,
    section.auth .content .privacy-policy .checkboxes .field-wrapper {
      margin-bottom: 1rem; }
      section.auth .content .terms-and-conditions .checkboxes .field-wrapper:last-child,
      section.auth .content .privacy-policy .checkboxes .field-wrapper:last-child {
        margin-bottom: 0; }
    section.auth .content .terms-and-conditions .checkboxes label,
    section.auth .content .privacy-policy .checkboxes label {
      font-weight: normal;
      line-height: 1.5; }
    section.auth .content .terms-and-conditions .checkboxes .checkbox,
    section.auth .content .privacy-policy .checkboxes .checkbox {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: center;
      -moz-justify-content: center;
      -ms-justify-content: center;
      justify-content: center;
      -ms-flex-pack: center; }

span.open-terms-link, span.open-privacy-policy-link {
  font-weight: bold;
  text-decoration: underline;
  cursor: pointer; }

section.auth .content.teacher-yearly-checks {
  text-align: left; }
  section.auth .content.teacher-yearly-checks label, section.auth .content.teacher-yearly-checks input[type="checkbox"] {
    display: inline; }
  section.auth .content.teacher-yearly-checks h1 {
    margin-top: 3rem; }
  section.auth .content.teacher-yearly-checks #skip-yearly-checks {
    background-color: #212429;
    border-color: #212429; }
  section.auth .content.teacher-yearly-checks form {
    margin-bottom: 2rem; }

#contents {
  position: relative;
  overflow: hidden; }
  #contents .scrollable {
    height: 250px;
    width: 100%;
    overflow-y: scroll; }
    #contents .scrollable.has-more-to-scroll {
      -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, black), to(transparent));
      -webkit-mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
      mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, black), to(transparent));
      mask-image: linear-gradient(to bottom, black 50%, transparent 100%); }
  #contents .inner {
    padding: 3rem 5rem; }
    @media only screen and (max-width: 1000px) {
      #contents .inner {
        padding: 2rem; } }
form .terms-and-conditions {
  width: 150%;
  margin-left: -25%; }
  @media only screen and (max-width: 1000px) {
    form .terms-and-conditions {
      margin-left: auto;
      width: 100%; } }
  form .terms-and-conditions ul {
    display: block !important;
    opacity: 0.8;
    list-style: inside;
    margin-bottom: 0; }
    form .terms-and-conditions ul li {
      margin-bottom: 1em; }
      form .terms-and-conditions ul li:last-child {
        margin-bottom: 0; }

.messages {
  margin-top: 2rem;
  margin-bottom: 2rem;
  color: #EB5F38;
  font-weight: 600; }

ul.errorlist {
  background-color: #EB5F38;
  color: #FFF3EF;
  padding: 0.75rem;
  border-radius: 0.75rem;
  -webkit-border-radius: 0.75rem;
  -moz-border-radius: 0.75rem;
  z-index: 100;
  font-size: 0.8em;
  font-weight: 500; }
  @media only screen and (max-width: 1000px) {
    ul.errorlist {
      font-size: 0.8rem; } }
.blue-headings h1, .blue-headings h2, .blue-headings h3, .blue-headings h4, .blue-headings h5, .blue-headings h6 {
  color: #0F73B6; }

.box {
  padding: 1.25rem;
  border-radius: 0.8rem;
  -webkit-border-radius: 0.8rem;
  -moz-border-radius: 0.8rem; }
  .box.blue {
    background: #dbeaf4;
    color: #212429; }
    .box.blue[data-href]:hover, .box.blue[href]:hover {
      background: #93c0de; }
    .box.blue.solid-colour {
      background-color: #0F73B6;
      color: #FFF3EF; }
      .box.blue.solid-colour a {
        color: #FFF3EF; }
  .box.orange {
    background-color: #fdefeb;
    color: #212429; }
    .box.orange[data-href]:hover, .box.orange[href]:hover {
      background: #f6b7a5; }
    .box.orange.solid-colour {
      background-color: #EB5F38;
      color: #FFF3EF; }
      .box.orange.solid-colour a {
        color: #FFF3EF; }
  .box.orange-outline {
    background-color: white;
    border: 2px solid #EB5F38; }
  .box.almost-black {
    background-color: #f4f4f4; }
    .box.almost-black[data-href]:hover, .box.almost-black[href]:hover {
      background: #9b9c9f; }
    .box.almost-black.solid-colour {
      background-color: #212429;
      color: #FFF3EF; }
      .box.almost-black.solid-colour a {
        color: #FFF3EF; }
  .box.cream {
    background-color: #fffdfd; }
    .box.cream[data-href]:hover, .box.cream[href]:hover {
      background: #fffaf8; }
    .box.cream.solid-colour {
      background-color: #FFF3EF;
      color: #212429; }
      .box.cream.solid-colour a {
        color: #212429; }
  .box.grey {
    background-color: #e9e9ea; }

.box.square .content {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1.3rem;
  padding: 2rem;
  text-align: center; }

.box {
  font-weight: normal; }
  .box.select {
    cursor: pointer; }
  .box p.main {
    font-size: 1.5rem;
    font-weight: 500; }
  .box p.main + p.main {
    margin-top: -.5rem; }
  .box span {
    display: block; }
    .box span.info {
      font-size: 0.8rem;
      margin-top: -1rem; }

.lessons-block {
  margin-bottom: 5rem; }
  .lessons-block:last-child {
    margin-bottom: 0; }
  .lessons-block::empty {
    margin-bottom: 0; }
  .lessons-block .title-and-button {
    margin-bottom: 1rem; }

.lesson-box {
  border-radius: 0.8rem;
  -webkit-border-radius: 0.8rem;
  -moz-border-radius: 0.8rem;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.25rem;
  cursor: pointer; }
  .lesson-box a:hover {
    color: #0F73B6; }
  .lesson-box .key-details {
    font-weight: 600; }
    .lesson-box .key-details.expanded span.topics {
      visibility: hidden; }
    .lesson-box .key-details.expanded span.location {
      visibility: hidden; }
    .lesson-box .key-details.expanded span.name {
      visibility: hidden; }
    .lesson-box .key-details span.location {
      font-weight: normal; }
    @media only screen and (max-width: 1000px) {
      .lesson-box .key-details.all-lessons-page span.location {
        display: none; } }
    .lesson-box .key-details.all-lessons-page span {
      font-weight: 600 !important; }
      .lesson-box .key-details.all-lessons-page span.tbc {
        font-weight: 400 !important; }
      @media only screen and (max-width: 1000px) {
        .lesson-box .key-details.all-lessons-page span {
          font-weight: 400 !important; } }
    .lesson-box .key-details span.topics.tbc {
      font-weight: 400 !important; }
  @media only screen and (max-width: 1000px) {
    .lesson-box {
      padding: 1.25rem 1rem; } }
  .lesson-box .key-details {
    font-weight: 600;
    display: grid;
    display: -ms-grid;
    -ms-grid-columns: 1.75rem 12ch 1fr 1fr 12ch 1rem;
    grid-template-columns: 1.75rem 12ch 1fr 1fr 12ch 1rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-right: -0.5rem;
    text-align: center; }
    .lesson-box .key-details.no-location span.location {
      display: none; }
    @media only screen and (max-width: 1000px) {
      .lesson-box .key-details.no-name span.location {
        display: block; } }
    @media only screen and (max-width: 1000px) {
      .lesson-box .key-details {
        -ms-grid-columns: 1.75rem 12ch 1fr 1rem !important;
        grid-template-columns: 1.75rem 12ch 1fr 1rem !important;
        font-weight: 400; }
        .lesson-box .key-details span {
          text-align: left !important; }
          .lesson-box .key-details span.date span, .lesson-box .key-details span.time {
            font-weight: 600 !important; } }
    .lesson-box .key-details.no-name.no-location {
      -ms-grid-columns: 1.75rem 12ch 1fr 12ch 1rem;
      grid-template-columns: 1.75rem 12ch 1fr 12ch 1rem; }
    .lesson-box .key-details.all-lessons-page {
      -ms-grid-columns: 1.75rem 12ch 1fr 1fr 1fr 12ch 1rem;
      grid-template-columns: 1.75rem 12ch 1fr 1fr 1fr 12ch 1rem; }
    .lesson-box .key-details .show-quick-options {
      color: #579dcc;
      margin-right: -0.5rem; }
      .lesson-box .key-details .show-quick-options img {
        opacity: 0.5; }
      @media only screen and (max-width: 1000px) {
        .lesson-box .key-details .show-quick-options img {
          height: 2rem; } }
    .lesson-box .key-details .name:nth-child(2), .lesson-box .key-details .date:nth-child(2) {
      text-align: left; }
    .lesson-box .key-details .topics {
      padding-right: 0.5rem; }
      @media only screen and (max-width: 1000px) {
        .lesson-box .key-details .topics {
          padding-left: 2rem; }
          .lesson-box .key-details .topics span {
            display: block; } }
      @media only screen and (max-width: 650px) {
        .lesson-box .key-details .topics {
          padding-left: 0.5rem; } }
    .lesson-box .key-details .date {
      width: 12ch; }
      @media only screen and (max-width: 1000px) {
        .lesson-box .key-details .date span {
          display: block; } }
    .lesson-box .key-details .name, .lesson-box .key-details .location {
      font-weight: 400; }
      @media only screen and (max-width: 1000px) {
        .lesson-box .key-details .name, .lesson-box .key-details .location {
          margin-top: 0.5rem; } }
    .lesson-box .key-details .time {
      width: 12ch; }
      .lesson-box .key-details .time:last-child {
        text-align: right; }
      @media only screen and (max-width: 1000px) {
        .lesson-box .key-details .time {
          margin-top: 0.5rem; } }
  .lesson-box.lesson {
    background-color: #fdefeb;
    position: relative; }
    .lesson-box.lesson div.payment-status {
      width: 1rem;
      height: 1rem;
      position: relative; }
      .lesson-box.lesson div.payment-status.paid:before {
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: "\f00c";
        color: #17d445; }
      .lesson-box.lesson div.payment-status.not-paid {
        color: #eb6038; }
        .lesson-box.lesson div.payment-status.not-paid:before {
          width: 10px;
          height: 10px;
          border-radius: 50%;
          -webkit-border-radius: 50%;
          -moz-border-radius: 50%;
          background-color: #eb6038;
          position: absolute;
          top: 3px;
          left: 0;
          content: ''; }
      .lesson-box.lesson div.payment-status.refunded {
        background-size: 100% 100%;
        background-image: url("../images/RefundIcon.svg"); }
      .lesson-box.lesson div.payment-status.cancelled.not-paid:before {
        background-color: #212429;
        color: #212429; }
      .lesson-box.lesson div.payment-status.cancelled.paid:before {
        color: #212429; }
    .lesson-box.lesson.cancelled {
      background: #e9e9ea; }
      .lesson-box.lesson.cancelled .key-details {
        opacity: 0.5; }
    .lesson-box.lesson.active .more-details {
      display: block !important;
      position: relative !important;
      height: auto;
      width: auto;
      clip: unset; }
    .lesson-box.lesson.active .topics {
      visibility: hidden; }
    .lesson-box.lesson.past {
      border: 1px solid #EB5F38;
      background-color: white; }
      .lesson-box.lesson.past.cancelled {
        background: #e9e9ea;
        border-color: #212429; }
  .lesson-box.new {
    background: #dbeaf4;
    position: relative; }

.ui-timepicker-standard a {
  font-weight: normal;
  font-family: 'Work Sans', sans-serif; }
  .ui-timepicker-standard a.ui-state-hover {
    background-color: #0F73B6;
    color: #FFF3EF;
    border: none;
    cursor: pointer; }

.lesson-box .quick-options {
  display: none;
  border-radius: 0.8rem;
  -webkit-border-radius: 0.8rem;
  -moz-border-radius: 0.8rem;
  border: 1px solid #EB5F38;
  padding: 1.25rem 1.5rem;
  position: absolute;
  left: 100%;
  top: 0;
  padding: 1rem;
  background-color: white;
  width: 23ch;
  font-size: 0.85rem;
  z-index: 99; }
  .lesson-box .quick-options div {
    margin-bottom: 1rem; }
    .lesson-box .quick-options div:last-child {
      margin-bottom: 0; }
    .lesson-box .quick-options div:hover {
      color: #0F73B6; }
    .lesson-box .quick-options div.disabled {
      opacity: 0.3;
      pointer-events: none;
      cursor: normal; }
  .lesson-box .quick-options button {
    background-color: transparent;
    color: #212429;
    text-transform: none;
    letter-spacing: 0.75px;
    font-weight: 400;
    width: auto;
    padding: 0;
    margin-right: 3rem !important; }
    .lesson-box .quick-options button:hover {
      color: #0F73B6; }
  .lesson-box .quick-options form {
    display: inline; }
    .lesson-box .quick-options form:last-child button {
      margin: 0 !important; }

.lesson .discount-badge {
  position: absolute;
  top: -0.6rem;
  right: -0.6rem;
  width: 1.75rem;
  height: 1.75rem;
  font-size: 0.9rem;
  background-color: white;
  border: 2px solid #0F73B6;
  color: #0F73B6;
  text-align: center;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  letter-spacing: -0.5px;
  line-height: inherit !important; }

.lesson-box.created {
  -webkit-animation: lessoncreated 5s 1;
  animation: lessoncreated 5s 1; }

@-webkit-keyframes lessoncreated {
  from {
    background-color: #ed6f4c; }
  to {
    background-color: #fdefeb; } }

@keyframes lessoncreated {
  from {
    background-color: #ed6f4c; }
  to {
    background-color: #fdefeb; } }

.lesson-box a, .box.options a {
  font-size: 0.8rem;
  font-weight: 500;
  padding-left: 3rem; }
  .lesson-box a:first-child, .box.options a:first-child {
    padding-left: 0; }

.lesson-box .cost, .box.options .cost {
  font-weight: 500;
  font-size: 0.8rem; }

.lesson-box .cost-and-options {
  margin-top: 2rem; }
  .lesson-box .cost-and-options.with-confirmation-option {
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .lesson-box .cost-and-options.with-confirmation-option .options {
      margin-top: 2rem;
      width: 100%;
      -webkit-justify-content: space-between;
      -moz-justify-content: space-between;
      -ms-justify-content: space-between;
      justify-content: space-between;
      -ms-flex-pack: space-between; }

.lesson-box .more-details, .box .more-details {
  margin-top: 2rem;
  font-weight: normal; }

.lesson-box .more-details.all-lessons-page p.location {
  display: none; }
  @media only screen and (max-width: 1000px) {
    .lesson-box .more-details.all-lessons-page p.location {
      display: block; } }
.lesson-box .more-details li.external-link {
  margin-bottom: 0.5rem; }

.lesson-box .more-details .edit-external-link {
  background-color: #FFF3EF; }
  .lesson-box .more-details .edit-external-link i {
    color: #EB5F38; }

.lesson-box .options, .box .options {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  -moz-justify-content: flex-end;
  -ms-justify-content: flex-end;
  justify-content: flex-end;
  -ms-flex-pack: flex-end; }
  @media only screen and (max-width: 1000px) {
    .lesson-box .options, .box .options {
      -webkit-justify-content: space-between;
      -moz-justify-content: space-between;
      -ms-justify-content: space-between;
      justify-content: space-between;
      -ms-flex-pack: space-between;
      margin-top: 2rem; } }
  .lesson-box .options i, .box .options i {
    color: #EB5F38; }

.box .options {
  margin-top: 2rem;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  justify-content: flex-start;
  -ms-flex-pack: flex-start; }
  .box .options a {
    font-size: 0.75rem;
    padding-left: 1.5rem; }

.open-lesson-create-form, .open-rate-card-form {
  font-weight: 600;
  cursor: pointer; }

.open-lesson-create-form {
  font-weight: 600;
  cursor: pointer; }

.create-lesson-form p.title, .edit-lesson-form p.title {
  font-weight: 600; }

.create-lesson-form i, .edit-lesson-form i {
  font-size: 1.3rem;
  color: #0F73B6;
  cursor: pointer; }

.external-links-formset p.title {
  font-weight: 600; }

.external-links-formset i {
  font-size: 1.3rem; }

.edit-lesson-form i {
  color: #EB5F38; }

#clear-lesson-create-form {
  margin-top: 1rem;
  font-size: 0.85rem;
  color: #646669; }
  #clear-lesson-create-form span {
    text-decoration: underline; }

.pagination {
  margin-top: 1.25rem; }
  .pagination .step-links {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
    -ms-flex-pack: flex-end; }
  .pagination .page-link {
    height: 1.5rem;
    width: 1.5rem;
    font-size: 1rem;
    text-align: center;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -moz-box-direction: normal;
    -moz-box-orient: vertical;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-right: 0.2rem;
    cursor: pointer; }
    .pagination .page-link:last-child {
      margin-right: 0 !important; }
    .pagination .page-link.text {
      height: 1.5rem;
      width: auto;
      font-size: 0.6rem; }
    .pagination .page-link.disabled {
      pointer-events: none;
      opacity: 0.5; }
  .pagination .page-number {
    font-weight: 600; }
    .pagination .page-number.current {
      border-radius: 0.5rem;
      -webkit-border-radius: 0.5rem;
      -moz-border-radius: 0.5rem;
      color: #FFF3EF;
      background-color: #EB5F38;
      cursor: default; }
      .pagination .page-number.current a {
        color: #FFF3EF; }

.pairing-box {
  margin-bottom: 1.25rem; }
  .pairing-box div:first-child {
    padding-right: 0.5em; }
  .pairing-box .name {
    font-weight: 500;
    margin-bottom: 0; }
  .pairing-box .instrument {
    font-weight: 500;
    margin-top: 0.25rem;
    font-size: 0.8rem; }
  .pairing-box .link {
    white-space: nowrap; }
    .pairing-box .link a {
      color: #0F73B6;
      font-weight: 400; }
  @media only screen and (max-width: 1000px) {
    .pairing-box .link a {
      font-weight: 500; } }
.profile-block p.label {
  font-weight: 500;
  font-size: 1.1rem; }
  @media only screen and (max-width: 1000px) {
    .profile-block p.label {
      margin-bottom: 0.5em; } }
.profile-block p:not(.label) {
  font-size: 0.9rem; }

.profile-block p.label + p {
  margin-top: -0.5rem; }

.profile-block.additional-info {
  padding-bottom: 1rem; }

.profile-block.span-2-columns {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1 / 3; }
  @media only screen and (max-width: 1000px) {
    .profile-block.span-2-columns {
      -ms-grid-column: 1;
      grid-column: 1; } }
.profile-block .account-options i {
  font-size: 0.8rem;
  margin: 0; }

#student-profile .additional-info .the-info, #teacher-profile .additional-info .the-info {
  max-height: 300px;
  overflow-y: auto; }

#student-profile .additional-info .account-options, #teacher-profile .additional-info .account-options {
  margin-top: 1rem; }

#student-profile .additional-info .the-info {
  max-height: 200px; }

@media only screen and (max-width: 1300px) {
  .pairings-and-lessons {
    grid-row-gap: 0;
    grid-column-gap: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-direction: reverse;
    -webkit-box-orient: vertical;
    -moz-box-direction: reverse;
    -moz-box-orient: vertical;
    -webkit-flex-direction: column-reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse; }
    .pairings-and-lessons #lessons {
      margin-bottom: 3rem; } }

.box.student, .box.pairing {
  position: relative; }
  .box.student.has-pending-rate-card .notice .message, .box.pairing.has-pending-rate-card .notice .message {
    position: absolute;
    background-color: #EB5F38;
    color: #FFF3EF;
    font-size: 0.75rem;
    font-weight: 500;
    padding: 0.5rem;
    border-radius: 1em;
    -webkit-border-radius: 1em;
    -moz-border-radius: 1em;
    display: none;
    bottom: calc(100% - 1em);
    right: -1rem; }
    .box.student.has-pending-rate-card .notice .message:after, .box.pairing.has-pending-rate-card .notice .message:after {
      content: '';
      position: absolute;
      right: 2.5rem;
      top: 100%;
      width: 0;
      height: 0;
      border-left: 0.5rem solid transparent;
      border-right: 0.5rem solid transparent;
      border-top: 0.5rem solid #EB5F38;
      clear: both; }
    @media only screen and (max-width: 1000px) {
      .box.student.has-pending-rate-card .notice .message, .box.pairing.has-pending-rate-card .notice .message {
        display: block;
        right: 0; }
        .box.student.has-pending-rate-card .notice .message:after, .box.pairing.has-pending-rate-card .notice .message:after {
          right: 1.5rem; } }
  .box.student.has-pending-rate-card .notice:hover .message, .box.pairing.has-pending-rate-card .notice:hover .message {
    display: block; }
  .box.student.has-pending-rate-card i, .box.pairing.has-pending-rate-card i {
    margin-top: 0.2rem;
    color: #EB5F38;
    font-size: 1.2rem; }

.pairing-create-container {
  border-radius: 2em;
  -webkit-border-radius: 2em;
  -moz-border-radius: 2em;
  background-color: #f8f8f9;
  padding: 5vw 8vw; }
  .pairing-create-container .title-container {
    text-align: center;
    width: 75%;
    margin: auto;
    margin-bottom: 3.5rem; }
    .pairing-create-container .title-container h1 {
      margin-bottom: 0.5rem; }
    .pairing-create-container .title-container h2 {
      font-size: 1.5rem;
      margin-top: 1em; }
  .pairing-create-container .title-container + form {
    margin-top: -1rem; }
    .pairing-create-container .title-container + form button {
      margin-top: 1.5rem; }
  @media only screen and (max-width: 1300px) {
    .pairing-create-container {
      padding: 3rem 3rem; } }
  @media only screen and (max-width: 650px) {
    .pairing-create-container .title-container {
      width: 100%;
      margin-bottom: 3rem; }
      .pairing-create-container .title-container .search-container {
        width: 100%; } }
.pairing-create-container form {
  text-align: center; }
  .pairing-create-container form #id_intro_offer_applies {
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center; }

#instrument-list {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  margin-left: -.5rem;
  margin-right: -.5rem; }
  #instrument-list .box.instrument {
    padding: 1rem;
    margin: 0.5rem; }
    #instrument-list .box.instrument p.main {
      font-size: 1rem; }
    #instrument-list .box.instrument:hover {
      background-color: #579dcc;
      color: #FFF3EF; }

.box.unpaired, .box.inactive {
  background-color: #e9e9ea; }

.profile-toggles {
  width: 58%;
  margin-top: 3rem; }
  @media only screen and (max-width: 1000px) {
    .profile-toggles {
      width: 100%; } }
.profile-toggle {
  cursor: pointer;
  font-weight: 500; }

#teacher-profile, #student-profile {
  margin-top: 2rem; }

.admin-pairing-details {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: space-between;
  margin-bottom: 2rem; }
  .admin-pairing-details .instrument-unpair {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center; }
    .admin-pairing-details .instrument-unpair h2 {
      font-size: 1rem;
      font-weight: 500;
      color: #212429;
      display: inline;
      margin: 0 4rem 0 0; }
    .admin-pairing-details .instrument-unpair .offers-remaining-count {
      margin: 0 4rem 0 0;
      cursor: pointer; }
      .admin-pairing-details .instrument-unpair .offers-remaining-count a {
        color: #cccccc; }
      .admin-pairing-details .instrument-unpair .offers-remaining-count:hover a {
        color: #0F73B6; }
      .admin-pairing-details .instrument-unpair .offers-remaining-count.offer-applies a {
        color: #0F73B6; }
  @media only screen and (max-width: 1000px) {
    .admin-pairing-details {
      display: block; }
      .admin-pairing-details .instrument-unpair {
        margin-top: 2rem; }
        .admin-pairing-details .instrument-unpair h2 {
          margin-right: 2rem; } }
@media only screen and (max-width: 1300px) {
  .lessons-and-rate-cards {
    display: block; }
    .lessons-and-rate-cards .lessons-blocks {
      margin-bottom: 3rem; } }

#todays-date {
  text-transform: uppercase;
  font-weight: 500;
  color: #373a3e;
  position: absolute;
  top: 3rem;
  left: 6rem;
  margin: 0; }
  @media only screen and (max-width: 1000px) {
    #todays-date {
      right: calc(8.5vw + 6rem);
      text-align: right; } }
  #todays-date i {
    margin-left: 1em; }

@media only screen and (max-width: 1000px) {
  #logo-date-options-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: space-between;
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    -ms-align-items: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
    padding: 3rem 8.5vw;
    background-color: transparent; }
    #logo-date-options-wrapper #user-options-container {
      position: relative;
      right: auto;
      top: auto; }
      #logo-date-options-wrapper #user-options-container #initials {
        margin-right: 0; }
    #logo-date-options-wrapper #user-options-toggle i {
      display: none; }
    #logo-date-options-wrapper #todays-date {
      position: relative;
      right: auto;
      top: auto;
      left: auto;
      text-align: center; }
    #logo-date-options-wrapper #mobile-logo {
      width: 3.5rem; } }

@media only screen and (max-width: 650px) {
  #logo-date-options-wrapper {
    padding: 2rem 8.5vw; } }

#notifications {
  position: relative;
  margin-right: 2.5rem; }
  #notifications i.fa-bell {
    font-size: 1.8rem; }
  #notifications.has-content .count, #notifications.has-content i.fa-bell {
    cursor: pointer; }
  #notifications:not(.has-content) .count {
    display: none; }
  #notifications .count {
    position: absolute;
    top: 0;
    right: -0.625rem;
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    background-color: #EB5F38;
    color: #FFF3EF;
    font-weight: 600;
    font-size: 0.7rem;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center; }

#notifications .content {
  z-index: 1;
  position: absolute;
  top: calc(100% + 2rem);
  right: -5rem;
  background-color: #fffdfd;
  width: 30ch;
  font-size: 0.8rem;
  border-radius: 1em;
  -webkit-border-radius: 1em;
  -moz-border-radius: 1em;
  -webkit-filter: drop-shadow(0 0 15px #ccc);
  filter: drop-shadow(0 0 15px #ccc); }
  #notifications .content.visually-hidden {
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px 1px 1px 1px);
    /* IE6, IE7 */
    clip: rect(1px, 1px, 1px, 1px); }
  #notifications .content .with-arrow {
    position: relative;
    padding: 1em;
    max-height: 50vh; }
    #notifications .content .with-arrow .arrow {
      width: 1em;
      height: 1em;
      position: absolute;
      top: -1em;
      right: 5.9rem; }
      #notifications .content .with-arrow .arrow:after {
        content: "";
        position: absolute;
        width: 1em;
        height: 1em;
        background-color: #fffdfd;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        top: 0.5em;
        left: 0.5em; }
  #notifications .content .row {
    margin-bottom: 1em; }
    #notifications .content .row:last-child {
      margin-bottom: 0; }
  #notifications .content a {
    font-weight: normal; }
  #notifications .content i {
    margin-right: 1rem;
    font-size: 1em;
    color: #EB5F38; }

#user-options-container {
  position: absolute;
  right: 4rem;
  top: 3rem;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: space-between;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -ms-flex-align: center;
  align-items: center; }
  @media only screen and (max-width: 1000px) {
    #user-options-container {
      right: 8.5vw; } }
#mobile-logo {
  display: none;
  height: 3.5rem;
  z-index: 1; }
  #mobile-logo img {
    height: 100%; }
  @media only screen and (max-width: 1000px) {
    #mobile-logo {
      display: block; } }
#user-options-container.blue #user-options-toggle i {
  color: #0F73B6; }

#user-options-container.blue #user-options {
  border-color: #0F73B6; }

#user-options-toggle {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: space-between;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer; }
  #user-options-toggle i {
    color: #EB5F38; }

#initials {
  font-weight: bold;
  padding: 2rem;
  margin-right: 0.5rem; }
  #initials .content {
    font-size: 1rem; }
  @media only screen and (max-width: 650px) {
    #initials {
      padding: 1.75rem;
      font-size: 1rem; }
      #initials .content {
        padding: 0; } }
#user-options {
  position: absolute;
  padding: 0.75rem;
  border-radius: 0.9rem;
  -webkit-border-radius: 0.9rem;
  -moz-border-radius: 0.9rem;
  border: 2px solid #EB5F38;
  top: calc(100% + 2px);
  background-color: white;
  z-index: 1;
  right: -.75rem; }
  @media only screen and (max-width: 1000px) {
    #user-options {
      right: 0; } }
  #user-options a {
    font-weight: 400;
    font-size: 0.8rem; }
    #user-options a:hover {
      color: #0F73B6; }

input[type=submit]#toggle-lesson-mode {
  position: fixed;
  right: 0;
  bottom: 0;
  opacity: 0.9;
  padding: 0.5em 1.5em;
  background-color: #212429;
  color: #FFF3EF;
  font-weight: 500;
  font-size: 0.9rem;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -webkit-border-top-left-radius: 0.8rem;
  -moz-border-radius-topleft: 0.8rem;
  border-top-left-radius: 0.8rem;
  cursor: pointer;
  margin-top: 0;
  width: auto;
  text-transform: none;
  border: none; }
  @media only screen and (max-width: 1000px) {
    input[type=submit]#toggle-lesson-mode {
      bottom: 4rem; } }
  input[type=submit]#toggle-lesson-mode:hover {
    background-color: #7a7c7f; }

#rate-card-container.lesson-mode {
  display: none; }

.box.rate-card {
  border-radius: 15px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  margin-bottom: 2rem; }
  .box.rate-card h3 {
    color: #EB5F38; }
  .box.rate-card .label {
    font-size: 0.7rem;
    color: #EB5F38; }
  .box.rate-card .amount {
    font-weight: bold; }
  .box.rate-card .duration {
    font-size: 0.9rem; }
  .box.rate-card .form-container .grid {
    grid-row-gap: 1rem; }
  .box.rate-card .form-container input {
    border-color: #6fabd3;
    padding: 0.4rem;
    border-width: 1px;
    background-color: white;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px; }
  .box.rate-card .form-container .duration label {
    display: inline-block;
    font-size: 0.75rem;
    margin-top: 1rem; }
  .box.rate-card .form-container .duration input[type="checkbox"] {
    display: inline; }
  .box.rate-card .grid {
    grid-column-gap: 1rem; }
    .box.rate-card .grid.two-across {
      -ms-grid-columns: 1fr 1rem 1fr; }
    .box.rate-card .grid.three-across {
      -ms-grid-columns: 1fr 1rem 1fr 1rem 1fr; }
    .box.rate-card .grid.four-across {
      -ms-grid-columns: 1fr 1rem 1fr 1rem 1fr 1rem 1fr; }
    .box.rate-card .grid._58-free {
      -ms-grid-columns: 58% 1rem 1fr; }
    .box.rate-card .grid._free-58 {
      -ms-grid-columns: 1fr 1rem 58%; }

.box.rate-card input {
  padding: 0.5rem; }

.rate-card-contents {
  margin-top: 2rem; }

.rate-card {
  position: relative; }
  .rate-card .close-rate-card-update-form, .rate-card .close-rate-card-add-form {
    position: absolute;
    top: -0.6rem;
    right: -0.6rem;
    width: 1.5rem;
    height: 1.5rem;
    font-size: 1rem;
    border: 2px solid #EB5F38;
    background-color: #ef7f60;
    color: #FFF3EF;
    cursor: pointer;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -ms-flex-pack: center;
    letter-spacing: -0.5px;
    line-height: inherit !important; }

.open-rate-card-form {
  margin-bottom: 1.5rem; }

::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: #4d5054; }

::-moz-placeholder {
  /* Firefox 19+ */
  color: #4d5054; }

:-ms-input-placeholder {
  /* IE 10+ */
  color: #4d5054; }

:-moz-placeholder {
  /* Firefox 18- */
  color: #4d5054; }

form {
  margin: 0; }

input, textarea, select {
  border-radius: 0.9rem;
  -webkit-border-radius: 0.9rem;
  -moz-border-radius: 0.9rem;
  width: 100%;
  display: block;
  outline: none; }
  input:focus-within, textarea:focus-within, select:focus-within {
    background-color: white; }

textarea {
  overflow-y: scroll;
  resize: vertical; }

select {
  -webkit-appearance: none; }
  select:not([multiple]) {
    background-image: url("../images/drop_down_arrow.svg");
    background-size: 0.5em;
    background-position: calc(100% - 0.5em) center;
    background-repeat: no-repeat; }

input[type=checkbox] {
  width: auto; }

.checkbox-container {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-justify-content: flex-end;
  -moz-justify-content: flex-end;
  -ms-justify-content: flex-end;
  justify-content: flex-end;
  -ms-flex-pack: flex-end; }
  .checkbox-container label {
    font-weight: normal;
    font-size: 0.8rem; }

.ui-timepicker-container {
  border-radius: 0.9rem;
  -webkit-border-radius: 0.9rem;
  -moz-border-radius: 0.9rem; }

.ui-timepicker-standard {
  font-size: 0.85rem !important; }

.input-and-label {
  position: relative; }
  .input-and-label label.hidden {
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px 1px 1px 1px);
    /* IE6, IE7 */
    clip: rect(1px, 1px, 1px, 1px); }
  .input-and-label label {
    position: absolute;
    top: 0;
    left: 0;
    padding: 0.75rem;
    font-size: 0.8rem;
    pointer-events: none;
    font-weight: normal;
    text-align: left;
    color: rgba(33, 36, 41, 0.7); }

form.confirm-view .input-and-label input:disabled, form.confirm-view .input-and-label textarea:disabled {
  border: none;
  background-color: #f6f6f6;
  color: #212429;
  cursor: default; }

form.confirm-view .input-and-label label {
  cursor: default !important; }

form.confirm-view .messages {
  display: none; }

form.confirm-view #id_instruments label {
  cursor: default !important; }

form.confirm-view .field-wrapper.errors:after {
  display: none; }

label {
  font-weight: 600; }

label.above-field {
  padding-bottom: 1em;
  display: block; }

input.full-height {
  height: 100%; }

.form-section {
  padding-top: 2rem; }
  .form-section.with-separator {
    border-bottom: 1px solid rgba(33, 36, 41, 0.2);
    padding-bottom: 2rem; }
  .form-section:last-child {
    padding-bottom: 0; }
    .form-section:last-child.padding-bottom {
      padding-bottom: 2rem; }
  .form-section:first-child {
    padding-top: 0; }
  .form-section h2 {
    color: #212429;
    font-size: 1rem;
    font-family: 'Work Sans', sans-serif; }

.form-row {
  margin-bottom: 0.9rem; }
  .form-row .field-wrapper {
    margin-bottom: 0; }
  .form-row.multiple {
    display: -ms-grid;
    display: grid;
    grid-column-gap: 0.9rem;
    grid-row-gap: 0.9rem; }
  .form-row:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0; }
  .form-row.date-time-location-rate {
    -ms-grid-columns: 1fr 0.9rem 2fr 0.9rem 1fr 0.9rem 1fr;
    grid-template-columns: 1fr 2fr 1fr 1fr; }
  .form-row.fifty-fifty {
    -ms-grid-columns: 1fr 0.9rem 1fr;
    grid-template-columns: 1fr 1fr; }
  .form-row.two-thirds-one-third {
    -ms-grid-columns: 2fr 0.9rem 1fr;
    grid-template-columns: 2fr 1fr; }
  .form-row.external-link {
    -ms-grid-columns: .75fr 0.9rem 1fr 0.9rem 7.5ch;
    grid-template-columns: .75fr 1fr 7.5ch; }
  .form-row.thirds {
    -ms-grid-columns: 1fr 0.9rem 1fr 0.9rem 1fr;
    grid-template-columns: 1fr 1fr 1fr; }
  .form-row.thirds-for-58_free {
    -ms-grid-columns: calc((58% - 0.9rem) / 2) 0.9rem calc((58% - 0.9rem) / 2) 0.9rem 1fr;
    grid-template-columns: calc((58% - 0.9rem) / 2) calc((58% - 0.9rem) / 2) 1fr; }
    @media only screen and (max-width: 1000px) {
      .form-row.thirds-for-58_free {
        margin-bottom: 2rem; } }
  .form-row.teacher-details {
    -ms-grid-columns: 20% 0.9rem 20% 0.9rem calc(18% - 1.8rem) 0.9rem 1fr;
    grid-template-columns: 20% 20% calc(18% - 1.8rem) 1fr; }
    @media only screen and (max-width: 1000px) {
      .form-row.teacher-details {
        margin-bottom: 2rem; } }
  .form-row.text-plus-submit {
    -ms-grid-columns: 1fr 0.9rem 10ch;
    grid-template-columns: 1fr 10ch; }
    .form-row.text-plus-submit input[type=submit] {
      height: 100%;
      width: 100%;
      margin: 0; }
  @media only screen and (max-width: 1000px) {
    .form-row {
      -ms-grid-columns: 1fr !important;
      grid-template-columns: 1fr !important; } }
li.ui-timepicker-selected, .ui-timepicker-list li:hover, .ui-timepicker-list .ui-timepicker-selected:hover {
  background: #0F73B6 !important; }

.field-wrapper {
  margin-bottom: 1.5rem;
  position: relative; }
  .field-wrapper .errors {
    display: none;
    position: absolute;
    top: 100%;
    background-color: #EB5F38;
    color: #FFF3EF;
    border-radius: 0.75rem;
    -webkit-border-radius: 0.75rem;
    -moz-border-radius: 0.75rem;
    z-index: 100;
    font-size: 0.8em;
    font-weight: 500; }
    .field-wrapper .errors ul, .field-wrapper .errors li {
      margin: 0; }
  @media only screen and (max-width: 1000px) {
    .field-wrapper.errors .errors {
      display: block;
      position: relative;
      top: auto;
      left: 0;
      z-index: 1; } }
  .field-wrapper.errors label {
    z-index: 1; }
  .field-wrapper.errors:after {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f06a";
    color: #EB5F38; }
    @media only screen and (max-width: 1000px) {
      .field-wrapper.errors:after {
        bottom: 0.8rem;
        top: auto; } }
  .field-wrapper.errors input, .field-wrapper.errors select, .field-wrapper.errors textarea {
    position: relative;
    border: 2px solid #EB5F38; }
  .field-wrapper:last-child {
    margin-bottom: 0; }
  .field-wrapper.checkbox input {
    display: inline-block;
    width: auto; }
  .field-wrapper.checkbox label {
    display: inline-block; }

.generic-formpage .field-wrapper {
  margin-bottom: 3rem; }

input, textarea, select {
  font-size: 0.9rem;
  font-family: 'Work Sans', sans-serif;
  padding: 0.75em;
  background-color: #f6f6f6;
  border: 1px solid rgba(235, 95, 56, 0.5); }
  input:focus, textarea:focus, select:focus {
    border-color: #EB5F38; }

.quick-button {
  border-radius: 0.9rem;
  -webkit-border-radius: 0.9rem;
  -moz-border-radius: 0.9rem;
  padding: 0.7em;
  cursor: pointer;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease; }
  .quick-button.blue {
    background-color: #0F73B6;
    color: #FFF3EF; }
  .quick-button.orange {
    background-color: #EB5F38;
    color: #FFF3EF; }

.lesson-calendar-feed input {
  margin-right: 0.5em; }

.lesson-calendar-feed .quick-button {
  margin-right: 0.5em; }
  .lesson-calendar-feed .quick-button:last-child {
    margin-right: 0; }

select[multiple]:focus option:checked {
  background: #f4aa95 -webkit-gradient(linear, left bottom, left top, from(#f4aa95), to(#f4aa95));
  background: #f4aa95 -o-linear-gradient(bottom, #f4aa95 0%, #f4aa95 100%);
  background: #f4aa95 linear-gradient(0deg, #f4aa95 0%, #f4aa95 100%); }

#id_instruments, #id_locations, #id_days_of_week, #id_day_of_week, #id_students {
  font-size: 0.9rem;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  /* The switch - the box around the slider */
  /* Hide default HTML checkbox */
  /* The slider */ }
  #id_instruments input + label, #id_locations input + label, #id_days_of_week input + label, #id_day_of_week input + label, #id_students input + label {
    padding: 0.75em 1em;
    margin-right: 1rem;
    background-color: #f6f6f6;
    margin-bottom: 1rem;
    cursor: pointer;
    display: block;
    font-weight: 500;
    border-radius: 0.5rem !important;
    -webkit-border-radius: 0.5rem !important;
    -moz-border-radius: 0.5rem !important; }
  #id_instruments input:not(:checked):not(:disabled) + label:hover, #id_locations input:not(:checked):not(:disabled) + label:hover, #id_days_of_week input:not(:checked):not(:disabled) + label:hover, #id_day_of_week input:not(:checked):not(:disabled) + label:hover, #id_students input:not(:checked):not(:disabled) + label:hover {
    background-color: #f39f88; }
  #id_instruments input + label:active,
  #id_instruments input:checked + label, #id_locations input + label:active,
  #id_locations input:checked + label, #id_days_of_week input + label:active,
  #id_days_of_week input:checked + label, #id_day_of_week input + label:active,
  #id_day_of_week input:checked + label, #id_students input + label:active,
  #id_students input:checked + label {
    background: #EB5F38;
    color: #FFF3EF; }
  #id_instruments input, #id_locations input, #id_days_of_week input, #id_day_of_week input, #id_students input {
    display: none; }
  @media only screen and (max-width: 650px) {
    #id_instruments, #id_locations, #id_days_of_week, #id_day_of_week, #id_students {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 1fr 0.75rem 1fr 0.75rem 1fr;
      grid-template-columns: 1fr 1fr 1fr;
      grid-column-gap: 0.75rem;
      grid-row-gap: 0.75rem; }
      #id_instruments input + label, #id_locations input + label, #id_days_of_week input + label, #id_day_of_week input + label, #id_students input + label {
        margin-right: 0;
        margin-bottom: 0;
        text-align: center; } }
  @media only screen and (max-width: 400px) {
    #id_instruments input + label, #id_locations input + label, #id_days_of_week input + label, #id_day_of_week input + label, #id_students input + label {
      font-size: 3.25vw; } }
  #id_instruments .toggle-button, #id_locations .toggle-button, #id_days_of_week .toggle-button, #id_day_of_week .toggle-button, #id_students .toggle-button {
    position: relative;
    display: inline-block;
    width: 2.75rem;
    height: 1.25rem; }
  #id_instruments .toggle-button input, #id_locations .toggle-button input, #id_days_of_week .toggle-button input, #id_day_of_week .toggle-button input, #id_students .toggle-button input {
    opacity: 0;
    width: 0;
    height: 0; }
  #id_instruments .slider, #id_locations .slider, #id_days_of_week .slider, #id_day_of_week .slider, #id_students .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #0F73B6;
    -webkit-transition: .4s;
    transition: .4s; }
  #id_instruments .slider:before, #id_locations .slider:before, #id_days_of_week .slider:before, #id_day_of_week .slider:before, #id_students .slider:before {
    position: absolute;
    content: "";
    height: 1rem;
    width: 1rem;
    left: 0.125rem;
    bottom: 0.125rem;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s; }
  #id_instruments input:focus + .slider, #id_locations input:focus + .slider, #id_days_of_week input:focus + .slider, #id_day_of_week input:focus + .slider, #id_students input:focus + .slider {
    box-shadow: 0 0 1px #0F73B6; }
  #id_instruments input:checked + .slider:before, #id_locations input:checked + .slider:before, #id_days_of_week input:checked + .slider:before, #id_day_of_week input:checked + .slider:before, #id_students input:checked + .slider:before {
    -webkit-transform: translateX(1.5rem);
    -ms-transform: translateX(1.5rem);
    transform: translateX(1.5rem); }

.select-all {
  padding: 0.75em 1em;
  background-color: #b7d5e9;
  cursor: pointer;
  display: block;
  font-weight: 500;
  border-radius: 0.5rem !important;
  -webkit-border-radius: 0.5rem !important;
  -moz-border-radius: 0.5rem !important;
  text-align: center;
  margin-right: 0;
  margin-bottom: 1em;
  text-align: center; }
  .select-all:hover {
    background-color: #6fabd3; }
  @media only screen and (max-width: 400px) {
    .select-all {
      font-size: 3.25vw; } }
input[type=submit], a.button {
  border-radius: 0.8rem;
  -webkit-border-radius: 0.8rem;
  -moz-border-radius: 0.8rem;
  outline: none;
  background-color: #EB5F38;
  color: #FFF3EF;
  text-transform: uppercase;
  font-weight: 600;
  cursor: pointer;
  width: auto;
  font-size: 0.9rem;
  -webkit-appearance: none; }
  input[type=submit].blue, a.button.blue {
    background-color: #0F73B6;
    border-color: #0F73B6; }
  input[type=submit].outlined, a.button.outlined {
    border: 2px solid #EB5F38;
    background-color: transparent;
    color: #EB5F38; }

input[type=submit] {
  margin-top: 2rem; }

input[type=submit].logout-link {
  text-transform: none;
  font-weight: normal;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  background-color: transparent;
  padding: 0;
  margin: 0;
  color: #212429;
  border: 0;
  font-size: 0.8rem;
  letter-spacing: 0.05em; }
  input[type=submit].logout-link:hover {
    color: #0F73B6; }

input[type=subumit].button {
  width: 12ch; }

form button {
  margin-top: 2rem;
  width: 20ch; }

.go-back-and-edit {
  width: 20ch;
  text-align: center;
  display: block;
  cursor: pointer;
  text-transform: uppercase;
  font-size: 0.9rem;
  font-weight: normal; }

input[type=submit].small, a.button.small {
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  padding: 0.25rem 0.5rem;
  font-weight: 500;
  text-transform: none;
  font-size: 0.8rem; }

input[type=radio] {
  width: auto; }

.submit-and-back {
  text-align: center;
  width: 20ch; }
  .submit-and-back input[type=submit] {
    width: 20ch; }
  .submit-and-back a.back {
    margin-top: 1rem;
    display: block;
    cursor: pointer;
    text-transform: uppercase;
    font-size: 0.9rem;
    font-weight: normal;
    width: 20ch; }
  @media only screen and (max-width: 1000px) {
    .submit-and-back {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-direction: normal;
      -webkit-box-orient: vertical;
      -moz-box-direction: normal;
      -moz-box-orient: vertical;
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-align-items: flex-end;
      -moz-align-items: flex-end;
      -ms-align-items: flex-end;
      -ms-flex-align: flex-end;
      align-items: flex-end;
      width: auto; } }
.account-section .submit-and-back {
  width: auto; }
  .account-section .submit-and-back input[type=submit] {
    width: 12ch; }
  .account-section .submit-and-back a.back {
    width: 15ch;
    font-size: 0.75em; }
    .account-section .submit-and-back a.back:hover {
      text-decoration: underline; }

form ul {
  list-style: none;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex; }
  form ul label {
    font-weight: normal; }
  form ul li {
    margin-right: 1em; }
    form ul li input {
      display: inline; }

form .ck-editor ul {
  list-style: initial;
  display: block; }

.field-wrapper div.radio-select {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  margin: 1em 0; }
  .field-wrapper div.radio-select label {
    font-weight: normal; }
  .field-wrapper div.radio-select div {
    margin: 0;
    margin-right: 1em; }
    .field-wrapper div.radio-select div input {
      display: inline; }

.auth form ul {
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center; }

.auth .field-wrapper div.radio-select {
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center; }

.auth h1 + p {
  margin-top: 1em; }

p.forgot-password-link-container {
  margin-top: 2em; }
  p.forgot-password-link-container a {
    color: rgba(33, 36, 41, 0.7);
    font-weight: normal; }

form.auth input, form.auth textarea {
  background-color: white;
  border-color: #0F73B6;
  border-width: 2px; }
  form.auth input:focus, form.auth textarea:focus {
    background-color: #cfe3f0; }

form.auth input[type=submit] {
  background-color: #0F73B6;
  color: #FFF3EF;
  text-transform: uppercase;
  display: inline-block;
  border-color: #0F73B6; }
  form.auth input[type=submit]:focus {
    border-color: #EB5F38; }

form.auth .form-row:first-child {
  margin-top: 2rem; }

#card-element {
  border-radius: 0.9rem;
  -webkit-border-radius: 0.9rem;
  -moz-border-radius: 0.9rem;
  border: 2px solid #FFF3EF;
  padding: 0.75em;
  background-color: #FFF3EF; }

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  background-color: #b7d5e9 !important;
  color: #212429 !important;
  -webkit-box-shadow: 0 0 0 1000px #b7d5e9 inset !important;
  -webkit-text-fill-color: #212429 !important; }

form.blue input, form.blue textarea, form.blue select {
  border: 1px solid rgba(15, 115, 182, 0.5); }
  form.blue input:focus, form.blue textarea:focus, form.blue select:focus {
    border-color: #0F73B6; }
  form.blue input[type=submit], form.blue textarea[type=submit], form.blue select[type=submit] {
    background-color: #0F73B6; }
  form.blue input:focus, form.blue textarea:focus, form.blue select:focus {
    border-color: #0f73b6; }

form.blue button {
  background-color: #0F73B6; }

form.blue #id_instruments input:not(:checked):not(:disabled) + label:hover {
  background-color: #6fabd3; }

form.blue #id_instruments input + label:active,
form.blue #id_instruments input:checked + label {
  background: #0F73B6; }

/* The switch - the box around the slider */
.switch {
  position: relative;
  display: inline-block;
  width: 2.75rem;
  height: 1.25rem; }

/* Hide default HTML checkbox */
.switch input {
  opacity: 0;
  width: 0;
  height: 0; }

.switch input:disabled + .slider {
  opacity: 0.3;
  cursor: default; }

/* The slider */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #0F73B6;
  -webkit-transition: .4s;
  transition: .4s; }

.slider:before {
  position: absolute;
  content: "";
  height: 1rem;
  width: 1rem;
  left: 0.125rem;
  bottom: 0.125rem;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s; }

input:focus + .slider {
  box-shadow: 0 0 1px #0F73B6; }

input:checked + .slider:before {
  -webkit-transform: translateX(1.5rem);
  -ms-transform: translateX(1.5rem);
  transform: translateX(1.5rem); }

/* Rounded sliders */
.slider.round {
  border-radius: 0.9rem;
  -webkit-border-radius: 0.9rem;
  -moz-border-radius: 0.9rem; }

.slider.round:before {
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%; }

.toggle-with-options-each-side {
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center; }
  .toggle-with-options-each-side .switch {
    margin-left: 1rem;
    margin-right: 1rem; }
  .toggle-with-options-each-side .option {
    font-size: 0.9rem; }

@-webkit-keyframes blinker {
  from {
    opacity: 1.0; }
  to {
    opacity: 0.0; } }

@keyframes blinker {
  from {
    opacity: 1.0; }
  to {
    opacity: 0.0; } }

.blink {
  text-decoration: blink;
  -webkit-animation-name: blinker;
  animation-name: blinker;
  -webkit-animation-duration: 0.6s;
  animation-duration: 0.6s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-direction: alternate;
  animation-direction: alternate; }

.pop-up-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 1000;
  background: rgba(255, 255, 255, 0.7);
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -ms-flex-pack: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: none; }
  .pop-up-container .contents {
    margin-left: 18.18vw;
    width: 50%;
    border-radius: 1rem;
    -webkit-border-radius: 1rem;
    -moz-border-radius: 1rem;
    background-color: #0F73B6;
    color: #FFF3EF;
    padding: 4rem 8rem;
    text-align: center;
    webkit-box-shadow: rgba(33, 36, 41, 0.2) 0px 0 15px;
    -moz-box-shadow: rgba(33, 36, 41, 0.2) 0 0 15px;
    box-shadow: rgba(33, 36, 41, 0.2) 0 0 15px;
    position: relative;
    max-height: 90vh;
    overflow-y: auto; }
    @media only screen and (max-width: 1150px) {
      .pop-up-container .contents {
        padding: 4rem 6rem; } }
    @media only screen and (max-width: 1000px) {
      .pop-up-container .contents {
        margin-left: 0;
        width: 85vw;
        padding: 2rem; } }
    .pop-up-container .contents .info {
      width: 100%; }
    .pop-up-container .contents.grey {
      background-color: #212429; }
      .pop-up-container .contents.grey a {
        color: #FFF3EF; }
    .pop-up-container .contents.white {
      background-color: white;
      color: #212429; }
      .pop-up-container .contents.white a {
        color: #212429; }
    .pop-up-container .contents input[type=submit], .pop-up-container .contents a.button {
      background-color: #FFF3EF;
      width: auto;
      display: inline-block;
      padding: 1rem;
      color: #0F73B6;
      border: 2px solid #FFF3EF;
      margin-top: 0; }
      @media only screen and (max-width: 1300px) {
        .pop-up-container .contents input[type=submit], .pop-up-container .contents a.button {
          padding: 0.75rem; } }
    .pop-up-container .contents a.button.cancel {
      background-color: #87b9db;
      color: #FFF3EF; }
  .pop-up-container h1, .pop-up-container h2, .pop-up-container h3, .pop-up-container h4, .pop-up-container h5 {
    color: #FFF3EF;
    font-family: 'Work Sans', sans-serif; }
  .pop-up-container.showing {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex; }

.pop-up-container h1 + p {
  margin-top: 1em; }

.pop-up-container .close {
  cursor: pointer;
  position: absolute;
  top: 1rem;
  right: 1rem;
  font-size: 1.75rem;
  color: #EB5F38; }

.pop-up-container .contents.grey input[type=submit], .pop-up-container .contents.grey a.button {
  background-color: #FFF3EF;
  color: #212429;
  border-color: #FFF3EF; }

.pop-up-container .contents.grey a.button.cancel {
  background-color: #909294;
  border: 2px solid #FFF3EF;
  color: #FFF3EF; }

.pop-up-container h1 {
  font-weight: 400;
  font-size: 1.75rem; }

.pop-up-container h2 {
  font-weight: normal;
  font-size: 1.1rem; }

.pop-up-container .form-row {
  margin-bottom: 2rem; }

.pop-up-container .form-row form {
  display: inline-block; }

.show-access-info {
  padding-left: 1rem;
  cursor: pointer; }
  .show-access-info:hover {
    color: #EB5F38; }

.todays-lessons .grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 12ch 1rem 1fr 1rem 1fr;
  grid-template-columns: 12ch 1fr 1fr;
  grid-column-gap: 1rem; }

.todays-lessons span.time {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-weight: 600; }

.todays-lessons span.name {
  font-weight: 600;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  text-align: right; }

.todays-lessons span.topics a {
  font-weight: normal; }
  .todays-lessons span.topics a:hover {
    font-weight: 600; }

@media only screen and (max-width: 1000px) {
  .todays-lessons .lesson {
    font-size: 0.8rem; } }

.dashboard-balance {
  margin-bottom: 2rem; }
  .dashboard-balance span {
    display: inline; }
  .dashboard-balance.lesson-mode {
    display: none; }

span.balance {
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 2.5; }

@media only screen and (max-width: 1300px) {
  .dashboard-boxes {
    display: block; }
    .dashboard-boxes .todays-lessons {
      margin-bottom: 1rem; } }

.students-in-account, .todays-lessons, .pending-rate-cards {
  max-height: 200px;
  overflow-y: auto;
  font-size: 0.9rem; }
  .students-in-account h2, .todays-lessons h2, .pending-rate-cards h2 {
    font-weight: 500;
    font-family: 'Work Sans', sans-serif;
    font-size: 1rem; }
  .students-in-account a:hover, .todays-lessons a:hover, .pending-rate-cards a:hover {
    text-decoration: underline; }
  .students-in-account .row, .todays-lessons .row, .pending-rate-cards .row {
    margin-bottom: 1.5rem; }
    .students-in-account .row:first-child, .todays-lessons .row:first-child, .pending-rate-cards .row:first-child {
      margin-top: 1.5rem; }
    .students-in-account .row:last-child, .todays-lessons .row:last-child, .pending-rate-cards .row:last-child {
      margin-bottom: 0; }

.pending-rate-cards h2 {
  font-weight: 600; }

.pending-rate-cards span {
  display: inline; }

.admin-intro {
  padding-bottom: 2rem; }

.dashboard-options .box.square .content {
  font-weight: 500;
  font-size: 1.2rem; }

@media only screen and (max-width: 1000px) {
  .dashboard-options {
    width: 100vw;
    margin-left: -8.5vw; }
    .dashboard-options .slick-list {
      padding: 0 40% 0 0; }
    .dashboard-options .slick-slide {
      height: auto;
      margin-left: 8.5vw; } }

.students-on-account {
  padding-top: 6rem; }
  .students-on-account h2 {
    font-size: 1.8rem; }
  .students-on-account h2 + .account-section, .students-on-account .title-and-button + .account-section {
    padding-top: 1rem; }

.account-section {
  border-bottom: 1px solid rgba(33, 36, 41, 0.2);
  padding-bottom: 2rem;
  padding-top: 2rem;
  width: 100%;
  -webkit-align-items: flex-end;
  -moz-align-items: flex-end;
  -ms-align-items: flex-end;
  -ms-flex-align: flex-end;
  align-items: flex-end; }
  @media only screen and (max-width: 1000px) {
    .account-section:first-child {
      padding-top: 0; } }
  .account-section .flex-container:not(.for-pronouns) {
    margin-bottom: 2rem; }
  .account-section .grid {
    grid-column-gap: 4rem;
    grid-row-gap: 4rem;
    -ms-grid-columns: 1fr 4rem 1fr; }
    @media only screen and (max-width: 1300px) {
      .account-section .grid._58-free {
        display: block; }
        .account-section .grid._58-free textarea {
          margin-top: .9rem; } }
    @media only screen and (max-width: 1000px) {
      .account-section .grid {
        grid-column-gap: 0;
        grid-row-gap: 1.5rem; } }
  .account-section .details {
    width: 70%; }
    @media only screen and (max-width: 1000px) {
      .account-section .details {
        width: 100%;
        margin-bottom: 2rem; } }
  @media only screen and (max-width: 1000px) {
    .account-section .edit {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: flex-end;
      -moz-justify-content: flex-end;
      -ms-justify-content: flex-end;
      justify-content: flex-end;
      -ms-flex-pack: flex-end; } }
  .account-section form {
    width: 100%; }
  .account-section .form-container {
    width: 80%; }
    @media only screen and (max-width: 1000px) {
      .account-section .form-container {
        width: 100%; } }
  .account-section h2 {
    font-size: 0.8rem;
    font-weight: 700;
    color: #212429;
    font-family: 'Work Sans', sans-serif;
    margin-bottom: 1rem; }

p.same-as-billing {
  font-weight: normal; }

.account-block:last-child {
  margin-right: 0; }

.account-block.access-info {
  font-weight: normal;
  font-size: 0.9rem; }

.account-block.span-2 {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1 / 3; }

@media only screen and (max-width: 1000px) {
  .account-block {
    -ms-grid-column: 1 !important;
    grid-column: 1 !important; }
    .account-block h2 + p {
      margin-top: -.75rem; } }

.account-options a, .account-options button, .account-options form {
  margin-right: 3rem;
  font-weight: 500;
  font-size: 0.85rem; }
  @media only screen and (max-width: 1100px) {
    .account-options a, .account-options button, .account-options form {
      margin-right: 1rem; } }
  .account-options a i, .account-options button i, .account-options form i {
    color: #EB5F38;
    font-size: 1.2rem;
    margin-right: .25rem; }
  .account-options a:last-child, .account-options button:last-child, .account-options form:last-child {
    margin-right: 0; }

.account-options button {
  background-color: transparent;
  color: #212429;
  text-transform: none;
  letter-spacing: 0.75px;
  width: auto;
  padding: 0;
  margin-top: 0; }

.account-options form {
  display: inline; }
  .account-options form:last-child a, .account-options form:last-child button, .account-options form:last-child form {
    margin: 0 !important; }

@media only screen and (max-width: 1000px) {
  h1 + .account-options {
    margin-bottom: 2rem; }
  .user-details h1 {
    margin-bottom: 0.5em; } }

@media only screen and (max-width: 1000px) {
  .flex-container .account-options {
    margin-top: 1rem; }
    .flex-container .account-options a, .flex-container .account-options form {
      display: inline-block;
      margin-top: 1rem;
      margin-right: 1rem; }
    .flex-container .account-options button {
      margin-right: 0 !important; } }

.search-and-options {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -ms-flex-align: center;
  align-items: center; }
  @media only screen and (max-width: 1250px) {
    .search-and-options {
      -webkit-box-direction: normal;
      -webkit-box-orient: vertical;
      -moz-box-direction: normal;
      -moz-box-orient: vertical;
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-align-items: flex-end;
      -moz-align-items: flex-end;
      -ms-align-items: flex-end;
      -ms-flex-align: flex-end;
      align-items: flex-end; }
      .search-and-options .options {
        margin-bottom: 1rem;
        margin-right: 0; } }
  @media only screen and (max-width: 1000px) {
    .search-and-options .options {
      margin-bottom: 0; } }
  .search-and-options a, .search-and-options div {
    margin-right: 3rem;
    font-weight: 600;
    font-size: 0.9rem; }
    @media only screen and (max-width: 1250px) {
      .search-and-options a, .search-and-options div {
        margin-right: 1rem; } }
    .search-and-options a:last-child, .search-and-options div:last-child {
      margin-right: 0; }

.search-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative; }
  .search-container input {
    display: inline;
    border: 2px solid #0F73B6;
    width: 30ch;
    max-width: 100%;
    padding: 0.5rem; }
  .search-container i {
    color: #0F73B6;
    line-height: 1;
    font-size: 0.9rem;
    position: absolute;
    top: 0.75rem;
    right: 0.75rem; }
  @media only screen and (max-width: 1000px) {
    .search-container {
      display: inline-block;
      margin-bottom: 1.5rem; } }
  @media only screen and (max-width: 300px) {
    .search-container {
      width: 100%; }
      .search-container input {
        width: 100%; } }
@media only screen and (max-width: 1000px) {
  .title-container h1 + .search-container {
    margin-bottom: 0; } }

@media only screen and (max-width: 1000px) {
  h1 + .search-container {
    margin-top: 1rem; } }

@media only screen and (max-width: 1000px) {
  .flex-container .search-container {
    margin-bottom: 0; } }

#card-form .field-wrapper:nth-child(2) {
  margin-bottom: 0; }

#status {
  margin-top: 1rem; }

h1 + .flex-container {
  margin-top: -1rem; }
  h1 + .flex-container h2 {
    margin-bottom: 0; }

section.terms-and-conditions, #terms-and-conditions-pop-up .terms-and-conditions,
#privacy-policy-pop-up .privacy-policy {
  text-align: left !important; }
  section.terms-and-conditions h1, #terms-and-conditions-pop-up .terms-and-conditions h1,
  #privacy-policy-pop-up .privacy-policy h1 {
    color: #212429;
    text-align: center;
    text-transform: uppercase !important;
    font-weight: bold !important; }
  section.terms-and-conditions h2, #terms-and-conditions-pop-up .terms-and-conditions h2,
  #privacy-policy-pop-up .privacy-policy h2 {
    margin-top: 2em;
    font-size: 1.6rem;
    font-weight: 600 !important; }
  section.terms-and-conditions .intro, #terms-and-conditions-pop-up .terms-and-conditions .intro,
  #privacy-policy-pop-up .privacy-policy .intro {
    text-align: center;
    width: 75%;
    margin: 0 auto; }
    section.terms-and-conditions .intro p, #terms-and-conditions-pop-up .terms-and-conditions .intro p,
    #privacy-policy-pop-up .privacy-policy .intro p {
      font-weight: 600; }
    @media only screen and (max-width: 1000px) {
      section.terms-and-conditions .intro, #terms-and-conditions-pop-up .terms-and-conditions .intro,
      #privacy-policy-pop-up .privacy-policy .intro {
        width: 100%; } }
  section.terms-and-conditions h2, section.terms-and-conditions h3, section.terms-and-conditions h4, section.terms-and-conditions h5, #terms-and-conditions-pop-up .terms-and-conditions h2, #terms-and-conditions-pop-up .terms-and-conditions h3, #terms-and-conditions-pop-up .terms-and-conditions h4, #terms-and-conditions-pop-up .terms-and-conditions h5,
  #privacy-policy-pop-up .privacy-policy h2,
  #privacy-policy-pop-up .privacy-policy h3,
  #privacy-policy-pop-up .privacy-policy h4,
  #privacy-policy-pop-up .privacy-policy h5 {
    color: #0F73B6; }
  section.terms-and-conditions a, #terms-and-conditions-pop-up .terms-and-conditions a,
  #privacy-policy-pop-up .privacy-policy a {
    text-decoration: none; }

.terms {
  width: 90%; }
  @media only screen and (max-width: 1000px) {
    .terms {
      width: 100%; } }
.block-label {
  margin-bottom: 1rem; }

#terms-and-conditions-pop-up, #privacy-policy-pop-up {
  background: rgba(247, 247, 247, 0.7); }
  #terms-and-conditions-pop-up h1, #privacy-policy-pop-up h1 {
    font-weight: bold;
    font-size: 2.25rem; }
  #terms-and-conditions-pop-up .intro, #privacy-policy-pop-up .intro {
    text-align: center;
    width: 75%;
    margin: 0 auto; }
    @media only screen and (max-width: 1000px) {
      #terms-and-conditions-pop-up .intro, #privacy-policy-pop-up .intro {
        width: 100%; } }
    #terms-and-conditions-pop-up .intro p, #privacy-policy-pop-up .intro p {
      font-weight: 600; }
  #terms-and-conditions-pop-up ul li, #privacy-policy-pop-up ul li {
    margin-bottom: 0.5em; }
    #terms-and-conditions-pop-up ul li:last-child, #privacy-policy-pop-up ul li:last-child {
      margin-bottom: 0; }
  #terms-and-conditions-pop-up .contents, #privacy-policy-pop-up .contents {
    margin-left: 0;
    height: 80vh;
    width: 80vw;
    overflow-y: scroll; }
    @media only screen and (max-width: 1000px) {
      #terms-and-conditions-pop-up .contents, #privacy-policy-pop-up .contents {
        height: 90vh;
        width: 85vw;
        padding: 3rem 2rem; } }
    #terms-and-conditions-pop-up .contents.has-more-to-scroll, #privacy-policy-pop-up .contents.has-more-to-scroll {
      -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, black), to(transparent));
      -webkit-mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
      mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, black), to(transparent));
      mask-image: linear-gradient(to bottom, black 50%, transparent 100%); }

.complete-account-link {
  margin-top: 4rem;
  color: rgba(33, 36, 41, 0.8);
  font-family: 'Rubik', sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  display: inline-block;
  border-bottom: 1px solid rgba(33, 36, 41, 0.8);
  cursor: pointer; }

#policy-update-pop-up .ck-editor-container {
  color: #212429; }

#policy-update-pop-up .ck-editor {
  width: calc(50vw - 16rem); }
  @media only screen and (max-width: 1150px) {
    #policy-update-pop-up .ck-editor {
      width: calc(50vw - 12rem); } }
  @media only screen and (max-width: 1000px) {
    #policy-update-pop-up .ck-editor {
      width: calc(85vw - 4rem); } }
#policy-update-pop-up .field-wrapper {
  margin-bottom: 1em; }

@media only screen and (max-width: 1300px) {
  .report-columns {
    display: block; }
    .report-columns .master-reports {
      margin-bottom: 3rem; } }

.box.report {
  margin-bottom: 1rem;
  height: 5.5rem;
  font-size: 1.1rem; }
  .box.report span {
    display: inline; }
  .box.report .flex-container {
    height: 100%; }
  .box.report:last-child {
    margin-bottom: 0; }
  .box.report i {
    margin-left: 1rem; }
  .box.report span.report-main {
    font-weight: 600; }
  .box.report span.report-sub {
    margin-top: 0.75em;
    opacity: 0.8;
    font-size: 0.9rem;
    font-weight: 300; }

.reports-column-heading {
  height: 3rem; }
  @media only screen and (max-width: 1300px) {
    .reports-column-heading {
      height: auto; }
      .reports-column-heading h2 {
        margin-bottom: 1rem; } }
.teacher-reports .search-container input {
  font-size: 0.8rem;
  padding: 0.25rem 0.5rem; }

.teacher-reports .search-container i {
  top: 0.5rem;
  font-size: 0.8rem; }

.half-width + .options {
  margin-top: 1em; }
  .half-width + .options a, .half-width + .options button, .half-width + .options form {
    margin-right: 3rem;
    font-weight: 500;
    font-size: 0.85rem; }
    @media only screen and (max-width: 1100px) {
      .half-width + .options a, .half-width + .options button, .half-width + .options form {
        margin-right: 1rem; } }
    .half-width + .options a:last-child, .half-width + .options button:last-child, .half-width + .options form:last-child {
      margin-right: 0; }

@media only screen and (max-width: 1200px) {
  .grid._58-free.availability-search {
    display: block;
    grid-row-gap: 1.5rem; } }

@media only screen and (max-width: 1200px) {
  .availability-slots {
    margin-top: 3rem; } }

.availability-slots .box .options {
  margin-top: 0; }
  .availability-slots .box .options i {
    color: #0F73B6; }
  @media only screen and (max-width: 1000px) {
    .availability-slots .box .options {
      margin-top: .5em; }
      .availability-slots .box .options a:first-child {
        padding-left: 0; } }
.availability-slots .day-of-week-container {
  margin-bottom: 2em; }
  .availability-slots .day-of-week-container:last-child {
    margin-bottom: 0; }

.availability-slots h2 {
  margin-bottom: 0.5em; }

.availability-slots h3 {
  font-weight: normal;
  font-size: 0.8em;
  color: #212429; }
  .availability-slots h3.day-of-week {
    font-weight: 600; }

.availability-slots.teacher-view .availability-slot .locations {
  text-align: center; }

.availability-slots .availability-slot {
  margin-bottom: 1em; }
  .availability-slots .availability-slot .flex-container {
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: -0.5em; }
    .availability-slots .availability-slot .flex-container > span {
      margin: 0.5em; }
    .availability-slots .availability-slot .flex-container > .times-and-frequency > span {
      margin: 0.5em; }
  .availability-slots .availability-slot:last-child {
    margin-bottom: 0; }

.availability-slots .times {
  font-weight: 600;
  min-width: 15ch; }

.availability-slots .instruments {
  text-align: center; }
  @media only screen and (max-width: 650px) {
    .availability-slots .instruments {
      text-align: left;
      width: auto; } }
@media only screen and (max-width: 650px) {
  .availability-slots .locations {
    width: auto; } }

@media only screen and (max-width: 650px) {
  .availability-slots .instruments {
    margin-top: 1em; } }

#availability .locations {
  text-align: center; }

.availability-slots .locations-and-instruments .instruments {
  margin-top: 1em; }

@media only screen and (max-width: 1000px) {
  .availability-slots .locations-and-instruments {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    width: calc(100% - 15ch); } }

.availability-slots .instruments .instrument:not(:last-child):after {
  content: "\2022";
  margin-left: .5em; }

.availability-slots .locations .location:not(:last-child):after {
  content: "\2022";
  margin-left: .5em; }

.availability-slots .locations .location {
  display: inline; }

.availability-slots .instruments .instrument:not(:last-child):after {
  content: "\2022";
  margin-left: .5em; }

.availability-slots .instruments .instrument {
  display: inline; }

.availability-slot .instruments {
  width: 25ch; }
  @media only screen and (max-width: 1000px) {
    .availability-slot .instruments {
      text-align: left;
      width: auto;
      margin-top: 1em;
      -ms-flex-preferred-size: 100%;
      flex-basis: 100%; } }
.availability-slot .locations {
  width: 20ch; }
  @media only screen and (max-width: 1000px) {
    .availability-slot .locations {
      text-align: left !important;
      width: auto; } }
.availability-search .locations {
  width: auto; }

.availability-search .instruments {
  width: 100%;
  text-align: left;
  margin-top: 1em; }

.availability-search .locations + .instruments {
  margin-top: 1em; }

@media only screen and (max-width: 1200px) {
  .availability-slot .options {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    margin-top: 1em !important; }
    .availability-slot .options a:first-child {
      padding-left: 0; } }

.box.teacher-yearly-check {
  margin-bottom: 1.25em; }

@media only screen and (max-width: 1200px) {
  .holidays {
    margin-top: 3rem; } }

.holidays .box .options {
  margin-top: 0; }
  .holidays .box .options i {
    color: #0F73B6; }
  @media only screen and (max-width: 1000px) {
    .holidays .box .options {
      margin-top: .5em; }
      .holidays .box .options a:first-child {
        padding-left: 0; } }
.holidays .holiday {
  margin-bottom: 1em; }
  .holidays .holiday .flex-container {
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: -0.5em; }
    .holidays .holiday .flex-container > span {
      margin: 0.5em; }
  .holidays .holiday:last-child {
    margin-bottom: 0; }

.holidays .dates {
  font-weight: 600;
  min-width: 15ch; }
