.top-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 0;
  padding-left: 35px;
  padding-right: 35px;
  width: 100%;
  z-index: 9;
  color: rgba(0, 0, 0, 0.54);
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }
  @media only screen and (max-width: 847px) {
    .top-bar {
      padding-left: 18px;
      padding-right: 18px; } }
  .top-bar .top-bar-button-naked {
    margin-left: 30px; }
  .top-bar .top-bar-button {
    margin-left: 30px;
    padding: 0;
    font-size: 1.0625rem;
    color: #212121; }
    .top-bar .top-bar-button .lds-ring div {
      border-color: #212121 transparent transparent transparent; }
    .top-bar .top-bar-button:hover {
      color: rgba(38, 50, 56, 0.6); }
  .top-bar .links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .top-bar .logo {
    max-width: 60%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end; }
    .top-bar .logo svg {
      height: 56px;
      max-width: 100%; }
  .top-bar.sticky {
    position: fixed;
    top: 0; }
  .top-bar.on-top {
    -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
            box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    background-color: white;
    position: fixed;
    top: 0;
    left: 0; }
  @media only screen and (max-width: 847px) {
    .top-bar {
      /*
    supposed to be "max(12px, env(safe-area-inset-top))" but babel crashes, based on:
    https://github.com/webpack-contrib/sass-loader/issues/528#issuecomment-362259216
   */
      padding-top: max(21px, env(safe-area-inset-top)); }
      .top-bar .logo svg {
        height: 50px; } }
  @media only screen and (min-width: 2881px) {
    .top-bar .logo svg {
      height: 120px; } }

.hamburger-button {
  border: 0;
  background: none; }
  .hamburger-button svg {
    margin: 0;
    height: 0.9375rem; }

.page {
  height: 100%;
  overflow: auto; }
  .page .content {
    position: relative;
    width: 100%; }
  .page .bellow-top-bar {
    margin-top: 76px; }

.hamburger-dialog {
  color: white; }
  .hamburger-dialog .ReactModal__Content {
    background-color: #263238 !important; }
  .hamburger-dialog .close-button {
    position: absolute;
    right: 0;
    top: 0;
    top: env(safe-area-inset-bottom);
    margin: 7px;
    z-index: 91; }

.user-profile-pic {
  position: relative;
  display: inline-block; }
  .user-profile-pic .avatar {
    position: relative;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    overflow: visible;
    -webkit-box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2);
            box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2); }
    .user-profile-pic .avatar img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover;
      border-radius: 50%; }
    .user-profile-pic .avatar .pro {
      position: absolute;
      top: -3px;
      right: -6px;
      background: #FFD700;
      color: #000;
      font-size: 10px;
      font-weight: bold;
      padding: 2px 4px;
      border-radius: 4px;
      -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
              box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
      white-space: nowrap; }

.thumbnail-user-name {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  font-size: 14px;
  color: #333; }
  .thumbnail-user-name .pro {
    position: absolute;
    top: -6px;
    right: -3px;
    background: #FFD700;
    color: #000;
    font-size: 10px;
    font-weight: bold;
    padding: 2px 4px;
    border-radius: 4px;
    -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    white-space: nowrap; }

.popup .close-button {
  position: absolute;
  top: 0;
  right: 0;
  border: 0;
  margin: 5px;
  padding: 5px;
  z-index: 99; }
  .popup .close-button svg {
    width: 18px;
    height: 18px; }
  .popup .close-button path {
    fill: #212121; }

.popup .popup-arrow {
  content: ' ';
  position: absolute;
  top: -9px;
  right: 25px;
  z-index: 8;
  border-left: 11px solid transparent;
  border-right: 11px solid transparent;
  border-bottom: 8px solid #ebebeb; }
  .popup .popup-arrow:after {
    content: ' ';
    position: absolute;
    top: 1px;
    right: -10px;
    z-index: 9;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 7px solid #ffffff; }

.popup footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 18px 15px;
  height: 70px;
  border-radius: 0 0 5px 5px;
  background-color: rgba(165, 188, 193, 0.3); }

.room-thumbnail {
  min-height: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid rgba(165, 188, 193, 0.39);
  color: #4a4a4a; }
  .room-thumbnail img {
    padding: 5px;
    height: 90px; }
  .room-thumbnail .room-details {
    -webkit-box-flex: 1;
        -ms-flex: 1 1;
            flex: 1 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    letter-spacing: 0.1px; }
    .room-thumbnail .room-details .room-name {
      margin: 0;
      font-size: 1.25rem;
      font-weight: 700;
      text-decoration: none; }
      .room-thumbnail .room-details .room-name:first-letter {
        text-transform: capitalize; }
    .room-thumbnail .room-details .last-modified {
      font-size: 1rem; }
  .room-thumbnail.disabled {
    color: rgba(120, 144, 156, 0.5); }

.room-thumbnails-list {
  padding-bottom: 25px; }

.no-rooms {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 10px;
  text-align: center; }
  .no-rooms h2 {
    margin: 0;
    font-weight: 400; }
  .no-rooms h3 {
    margin: 5px 0 0;
    font-weight: 400;
    font-size: 1rem;
    color: rgba(0, 0, 0, 0.54); }

.error-message {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 30px; }
  .error-message img {
    width: 100px; }
  .error-message h2, .error-message h3, .error-message h4 {
    margin: 0;
    font-weight: 400;
    text-align: center; }
  .error-message h2 {
    font-size: 2.5rem; }
  .error-message h3 {
    font-size: 1.5rem; }
  .error-message .description {
    margin-top: 5px;
    font-size: 1rem;
    color: rgba(0, 0, 0, 0.54); }
  .error-message .opps {
    color: rgba(238, 51, 0, 0.84); }

.my-rooms-dialog-content {
  width: 300px;
  height: 350px;
  min-width: 100%;
  max-height: calc(100vh - 70px - 5vh); }

.logout-icon {
  width: 28px;
  height: 28px; }

.user-details-dialog {
  width: 200px;
  margin-top: 34px;
  margin-bottom: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .user-details-dialog .display-name {
    color: #212121;
    margin: 0;
    font-weight: 500;
    text-align: center;
    font-size: 1.25rem;
    text-transform: capitalize; }
  .user-details-dialog .user-details-dialog-button {
    font-size: 1rem;
    width: 100%;
    text-align: center;
    padding: 5px; }
  .user-details-dialog .user-details-dialog-divider {
    height: 5px;
    margin: 15px 0; }
    .user-details-dialog .user-details-dialog-divider path {
      fill: rgba(26, 35, 126, 0.3); }
  .user-details-dialog .logout-button {
    padding-top: 10px;
    margin-top: 10px; }

.user-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .user-menu > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .user-menu .sign-up:hover {
    color: #78909c; }
  .user-menu #userThumbnail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative; }
    .user-menu #userThumbnail .popup-arrow {
      right: 15px; }
  @media only screen and (max-width: 847px) {
    .user-menu .sign-up {
      font-size: 0.875rem; } }

@charset "UTF-8";
@-webkit-keyframes glare {
  0% {
    -webkit-transform: translateX(-100%) skewX(-15deg);
            transform: translateX(-100%) skewX(-15deg); }
  100% {
    -webkit-transform: translateX(200%) skewX(-15deg);
            transform: translateX(200%) skewX(-15deg); } }
@keyframes glare {
  0% {
    -webkit-transform: translateX(-100%) skewX(-15deg);
            transform: translateX(-100%) skewX(-15deg); }
  100% {
    -webkit-transform: translateX(200%) skewX(-15deg);
            transform: translateX(200%) skewX(-15deg); } }

@-webkit-keyframes sparkle {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  50% {
    -webkit-transform: scale(1.5);
            transform: scale(1.5); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes sparkle {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  50% {
    -webkit-transform: scale(1.5);
            transform: scale(1.5); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

.upgrade-button {
  background: -webkit-gradient(linear, left top, right top, from(#ff7eb3), to(#ff758c));
  background: -o-linear-gradient(left, #ff7eb3, #ff758c);
  background: linear-gradient(90deg, #ff7eb3, #ff758c);
  color: #fff;
  font-weight: 600;
  border-radius: 9999px;
  padding: 8px 16px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  -webkit-box-shadow: 0 2px 8px rgba(255, 117, 140, 0.4);
          box-shadow: 0 2px 8px rgba(255, 117, 140, 0.4);
  -webkit-transition: -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  -o-transition: transform 0.2s ease, box-shadow 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  position: relative;
  overflow: hidden; }
  .upgrade-button::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(50%, rgba(255, 255, 255, 0.3)), to(rgba(255, 255, 255, 0)));
    background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 100%);
    -webkit-animation: glare 4s infinite;
            animation: glare 4s infinite;
    pointer-events: none; }
  .upgrade-button:hover {
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05);
    -webkit-box-shadow: 0 4px 12px rgba(255, 117, 140, 0.6);
            box-shadow: 0 4px 12px rgba(255, 117, 140, 0.6);
    -webkit-transform: translateY(-2px);
        -ms-transform: translateY(-2px);
            transform: translateY(-2px);
    -webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    background: -o-linear-gradient(45deg, rgba(240, 98, 146, 0.8), #f06292);
    background: linear-gradient(45deg, rgba(240, 98, 146, 0.8), #f06292); }
    .upgrade-button:hover::before {
      -webkit-animation: sparkle 1s ease-in-out infinite;
              animation: sparkle 1s ease-in-out infinite;
      display: inline-block; }
  .upgrade-button:active {
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
    -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); }
  .upgrade-button::before {
    content: '\2728';
    margin-right: 6px;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    -o-transition: transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease; }

.mobile-menu {
  padding: 8.3% 18.3%;
  padding-top: calc(8.3% + env(safe-area-inset-bottom));
  color: white;
  font-size: 1.25rem;
  text-align: center; }
  .mobile-menu .no-icon img {
    display: none; }
  .mobile-menu .mobile-menu-logout {
    color: rgba(255, 255, 255, 0.7);
    font-size: 1.25rem;
    margin-bottom: 31px; }
    .mobile-menu .mobile-menu-logout svg * {
      stroke: rgba(255, 255, 255, 0.7); }
  .mobile-menu .divider {
    height: 5px;
    margin-bottom: 47px; }
  .mobile-menu .avatar {
    margin-bottom: 21px; }
  .mobile-menu a,
  .mobile-menu button {
    color: white;
    font-size: 1.25rem; }
    .mobile-menu a > span,
    .mobile-menu button > span {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
  .mobile-menu .logo {
    width: 100%; }
    .mobile-menu .logo path,
    .mobile-menu .logo rect,
    .mobile-menu .logo polygon {
      fill: white;
      opacity: 1; }
  .mobile-menu .nav-wrapper {
    margin-top: 82px;
    margin-bottom: 25px; }
    .mobile-menu .nav-wrapper ul {
      list-style: none; }
      .mobile-menu .nav-wrapper ul li {
        margin-bottom: 44px; }
        .mobile-menu .nav-wrapper ul li:last-child {
          margin-bottom: 0; }
  .mobile-menu .primary {
    color: #f06292; }
  .mobile-menu .user-details {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative; }
  @media screen and (orientation: landscape) {
    .mobile-menu {
      padding: 50px 10px 10px; }
      .mobile-menu .logo {
        width: 203px; }
      .mobile-menu .divider {
        height: 5px;
        margin-bottom: 0;
        -webkit-transform: rotateZ(90deg);
            -ms-transform: rotate(90deg);
                transform: rotateZ(90deg);
        position: absolute;
        right: -37.5px; }
      .mobile-menu .mobile-menu-logout {
        margin-bottom: 0; }
      .mobile-menu nav {
        margin-top: 20px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        .mobile-menu nav ul li {
          margin-bottom: 24px; }
        .mobile-menu nav > * {
          -webkit-box-flex: 1;
              -ms-flex: 1;
                  flex: 1; } }

.site-topbar-hamburger-button svg {
  height: 1rem; }

.site-footer {
  background-color: rgba(26, 35, 126, 0.05);
  width: 100%;
  padding: 65px 0;
  padding-left: 35px;
  padding-right: 35px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media only screen and (max-width: 847px) {
    .site-footer {
      padding-left: 18px;
      padding-right: 18px; } }
  .site-footer .footer-content p {
    margin: 62px 0 0;
    max-width: 33vw;
    font-size: 0.8125rem;
    line-height: 1.6;
    letter-spacing: 0.4px; }
  .site-footer .footer-content .logo > svg {
    height: 67px; }
  .site-footer .footer-content .all-rights {
    margin-top: 10px;
    font-size: 0.8rem;
    font-weight: 500; }
  .site-footer .footer-links .social-networks-links, .site-footer .footer-links .quick-links {
    list-style: none; }
  .site-footer .footer-links .social-networks-links {
    margin-top: 25px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .site-footer .footer-links .social-networks-links li {
      margin-left: 32px; }
      .site-footer .footer-links .social-networks-links li:first-child {
        margin-left: 0; }
    .site-footer .footer-links .social-networks-links svg {
      height: 42px;
      width: auto; }
      .site-footer .footer-links .social-networks-links svg circle {
        fill: black;
        opacity: 0.2; }
      .site-footer .footer-links .social-networks-links svg:hover circle, .site-footer .footer-links .social-networks-links svg:active circle {
        opacity: 0.4; }
  .site-footer .footer-links .quick-links {
    margin-top: 62px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    max-width: 500px;
    text-align: right; }
    .site-footer .footer-links .quick-links li {
      width: 250px; }
    .site-footer .footer-links .quick-links .quick-link {
      font-weight: 600;
      font-size: 0.6875rem;
      text-transform: uppercase; }
      .site-footer .footer-links .quick-links .quick-link:active, .site-footer .footer-links .quick-links .quick-link:hover {
        opacity: 0.6; }
  @media only screen and (max-width: 847px) {
    .site-footer {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
      .site-footer .footer-links .social-networks-links {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
      .site-footer .footer-links .quick-links {
        margin-top: 48px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        text-align: left; }
        .site-footer .footer-links .quick-links li {
          width: initial; } }
  @media only screen and (min-width: 2881px) {
    .site-footer .footer-links .social-networks-links svg {
      height: 80px; } }

