﻿@charset "UTF-8";
body {
  display: grid;
  align-items: center;
  justify-items: center;
  background-color: #f3f3f3;
  font-size: 12pt;
  /*    background-image: url(https://venngage-wordpress.s3.amazonaws.com/uploads/2018/09/Colorful-Circle-Simple-Background-Image-1.jpg);
    background-size: cover;
    background-color: #48465c;*/ }

h4, h5 {
  margin: 0;
  font-size: 1.7em;
  text-align: center;
  color: var(--course-breadcrumb-background-color);
  text-transform: uppercase;
  font-weight: normal;
  margin-bottom: 10px; }

h5 {
  text-transform: none;
  font-size: 1.5em;
  text-align: left;
  border-bottom: solid 1px #9E9E9E; }

form {
  --form-box-shadow: 0 0 6px #9E9E9E;
  --form-border: solid 1px #9E9E9E;
  --form-padding: 2em;
  --form-color: #5287b5;
  --form-background-color: white;
  display: grid;
  grid-auto-flow: row;
  border: var(--form-border);
  padding: var(--form-padding);
  box-shadow: var(--form-box-shadow);
  background-color: var(--form-background-color);
  position: relative;
  overflow-y: auto;
  box-sizing: border-box;
  max-height: 100vh;
  max-width: 100vw; }

form > * {
  overflow: hidden;
  box-sizing: border-box; }

form header {
  padding-top: 20px;
  position: sticky;
  top: 0;
  background: white;
  border-bottom: solid 1px #e6e6e6; }

form.choice {
  grid-auto-flow: column;
  grid-template-columns: 1fr 1fr;
  grid-gap: 20px; }

form.choice button {
  background-color: white;
  color: var(--form-color);
  margin: 0;
  border: var(--form-border);
  padding: 20px; }

form.create {
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto 1fr auto;
  grid-gap: 20px;
  max-width: 60vw; }

form.create > header {
  grid-column-start: 1;
  grid-column-end: 3; }

form.create > *:nth-child(3) {
  grid-column-start: 1;
  grid-column-end: 2; }

form.create > *:nth-child(4) {
  grid-column-start: 2;
  grid-column-end: 3; }

form.create > *:nth-child(5) {
  grid-column-start: 1;
  grid-column-end: 3; }

form.dashboard {
  min-width: 100vw;
  min-height: 100vh;
  max-width: 100vw;
  max-height: 100vh;
  display: grid;
  grid-template-rows: auto 1fr auto;
  grid-template-columns: 1fr;
  align-items: stretch;
  padding: 0;
  margin: 0;
  border: none;
  overflow: hidden;
  background-color: var(--application-background-color); }
  form.dashboard > header {
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: 1fr 0.5fr 0.5fr 0.5fr 1fr;
    align-items: center;
    margin: 0;
    padding: 1em;
    background-color: var(--course-navigation-background-color);
    color: var(--course-navigation-color); }
    form.dashboard > header > div {
      margin: 0;
      padding: 1em 0;
      overflow-y: auto;
      overflow-x: hidden; }
  form.dashboard > div {
    margin: 0;
    padding: 1em;
    overflow-y: auto;
    overflow-x: hidden; }
  form.dashboard > footer {
    display: grid;
    grid-auto-flow: column;
    align-items: center;
    margin: 0;
    padding: 0; }
  form.dashboard a {
    color: #5287b5; }
  form.dashboard h5 {
    margin: 20px 0; }
    form.dashboard h5 small {
      margin: 10px 0; }
  form.dashboard a.button {
    font-size: 1.1em;
    padding: 5px;
    margin-top: 20px;
    background-color: var(--course-breadcrumb-background-color);
    color: white;
    text-transform: uppercase;
    cursor: pointer;
    display: grid;
    align-items: center;
    justify-items: center; }
    form.dashboard a.button > small {
      margin-top: 0.1em; }
  form.dashboard application.homePage .homePage {
    display: grid;
    justify-content: stretch; }
  form.dashboard application.homePage .sessionsPage, form.dashboard application.homePage .coursesPage, form.dashboard application.homePage .libraryPage {
    display: none; }
  form.dashboard application.homePage .links > a[onclick="apply('homePage')"] {
    background-color: var(--course-navigation-color);
    color: var(--course-navigation-background-color); }
    form.dashboard application.homePage .links > a[onclick="apply('homePage')"] > svg {
      fill: var(--course-navigation-background-color); }
  form.dashboard application.sessionsPage .sessionsPage {
    display: grid;
    justify-content: stretch; }
  form.dashboard application.sessionsPage .homePage, form.dashboard application.sessionsPage .coursesPage, form.dashboard application.sessionsPage .libraryPage {
    display: none; }
  form.dashboard application.sessionsPage .links > a[onclick="apply('sessionsPage')"] {
    background-color: var(--course-navigation-color);
    color: var(--course-navigation-background-color); }
    form.dashboard application.sessionsPage .links > a[onclick="apply('sessionsPage')"] > svg {
      fill: var(--course-navigation-background-color); }
  form.dashboard application.coursesPage .coursesPage {
    display: grid;
    justify-content: stretch; }
  form.dashboard application.coursesPage .homePage, form.dashboard application.coursesPage .sessionsPage, form.dashboard application.coursesPage .libraryPage {
    display: none; }
  form.dashboard application.coursesPage .links > a[onclick="apply('coursesPage')"] {
    background-color: var(--course-navigation-color);
    color: var(--course-navigation-background-color); }
    form.dashboard application.coursesPage .links > a[onclick="apply('coursesPage')"] > svg {
      fill: var(--course-navigation-background-color); }
  form.dashboard application.libraryPage .libraryPage {
    display: grid;
    justify-content: stretch; }
  form.dashboard application.libraryPage .homePage, form.dashboard application.libraryPage .sessionsPage, form.dashboard application.libraryPage .coursesPage {
    display: none; }
  form.dashboard application.libraryPage .links > a[onclick="apply('libraryPage')"] {
    background-color: var(--course-navigation-color);
    color: var(--course-navigation-background-color); }
    form.dashboard application.libraryPage .links > a[onclick="apply('libraryPage')"] > svg {
      fill: var(--course-navigation-background-color); }
  form.dashboard application course-page {
    align-items: stretch; }
    form.dashboard application course-page > * {
      display: block;
      width: auto; }

.list {
  display: grid;
  grid-gap: 1em;
  grid-auto-flow: row;
  grid-template-columns: repeat(auto-fill, minmax(Min(100%, 30em), 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
  justify-items: stretch;
  box-sizing: border-box; }
  .list.list-sessions > .box {
    min-height: 20vh; }
    .list.list-sessions > .box .box__top-container {
      justify-items: center;
      align-items: center;
      height: 5em; }
      .list.list-sessions > .box .box__top-container > img {
        height: 100%; }
    .list.list-sessions > .box .box__middle-container {
      font-size: 0.8em;
      display: grid;
      grid-template-rows: auto auto 1fr auto;
      align-items: stretch;
      justify-items: stretch;
      grid-gap: 1em; }
      .list.list-sessions > .box .box__middle-container > div:nth-child(1) {
        text-align: center;
        font-weight: bold;
        font-style: italic; }
      .list.list-sessions > .box .box__middle-container > div:nth-child(2) {
        display: grid;
        align-items: center;
        justify-items: center;
        text-align: center;
        font-size: 2em;
        padding: 1em 0;
        min-height: 3em; }
      .list.list-sessions > .box .box__middle-container > div:nth-child(3) {
        display: grid;
        justify-items: center; }
        .list.list-sessions > .box .box__middle-container > div:nth-child(3) img {
          border-radius: 10em;
          border: solid 1px var(--box-border-color, var(--application-background-color));
          /*box-shadow: 0 0 4px var(--box-border-color, var(--course-page-separation-color));*/ }
    .list.list-sessions > .box.coming {
      --box-bottom-background-color: var(--course-page-separation-color);
      --box-bottom-color: var(--course-page-color); }
      .list.list-sessions > .box.coming a.button {
        cursor: not-allowed;
        pointer-events: none;
        background-color: var(--course-page-separation-color);
        color: var(--course-page-color);
        border: solid 1px var(--course-page-color); }
    .list.list-sessions > .box.active {
      --box-bottom-background-color: var(--color-hightlight);
      --box-bottom-color: var(--course-page-color); }
  .list.list-courses > .box {
    min-height: 20vh;
    grid-template-rows: auto 1fr 4em; }
    .list.list-courses > .box .box__top-container {
      justify-items: center;
      align-items: center;
      height: 10em; }
      .list.list-courses > .box .box__top-container > img, .list.list-courses > .box .box__top-container > svg {
        height: 100%; }
    .list.list-courses > .box .box__middle-container {
      display: grid;
      grid-template-rows: auto auto;
      align-items: stretch;
      justify-items: stretch;
      grid-gap: 1em;
      text-align: center; }
      .list.list-courses > .box .box__middle-container > div:nth-child(1) {
        font-size: 2em; }
      .list.list-courses > .box .box__middle-container > div:nth-child(2) {
        font-size: 0.9em; }
    .list.list-courses > .box .box__bottom-container {
      align-items: center; }
    .list.list-courses > .box .box__popup-container {
      font-size: 0.8em; }
      .list.list-courses > .box .box__popup-container label {
        font-weight: bold;
        color: var(--course-page-title-icon-background-color);
        font-size: 1.2em;
        text-decoration: underline; }
    .list.list-courses > .box.not-owned {
      /*--box-bottom-background-color: var(--course-page-title-icon-background-color);
                --box-bottom-color: var(--course-page-color);*/ }
      .list.list-courses > .box.not-owned .box__popup-container {
        display: grid;
        grid-gap: 0.5em; }
        .list.list-courses > .box.not-owned .box__popup-container > div:nth-child(1) {
          grid-column: 1;
          grid-row: 1;
          padding: 0.5em;
          background-color: var(--course-navigation-background-color); }
        .list.list-courses > .box.not-owned .box__popup-container > div:nth-child(2) {
          grid-column: 1;
          grid-row: 2;
          padding: 0.5em;
          background-color: var(--course-navigation-background-color); }
        .list.list-courses > .box.not-owned .box__popup-container > div:nth-child(3) {
          grid-column: 2;
          grid-row: 1 / 3;
          grid-gap: 0.5em;
          padding: 0.5em;
          display: grid;
          text-align: center;
          background-color: var(--course-navigation-background-color); }
          .list.list-courses > .box.not-owned .box__popup-container > div:nth-child(3) > div {
            background-color: var(--course-page-title-icon-background-color);
            color: var(--course-page-color);
            border: solid 1px var(--course-page-color);
            padding: 0;
            border-radius: 2em;
            font-size: 2em; }
            .list.list-courses > .box.not-owned .box__popup-container > div:nth-child(3) > div label {
              font-size: 0.5em;
              color: var(--course-page-color); }
            .list.list-courses > .box.not-owned .box__popup-container > div:nth-child(3) > div small {
              text-transform: uppercase;
              font-size: 0.6em;
              margin: 0; }

.icon {
  width: 50%;
  max-width: 100px;
  margin: auto;
  padding-bottom: 20px; }

label, input, select {
  width: 100%;
  box-sizing: border-box; }

label {
  display: block;
  color: #5287b5;
  text-decoration: none;
  text-transform: uppercase;
  font-weight: normal; }

small {
  display: block;
  font-size: 0.8em;
  font-weight: normal;
  text-transform: none;
  margin: -8px 0 5px 0; }

input, select {
  border: solid 1px #9e9e9e;
  border-radius: 0;
  padding: 5px; }

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

.check {
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: auto 1fr;
  grid-gap: 5px; }

button {
  font-size: 1.1em;
  padding: 5px;
  margin-top: 20px;
  background-color: var(--primary);
  border: solid 1px #9e9e9e;
  color: white;
  text-transform: uppercase;
  cursor: pointer;
  display: grid;
  align-items: center;
  justify-items: center; }

button:focus {
  outline: solid 1px #5287b5; }

button.second {
  color: var(--primary);
  background-color: white; }

.back {
  width: 32px;
  position: absolute;
  left: 20px;
  top: 20px;
  background-color: transparent;
  padding: 0;
  margin: 0;
  border: none;
  z-index: 1; }

.required {
  font-weight: bold;
  content: "🔵";
  color: #5287b5; }

.field-validation-error {
  color: #bd2323;
  padding: 5px 0;
  font-size: 0.8em;
  font-weight: bold;
  text-transform: none; }

.field-validation-error:before {
  color: #bd2323;
  content: "⛔"; }

.sticky {
  position: sticky;
  top: 0;
  background-color: white;
  padding: 20px 0;
  margin: 0; }

form.dashboard .links {
  display: grid;
  align-items: center;
  justify-items: self-start;
  grid-auto-flow: column;
  justify-self: start;
  grid-gap: 1em;
  padding: 0 0 0 0; }
  form.dashboard .links > a {
    position: relative;
    color: white;
    padding: 0.5em;
    cursor: pointer;
    display: grid;
    grid-auto-flow: row;
    align-items: center;
    transition-property: all;
    transition-duration: 0.2s; }
    form.dashboard .links > a:before {
      position: absolute;
      top: 0;
      bottom: 0;
      left: -0.6em;
      content: ' ';
      border-left: solid 1px #ffd701; }
    form.dashboard .links > a:first-child:before {
      display: none; }

.box {
  position: relative;
  display: grid;
  grid-auto-flow: row;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr auto;
  overflow-wrap: anywhere;
  overflow: hidden;
  border: solid 1px var(--box-border-color, var(--application-background-color));
  background-color: var(--box-background-color, white);
  color: var(--course-page-summary-color);
  /*box-shadow: 0 0 4px #bdbdbd;*/
  box-sizing: border-box; }
  .box .box__top-container {
    display: grid;
    background-color: inherit;
    padding: 1em;
    box-sizing: border-box; }
  .box .box__middle-container {
    display: grid;
    background-color: inherit;
    padding: 1em;
    box-sizing: border-box; }
  .box .box__bottom-supra-container {
    display: grid;
    grid-gap: 1em;
    margin: 0;
    position: relative;
    outline: none;
    cursor: pointer;
    background-color: var(--box-bottom-background-color, var(--application-background-color));
    color: var(--box-bottom-color, white);
    box-sizing: border-box;
    outline: none; }
    .box .box__bottom-supra-container .box__popup-container {
      display: grid;
      grid-auto-flow: row;
      background-color: inherit;
      position: absolute;
      bottom: 100%;
      left: 0;
      right: 0;
      transition-property: all;
      transition-duration: 0.5s;
      transform: translate(0, 100%);
      padding: 1em;
      z-index: 0;
      box-sizing: border-box;
      outline: none;
      opacity: 0.7; }
      .box .box__bottom-supra-container .box__popup-container:empty {
        display: none; }
      .box .box__bottom-supra-container .box__popup-container a.button {
        margin-top: 0;
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 0.5em; }
    .box .box__bottom-supra-container:hover .box__popup-container, .box .box__bottom-supra-container:focus-within .box__popup-container {
      transform: translate(0, 0);
      opacity: 1; }
    .box .box__bottom-supra-container .box__bottom-container {
      background-color: inherit;
      text-align: center;
      text-transform: uppercase;
      font-weight: bold;
      display: grid;
      grid-auto-flow: column;
      align-items: stretch;
      justify-items: stretch;
      grid-gap: 1em;
      padding: 1em;
      z-index: 1;
      box-sizing: border-box; }
      .box .box__bottom-supra-container .box__bottom-container a.button {
        margin: 0;
        margin-top: 0;
        margin-bottom: 0;
        margin-left: 0;
        margin-right: 0; }
