@font-face {
  font-family: os-bold;
  src: url("OstrichSans-Bold.otf"); }
@font-face {
  font-family: os-round;
  src: url("OstrichSansRounded-Medium.otf"); }
body, html {
  padding: 0;
  margin: 0;
  font-family: Quicksand; }
  body.no-scroll, html.no-scroll {
    overflow-y: hidden; }
  body.preload *, html.preload * {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -ms-transition: none !important;
    -o-transition: none !important; }

.wrapper {
  overflow-x: hidden;
  max-width: 100vw;
  min-height: 100vh; }

.panel {
  display: flex;
  max-width: 100vw;
  flex-direction: row; }
  .panel.p-50 {
    background-color: white; }
  .panel.after-nav {
    margin-top: 6vh; }
  .panel.top-panel {
    margin-bottom: 5.5vh; }
  .panel.library .pane {
    margin: 10vh 0vw; }
    .panel.library .pane.category {
      align-items: flex-start;
      justify-content: flex-start; }
  .panel.padded {
    padding: 0vh 5vw; }
  .panel.footer {
    height: 15vh; }
    .panel.footer ul {
      list-style: none;
      padding-right: 1vw; }
      .panel.footer ul a {
        text-decoration: none;
        color: inherit;
        font-size: 1rem; }
      .panel.footer ul a:hover {
        text-decoration: underline; }
    .panel.footer.dark {
      background-color: black;
      color: white; }

a {
  color: white; }
  a.dark {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.3); }
    a.dark:hover {
      border-color: black; }

.pane {
  display: flex;
  flex: 1 1 0px;
  justify-content: center;
  align-items: center;
  padding: 0 3vw;
  position: relative; }
  .pane.no-align-center {
    align-items: unset; }
  .pane.no-justify-center {
    justify-content: unset; }
  .pane:nth-of-type(even):not(.rev):not(.no-dim) {
    background-color: rgba(0, 0, 0, 0.05); }
  .pane.rev:nth-child(odd) {
    background-color: rgba(0, 0, 0, 0.05); }
  .pane.has-rows {
    flex-direction: column; }
  .pane.no-bg {
    background-color: transparent !important; }
  .pane.has-margin-top {
    margin: 2vh 0vw; }
  .pane.pull-content-left {
    justify-content: left !important; }
  .pane.content-left {
    align-items: unset; }
  .pane.w-15 {
    width: 15vw;
    max-width: 15vw; }
  .pane.w-20 {
    width: 20%;
    max-width: 20%; }
  .pane.loading .pane-loader {
    display: flex; }
  .pane.hidden {
    display: none !important; }
  .pane .pane-loader {
    position: absolute;
    width: 100%;
    height: 100%;
    display: none;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, 0.3); }
  .pane.no-margin-left {
    margin-left: 0 !important; }
  .pane.no-margin-right {
    margin-left: 0 !important; }
  .pane.no-padding-left {
    padding-left: 0 !important; }

hr {
  border-bottom: 0.1px solid rgba(0, 0, 0, 0.3);
  width: 100%; }

.form {
  display: flex;
  flex-direction: column;
  width: 100%;
  transition: .5s ease-in-out;
  opacity: 1; }
  .form.padded {
    padding: 0vh 7.5vw; }
  .form .form-button {
    display: flex;
    flex-direction: column;
    margin-bottom: 2vh; }
    .form .form-button.disabled > button {
      color: rgba(0, 0, 0, 0.2); }
      .form .form-button.disabled > button:hover {
        cursor: not-allowed; }
    .form .form-button button {
      font-size: 1.25rem;
      padding: 1vh 1vw;
      border: 1px solid rgba(0, 0, 0, 0.3);
      transition: .2s ease-in-out;
      background-color: transparent; }
    .form .form-button button:focus {
      box-shadow: none;
      outline: none; }
    .form .form-button button:focus, .form .form-button button:hover, .form .form-button button:active {
      border-color: black;
      cursor: pointer; }
  .form .form-label {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-right: 1vw;
    font-size: 1.05rem;
    font-weight: 500; }
  .form .form-input {
    display: flex;
    flex-direction: column;
    margin-bottom: 2vh; }
    .form .form-input.smaller {
      height: 20%; }
      .form .form-input.smaller input {
        height: 20px; }
    .form .form-input.invalid {
      border-color: red; }
    .form .form-input.half-width {
      min-width: 50%; }
    .form .form-input.no-margin-bottom {
      margin-bottom: 0 !important; }
    .form .form-input.disabled {
      color: rgba(0, 0, 0, 0.2);
      cursor: not-allowed; }
    .form .form-input.fill {
      flex-grow: 1;
      margin-right: -1px;
      border-right: 0; }
    .form .form-input .form-row {
      display: flex;
      flex-direction: row; }
    .form .form-input label {
      margin-bottom: 1vh;
      font-size: 1.25rem; }
    .form .form-input input {
      font-size: 1.25rem;
      padding: 1vh 1vw;
      border: 1px solid rgba(0, 0, 0, 0.3);
      transition: .2s ease-in-out; }
      .form .form-input input.invalid {
        border-color: red; }
    .form .form-input input:focus {
      box-shadow: none;
      outline: none; }
    .form .form-input input:focus, .form .form-input input:hover, .form .form-input input:active {
      border-color: black; }
    .form .form-input small {
      display: none;
      color: red; }
    .form .form-input.valid input {
      border-color: #00e500; }
    .form .form-input.invalid input {
      border-color: red; }
    .form .form-input.invalid small {
      display: flex; }
  .form .form-select {
    display: flex;
    flex-direction: column;
    margin-bottom: 2vh; }
    .form .form-select select, .form .form-select option {
      font-size: 1.1rem;
      padding: 1vh 1vw;
      border: 1px solid rgba(0, 0, 0, 0.3);
      transition: .2s ease-in-out; }
      .form .form-select select:active, .form .form-select select:focus, .form .form-select option:active, .form .form-select option:focus {
        outline: none; }
    .form .form-select.invalid select {
      border-color: red; }
  .form .form-btns {
    display: flex;
    flex-direction: row;
    margin-left: auto; }
    .form .form-btns button {
      all: unset;
      font-size: 1.25rem;
      border-bottom: 1px solid rgba(0, 0, 0, 0.3); }
      .form .form-btns button:hover {
        border-color: black;
        cursor: pointer; }
  .form.hide {
    visibility: hidden;
    opacity: 0; }

.btn-hor {
  display: flex; }
  .btn-hor .btn:first-of-type {
    margin-left: 0; }
  .btn-hor .btn {
    margin-left: 1vw; }

br.smaller {
  height: 1px !important; }

.btn {
  text-decoration: none;
  color: black;
  font-weight: 500;
  border-radius: 20px;
  border: 1px solid white;
  background-color: white;
  padding: 1vh 1vw;
  transition: .2s linear; }
  .btn:hover {
    transform: scale(1.2);
    cursor: pointer; }
  .btn.dark {
    border-color: black; }
  .btn.danger {
    border-color: red !important;
    color: red !important; }
    .btn.danger:hover, .btn.danger:active, .btn.danger:focus {
      background-color: red !important;
      color: white !important; }
  .btn.form-button {
    display: flex;
    flex-direction: column;
    margin-bottom: 2vh;
    border-radius: unset !important;
    font-size: 1.25rem;
    padding: 1vh 1vw;
    border: 1px solid rgba(0, 0, 0, 0.3);
    transition: .2s ease-in-out;
    background-color: transparent; }
    .btn.form-button.disabled {
      color: rgba(0, 0, 0, 0.2); }
      .btn.form-button.disabled:hover {
        cursor: not-allowed; }
    .btn.form-button:focus {
      box-shadow: none;
      outline: none; }
    .btn.form-button:focus, .btn.form-button:hover, .btn.form-button:active {
      transform: unset !important;
      border-color: black;
      cursor: pointer; }

.btn-modern {
  all: unset;
  border: 2px solid white;
  padding: 10px 15px;
  border-radius: 5px;
  font-size: 1.5rem;
  text-align: right;
  transition: all .2s ease-in-out;
  transition-property: border,color;
  margin: 10px; }
  .btn-modern:hover {
    cursor: pointer;
    border-color: #36D9D1;
    color: #36D9D1; }

.flex-row-pull-left {
  flex-direction: row-reverse !important; }

.text {
  font-family: Quicksand;
  font-size: 1.25rem; }
  .text > small {
    font-size: 1rem;
    color: grey; }
    .text > small.error {
      color: red;
      font-weight: 600; }
  .text.underlined {
    border-bottom: 0.1px solid black; }
  .text.white {
    color: white; }
  .text.header {
    font-size: 2.5rem; }
  .text.no-margin-bottom {
    margin-bottom: 0; }
  .text.no-margin-top {
    margin-top: 0; }
  .text.small-margin-top {
    margin-top: 0.5%; }
  .text.small-margin-bottom {
    margin-bottom: 0.5%; }
  .text.center {
    text-align: center; }
  .text.left {
    text-align: left;
    align-self: flex-start; }
  .text.disabled {
    cursor: not-allowed !important;
    opacity: 0.3; }
    .text.disabled span:hover {
      cursor: not-allowed !important;
      text-decoration: none !important; }
    .text.disabled span {
      pointer-events: none; }
  .text.fake-link:hover, .text span.fake-link:hover {
    cursor: pointer;
    text-decoration: underline; }
  .text.l-main {
    font-family: os-bold;
    font-size: 2.5rem; }
    .text.l-main.fill-pane {
      font-size: 5rem; }
    .text.l-main.brand {
      font-size: 6.25rem; }
  .text.l-alt {
    font-family: os-round;
    font-size: 2.75rem; }
    .text.l-alt.fill-pane {
      font-size: 5.5rem; }
    .text.l-alt.brand {
      font-size: 6.875rem; }

.red-text {
  color: red !important; }

.quote {
  display: flex;
  flex-direction: column; }
  .quote q {
    font-size: 2rem; }

.card {
  background-color: rgba(14, 13, 13, 0.45);
  color: white;
  display: flex;
  flex-direction: row;
  flex: 1 1 0px;
  justify-content: center;
  align-items: center;
  margin: 2vh 0; }
  .card .card-img {
    padding: 2vh 2vw;
    padding-right: .5vw;
    font-size: 5rem;
    color: #66ccff; }
  .card .card-content {
    min-width: 30vw; }
    .card .card-content p.text:first-of-type {
      margin-top: 0;
      font-weight: 700; }
  .card.news {
    background-color: white;
    color: black;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start; }

.img {
  color: white;
  text-decoration: none; }
  .img.circle {
    max-width: 10vw;
    justify-content: center;
    align-items: center;
    padding: 5%;
    transition: .2s ease-in-out; }
    .img.circle > img {
      border-radius: 50%;
      max-width: 10vw; }
    .img.circle > .icon-container {
      width: 10vw;
      height: 10vw;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 5em;
      background-color: #66ccff;
      border-radius: 50%; }
    .img.circle:hover:not(.no-hover) {
      transition-duration: .1s !important;
      transform: scale(1.25) !important;
      cursor: pointer; }
  .img.quote-img {
    width: 30vw;
    height: 30vh;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center; }

.nav {
  padding: 0vh 2vw;
  width: 96vw;
  display: flex;
  flex-direction: row;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.2);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  flex: 1 1 0px;
  text-decoration: none; }
  .nav ul {
    padding-left: 0;
    display: flex;
    flex-direction: row;
    flex-grow: 1;
    list-style: none;
    align-items: center;
    align-content: center;
    margin: 0;
    height: 100%;
    font-family: Quicksand; }
    .nav ul.right {
      margin-left: auto;
      flex-grow: 0; }
    .nav ul div.dropdown {
      height: 100%;
      position: relative;
      display: flex;
      justify-content: center;
      border-top: 2px solid transparent;
      transition: .2s ease-in-out; }
      .nav ul div.dropdown div {
        text-decoration: none;
        display: flex;
        justify-content: center;
        align-items: center;
        border-top: 1px solid transparent;
        transition: .2s ease-in-out; }
      .nav ul div.dropdown a {
        padding: 0 2vw;
        text-decoration: none;
        font-weight: 500;
        font-size: 1.2rem;
        justify-self: center;
        align-self: center; }
      .nav ul div.dropdown div.dropdown-items {
        display: none;
        position: absolute;
        top: calc(5vh - 1px);
        flex-direction: column;
        width: 100%;
        z-index: 1;
        transition: .2s ease-in-out; }
        .nav ul div.dropdown div.dropdown-items ul {
          width: 100%;
          background-color: white;
          display: flex;
          flex-direction: column; }
          .nav ul div.dropdown div.dropdown-items ul li {
            width: 100%;
            background-color: white;
            border: 1px solid rgba(0, 0, 0, 0.3);
            border-top: 0;
            border-bottom: 0;
            padding: 1vh 0;
            text-align: left;
            overflow-y: visible; }
            .nav ul div.dropdown div.dropdown-items ul li a {
              color: rgba(0, 0, 0, 0.5);
              padding: 0vh 0.5vw;
              font-size: 1.05rem;
              font-weight: 500;
              width: 100%;
              height: 100%; }
            .nav ul div.dropdown div.dropdown-items ul li:hover {
              border-color: black; }
              .nav ul div.dropdown div.dropdown-items ul li:hover a {
                color: black !important; }
            .nav ul div.dropdown div.dropdown-items ul li:last-child {
              border-bottom: 1px solid rgba(0, 0, 0, 0.3); }
      .nav ul div.dropdown:hover {
        border-top-color: white;
        cursor: pointer; }
        .nav ul div.dropdown:hover div.dropdown-items {
          display: flex; }
    .nav ul li {
      height: 100%;
      text-decoration: none;
      display: flex;
      justify-content: center;
      align-items: center;
      border-top: 1px solid transparent;
      transition: .2s ease-in-out;
      overflow-y: hidden; }
      .nav ul li a {
        padding: 100% 2vw;
        text-decoration: none;
        font-weight: 500;
        font-size: 1.2rem; }
      .nav ul li.hide {
        display: none; }
    .nav ul li:hover {
      border-top: 2px solid white; }
    .nav ul li:first-child {
      padding-left: 0; }
    .nav ul li:last-child {
      padding-right: 0; }

.row {
  display: flex;
  flex-direction: row; }
  .row.indented {
    margin-left: 2.5%; }

div.indented {
  margin-left: 2.5%; }

ul.library-category-list {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: unset;
  padding: unset;
  width: calc(100% - 1px);
  margin-top: -1px;
  border: 1px solid rgba(0, 0, 0, 0.3);
  border-top: 0;
  overflow-y: auto;
  overflow-x: hidden; }
  ul.library-category-list li {
    font-size: 1.25rem;
    padding: 1vh 1vw;
    margin: -1px -1px;
    margin-top: 0;
    border: 1px solid transparent;
    transition: .2s ease-in-out; }
    ul.library-category-list li.active, ul.library-category-list li:hover {
      border-color: black;
      cursor: pointer; }

ul.library-track-list {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: unset;
  padding: unset;
  width: calc(100% - 2px);
  margin-top: -1px;
  border: 1px solid rgba(0, 0, 0, 0.3);
  border-top: 0;
  overflow-x: hidden;
  overflow-y: auto; }
  ul.library-track-list.pixeldiff {
    margin-left: 1.5px;
    overflow-x: hidden; }
    ul.library-track-list.pixeldiff > li {
      width: 100%;
      min-width: 100%; }
  ul.library-track-list li {
    font-size: 1.25rem;
    padding: 0vh 1vw;
    margin: -1px -1px;
    margin-top: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    border: 1px solid transparent;
    transition: .2s ease-in-out; }
    ul.library-track-list li div.checkbox {
      font-size: 1.25rem;
      padding: 1vh 1vw;
      border: 1px solid rgba(0, 0, 0, 0.3);
      transition: 0.2s ease-in-out;
      background-color: transparent;
      margin: -1px 0;
      margin-left: -1px;
      border-top: 1px solid transparent;
      border-bottom: 1px solid transparent;
      border-left: 1px solid transparent; }
      ul.library-track-list li div.checkbox svg {
        opacity: 0.2;
        transition: .2s ease-in-out; }
      ul.library-track-list li div.checkbox:hover, ul.library-track-list li div.checkbox.active {
        cursor: pointer;
        color: black; }
        ul.library-track-list li div.checkbox:hover svg, ul.library-track-list li div.checkbox.active svg {
          opacity: 1; }
    ul.library-track-list li p.track-name {
      padding-left: 1vw;
      width: 50%;
      margin: 0;
      white-space: nowrap;
      overflow-x: hidden; }
    ul.library-track-list li button.track-button {
      font-size: 1.25rem;
      padding: 1vh 1vw;
      border: 1px solid rgba(0, 0, 0, 0.3);
      transition: 0.2s ease-in-out;
      background-color: transparent;
      margin: -1px 0px;
      border-top: 1px solid transparent;
      border-bottom: 1px solid transparent; }
      ul.library-track-list li button.track-button:focus {
        box-shadow: none;
        outline: none; }
      ul.library-track-list li button.track-button:focus, ul.library-track-list li button.track-button:hover, ul.library-track-list li button.track-button:active {
        border-color: black;
        cursor: pointer; }
      ul.library-track-list li button.track-button:not(:first-child) {
        margin-left: -1px; }
    ul.library-track-list li.active {
      border-color: black; }

ul.list {
  list-style: none;
  display: flex;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0; }
  ul.list.horizontal {
    flex-direction: row;
    justify-content: space-between; }
    ul.list.horizontal li {
      padding: 2vh 2vw;
      border-right: 1px solid rgba(0, 0, 0, 0.3);
      transition: .2s linear; }
      ul.list.horizontal li:last-child {
        border-right: 0; }
      ul.list.horizontal li:hover {
        background-color: rgba(0, 0, 0, 0.05); }
        ul.list.horizontal li:hover .icon {
          transform: scale(1.1); }
  ul.list li {
    display: flex;
    flex-direction: column;
    align-items: center; }
    ul.list li .icon {
      font-size: 2.5rem; }
    ul.list li p.text:first-of-type {
      font-weight: 700; }
    ul.list li p.text {
      margin-top: 1vh;
      margin-bottom: 0; }

ul.feature-list {
  font-size: 2rem;
  list-style: none; }
  ul.feature-list li {
    padding: 2vh 0; }
    ul.feature-list li p:last-child {
      padding-left: 4vw; }

ul.generic-list {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: unset;
  padding: unset; }
  ul.generic-list li {
    font-size: 1.2rem;
    padding-top: 5%;
    transition: .2s ease-in-out; }
    ul.generic-list li:hover, ul.generic-list li.selected {
      transform: translateZ(0);
      transform: scale(1.1); }
      ul.generic-list li:hover a, ul.generic-list li.selected a {
        text-decoration: underline; }
    ul.generic-list li a {
      color: black;
      text-decoration: none;
      transition: all 0.2s ease-in-out; }

.upload-container {
  margin: 5vh 5vw; }
  .upload-container div {
    width: 40vw;
    height: 25vh;
    border: 1px dashed rgba(0, 0, 0, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .5s linear; }
    .upload-container div:hover, .upload-container div.hover {
      cursor: pointer;
      border-color: black; }

.uploading-list {
  display: flex;
  flex-direction: column;
  width: 60vw; }
  .uploading-list div.uploading-item {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    margin-bottom: 2vh;
    padding: 0 0.5vw;
    transition: all .2s ease-in-out;
    box-shadow: 4px 4px 9px 3px #E5E5E5; }
    .uploading-list div.uploading-item.success {
      background-color: #3aca04; }
      .uploading-list div.uploading-item.success p, .uploading-list div.uploading-item.success span {
        color: white; }
      .uploading-list div.uploading-item.success progress.uploading-item-progress::-webkit-progress-value {
        background-color: white !important; }
    .uploading-list div.uploading-item.error {
      background-color: #ef1328; }
      .uploading-list div.uploading-item.error p, .uploading-list div.uploading-item.error span {
        color: white; }
      .uploading-list div.uploading-item.error progress.uploading-item-progress::-webkit-progress-value {
        background-color: white !important; }
    .uploading-list div.uploading-item.processing {
      background-color: #ffc107; }
      .uploading-list div.uploading-item.processing progress.uploading-item-progress::-webkit-progress-value {
        background-color: white !important; }
    .uploading-list div.uploading-item:hover {
      box-shadow: 4px 4px 11px 5px #D4D4D4; }
    .uploading-list div.uploading-item p.uploading-item-name {
      width: 20%;
      overflow-x: hidden; }
    .uploading-list div.uploading-item progress.uploading-item-progress {
      width: 60%;
      appearance: none;
      -webkit-appearance: none; }
      .uploading-list div.uploading-item progress.uploading-item-progress::-webkit-progress-value {
        background-color: black;
        transition: .5s linear; }
      .uploading-list div.uploading-item progress.uploading-item-progress::-webkit-progress-bar {
        background-color: rgba(0, 0, 0, 0.3); }
    .uploading-list div.uploading-item span.uploading-item-status-icon {
      font-size: 1.2rem;
      cursor: pointer;
      transition: transform .4s ease-in-out; }
      .uploading-list div.uploading-item span.uploading-item-status-icon:hover[status='uploading'] {
        transform: rotate(90deg); }
      .uploading-list div.uploading-item span.uploading-item-status-icon:hover[status='uploaded'] {
        transform: scale(1.2); }
      .uploading-list div.uploading-item span.uploading-item-status-icon:hover[status='error'] {
        animation: spin 2s linear infinite; }

.library-player {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 3.5vh;
  right: 5vh;
  z-index: 4;
  width: 20vw;
  padding: 1vh 0;
  border-radius: 5px;
  background-color: rgba(0, 0, 0, 0.3); }
  .library-player .row {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center; }
  .library-player .col {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; }
  .library-player h1.track-name {
    font-size: 1.2rem;
    white-space: nowrap;
    width: 100%;
    max-width: 100%;
    animation: text-scroll 6s infinite linear; }
    .library-player h1.track-name:hover {
      animation-play-state: paused; }
  .library-player .thumbnail {
    width: 5vw;
    height: 5vw;
    background-color: lightgrey;
    border-radius: 5px; }
  .library-player .pause-play {
    margin-right: 10px; }
  .library-player input[type=range].scrubber {
    width: 90%;
    margin-bottom: 10px; }

@keyframes text-scroll {
  0% {
    transform: translateX(100%); }
  50% {
    transform: translateX(0%); }
  100% {
    transform: translateX(-100%); } }
input[type=range] {
  -webkit-appearance: none;
  width: 100%;
  background: transparent; }
  input[type=range]:focus, input[type=range]:active {
    outline: none; }
  input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    height: 15px;
    width: 15px;
    border: 1px solid black;
    border-radius: 50%;
    background: black;
    transition: .2s ease-in-out; }
    input[type=range]::-webkit-slider-thumb:hover {
      transform: scale(1.25);
      cursor: pointer; }
  input[type=range]::-moz-range-thumb {
    -webkit-appearance: none;
    height: 15px;
    width: 15px;
    border: 1px solid black;
    border-radius: 50%;
    background: black;
    transition: .2s ease-in-out; }
    input[type=range]::-moz-range-thumb:hover {
      transform: scale(1.25);
      cursor: pointer; }
  input[type=range]::-webkit-slider-runnable-track {
    width: 100%;
    height: 2px;
    background: white;
    display: flex;
    align-items: center; }
  input[type=range]::-moz-range-track {
    width: 100%;
    height: 2px;
    background: white;
    display: flex;
    align-items: center; }

.modal {
  width: 100vw;
  min-height: 100vh;
  background-color: rgba(0, 0, 0, 0.3);
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: .2s linear;
  opacity: 1; }
  .modal.hidden {
    visibility: hidden;
    opacity: 0; }
  .modal.unloaded {
    display: none;
    opacity: 1; }
  .modal .modal-loader {
    display: none;
    position: absolute;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background-color: transparent; }
  .modal.loading > .modal-loader {
    display: flex !important;
    background-color: rgba(0, 0, 0, 0.1); }
  .modal .modal-content {
    background-color: white;
    border-color: 1px solid rgba(0, 0, 0, 0.3);
    min-width: 40vw; }
    .modal .modal-content.wider {
      min-width: 60vw; }
    .modal .modal-content .modal-header {
      border-bottom: 1px solid rgba(0, 0, 0, 0.1);
      padding-left: 1vw;
      padding-right: 1vw;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      .modal .modal-content .modal-header p {
        margin: 0; }
      .modal .modal-content .modal-header span {
        font-size: 1.5rem; }
      .modal .modal-content .modal-header span:hover {
        cursor: pointer; }
    .modal .modal-content .modal-body {
      padding-left: 1vw;
      padding-right: 1vw;
      border-bottom: 1px solid rgba(0, 0, 0, 0.1); }

.scroll.fade {
  opacity: 0;
  transition: .5s linear; }
  .scroll.fade.scroll-active {
    opacity: 1; }
.scroll.grow {
  transform: scale(0);
  transition: .5s ease-in-out; }
  .scroll.grow.scroll-active {
    transform: scale(1); }

.bg-blur {
  background-image: url("bg-blur.jpg"); }

.bg {
  background-size: cover;
  background-position: center; }
  .bg.audio-slider {
    background-image: url(https://images.unsplash.com/photo-1509335919466-c196457ea95a?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1350&q=80); }
  .bg.studio-basic {
    background-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url(https://images.unsplash.com/photo-1514320291840-2e0a9bf2a9ae?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1950&q=80); }
  .bg.record-player {
    background: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), linear-gradient(rgba(255, 10, 10, 0.05), rgba(43, 116, 138, 0.05)), url("/assets/backgrounds/vinyl-player.jpg"); }
  .bg.record-player-gif {
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url("/assets/gifs/record-spin.gif"); }
  .bg.record {
    background-image: linear-gradient(rgba(255, 10, 10, 0.03), rgba(43, 116, 138, 0.02)), linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url("/assets/backgrounds/vinyl-typewriter.webp"); }
  .bg.headphones {
    background-image: url("/assets/backgrounds/headphones-on-yellow-bg.jpg"); }
  .bg.span-pane {
    background-position: center;
    background-size: cover; }
  .bg.full-height {
    height: 100vh;
    background-size: cover; }
  .bg.white {
    background-color: white; }
  .bg.black {
    background-color: black; }
  .bg.pattern {
    background-repeat: repeat;
    background-size: unset; }
    .bg.pattern.shape-dark {
      background-image: url("/assets/images/patterns/y-so-serious.png"); }
    .bg.pattern.lines-dark {
      background-image: url("/assets/images/patterns/funky-lines.png"); }
    .bg.pattern.zig-zag {
      background-image: url("https://www.toptal.com/designers/subtlepatterns/patterns/memphis-mini-dark.png"); }

.client-carousel {
  height: 100%;
  width: 100%;
  max-width: 84vw;
  display: flex;
  overflow: hidden;
  position: relative; }
  .client-carousel .arrow {
    position: absolute;
    color: white;
    vertical-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    z-index: 3;
    transition: .2s ease-in-out; }
    .client-carousel .arrow:hover {
      cursor: pointer;
      transform: scale(1.2); }
    .client-carousel .arrow.right {
      right: 0; }
  .client-carousel .scroll-area {
    height: 100%;
    width: 100%;
    display: flex;
    overflow-y: hidden !important;
    overflow-x: scroll !important;
    position: relative; }
  .client-carousel .inner {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    height: 100%;
    max-width: 100%; }
    .client-carousel .inner .client {
      display: flex;
      flex: 1 0 21%;
      position: relative;
      height: 80%;
      justify-content: center;
      align-items: center; }
      .client-carousel .inner .client a {
        position: absolute;
        height: 100%;
        width: 100%;
        z-index: 2; }
      .client-carousel .inner .client:hover img {
        filter: grayscale(0);
        transform: scale(1.2); }
      .client-carousel .inner .client img {
        height: 80%;
        filter: grayscale(1);
        transition: .2s ease-in-out; }

.big-option-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%; }
  .big-option-buttons .option-button {
    display: flex;
    flex-direction: column;
    flex: 1 0 21%;
    justify-content: center;
    align-items: center;
    border: 2px solid grey;
    border-top-color: white;
    border-bottom-color: white;
    padding: 3%;
    margin: 0 3%;
    position: relative;
    transition: border .5s ease-in-out; }
    .big-option-buttons .option-button:hover {
      border-color: black;
      border-left-color: white;
      border-right-color: white; }
    .big-option-buttons .option-button a {
      position: absolute;
      width: 100%;
      height: 100%; }
    .big-option-buttons .option-button p {
      margin-bottom: 0;
      margin-top: 0; }

/** Notifications **/
.notification-layer {
  position: fixed;
  top: 0;
  right: 0;
  height: 97vh;
  max-height: 97vh;
  width: 25%;
  margin: 1%;
  display: flex;
  flex-direction: column-reverse;
  pointer-events: none; }

.notif {
  pointer-events: all !important;
  width: 100%;
  margin: 1% 0;
  background-color: white;
  color: black;
  font-size: 1.1rem;
  display: flex;
  flex-direction: column;
  border-radius: 3px;
  overflow-x: hidden;
  font-weight: 500;
  transition: max-height 0.5s linear; }
  .notif .n-content {
    display: flex;
    flex-direction: row;
    align-items: center; }
    .notif .n-content svg {
      width: 1.5em !important;
      height: 1.5em !important;
      padding: 1em 1em; }
  .notif .progress {
    width: 100%;
    height: 2px;
    background-color: rgba(0, 0, 0, 0.5);
    color: black; }
    .notif .progress::-webkit-progress-bar {
      background-color: rgba(0, 0, 0, 0.5); }
    .notif .progress::-webkit-progress-value {
      background-color: white; }
  .notif p {
    padding: 5px;
    margin: unset;
    justify-self: center; }
  .notif:hover:not([no-hover]) {
    cursor: pointer; }
  .notif.error {
    background-color: red;
    color: white; }
  .notif.success {
    background-color: #00e500;
    color: white; }

div.loader {
  border: 8px solid grey;
  border-top-color: black;
  border-radius: 50%;
  width: 5vw;
  height: 5vw;
  -webkit-animation: spin 2s ease-in-out infinite;
  animation: spin 2s ease-in-out infinite; }

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg) scale(1); }
  25% {
    -webkit-transform: scale(0.75); }
  50% {
    -webkit-transform: rotate(360deg) scale(1); }
  75% {
    -webkit-transform: scale(0.75); }
  100% {
    -webkit-transform: rotate(0deg) scale(1); } }
@keyframes spin {
  0% {
    transform: rotate(0deg) scale(1); }
  25% {
    transform: rotate(180deg) scale(0.95); }
  50% {
    transform: rotate(180deg) scale(1); }
  75% {
    transform: rotate(-180deg) scale(0.95); }
  100% {
    transform: rotate(0deg) scale(1); } }
.f-center {
  display: flex;
  flex-direction: row;
  align-content: center;
  justify-content: center; }

.has-border-bottom {
  border-bottom: 1px solid rgba(0, 0, 0, 0.3); }

.has-border-top {
  border-top: 1px solid rgba(0, 0, 0, 0.3); }

.has-border-right {
  border-right: 1px solid rgba(0, 0, 0, 0.3); }

.m-0 {
  margin: 0; }

.h-5 {
  height: 5vh; }

.h-15 {
  height: 15vh; }

.h-20 {
  height: 20vh; }

.h-30 {
  height: 30vh; }

.h-35 {
  height: 35vh; }

.h-40 {
  height: 40vh; }

.h-45 {
  height: 45vh; }

.h-50 {
  height: 50vh; }

.h-55 {
  height: 55vh; }

.h-60 {
  height: 60vh; }

.h-65 {
  height: 65vh; }

.h-70 {
  height: 70vh; }

.h-75 {
  height: 75vh; }

.mh-20 {
  min-height: 20vh; }

.mh-60 {
  min-height: 60vh; }

.mr-5 {
  margin-right: 5%; }

.hide {
  display: none; }

.mobile-spacer {
  display: none; }

@media only screen and (max-width: 600px) {
  .panel {
    flex-direction: column;
    margin-right: 0;
    margin-left: 0;
    padding-right: 5vw; }

  .mobile-spacer {
    height: 5vh !important;
    width: 100vw !important; }

  .mobile-spacer::before {
    content: "\200B" !important; }

  .no-scroll {
    overflow-y: unset !important; }

  .nav {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: scroll; }
    .nav ul {
      margin: unset !important; }

  .wrapper .panel:first-of-type {
    padding-right: 0 !important; }
    .wrapper .panel:first-of-type .pane.has-rows {
      flex-direction: row !important; }

  .panel.padded {
    padding: 2vh 5vw !important;
    padding-top: 10vh !important;
    padding-bottom: 15vh !important; }
  .panel.mobile-pad-bottom {
    padding-bottom: 10vh !important; }

  .pane {
    padding-left: 3vw !important;
    padding-right: 3vw !important; }
    .pane.no-mobile {
      display: none; }
    .pane.has-border-right {
      border: 0 !important; }

  .form.padded {
    padding: 0 !important; }
  .form .form-row {
    flex-direction: column !important; }
    .form .form-row :first-child {
      margin-bottom: 1vh; }

  .footer {
    padding-right: 0 !important;
    height: 50vh !important; }
    .footer .pane {
      padding: 0 10vw !important; }
      .footer .pane ul:first-child {
        padding-left: 0 !important; }
      .footer .pane ul {
        padding-right: 0 !important; }

  .img.quote-img {
    width: 100% !important; } }
.switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 34px; }
  .switch input {
    opacity: 0;
    width: 0;
    height: 0; }
  .switch .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: red;
    -webkit-transition: .4s;
    transition: .4s;
    border-radius: 70px; }
    .switch .slider:before {
      position: absolute;
      content: "";
      height: 26px;
      width: 26px;
      left: 4px;
      bottom: 4px;
      background-color: white;
      -webkit-transition: .4s;
      transition: .4s;
      border-radius: 50%; }
  .switch input:checked + .slider {
    background-color: #00e500; }
  .switch input:focus + .slider {
    box-shadow: 0 0 1px #00e500; }
  .switch input:checked + .slider:before {
    -webkit-transform: translateX(26px);
    -ms-transform: translateX(26px);
    transform: translateX(26px); }
  .switch.smaller {
    transform: scale(0.7); }
  .switch.margin-left {
    margin-left: 2%; }

input.article-title {
  border: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.3);
  transition: .2s ease-in-out; }
  input.article-title:active, input.article-title:focus, input.article-title:hover {
    outline: none;
    border-bottom-color: black; }

/* Twemoji */
img.emoji {
  height: 1em;
  width: 1em;
  margin: 0 .05em 0 .1em;
  vertical-align: -0.1em; }

.check-text {
  align-self: center; }

/* width */
::-webkit-scrollbar {
  width: 2px;
  height: 2px; }

/* Track */
::-webkit-scrollbar-track {
  background: #f1f1f1; }

/* Handle */
::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.5); }

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: #555; }

/*# sourceMappingURL=css.css.map */
