/* Apologies for this awful CSS */

@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;700&display=swap');
body {
  font-family: 'Josefin Sans', sans-serif;
  padding: 0;
  margin: 0;
  height: 100%;
  display: flex;
  flex-direction: row;
}

body * {
  --darkpurple: #3D3B8E;
  --lightblue: #6883BA;
  --white: #F9F9F9;
  --pink: #E072A4;
  --green: #B0E298;
}

.loading {
  width: 400px;
}

.loading img {
  width: 200px;
  margin: 0 100px;
}

.loading-text {
  text-align: center;
  color: #888
}

.loading-text.o__hidden {
  display: none;
}

.error-section {
  padding: 10px;
  margin-top: 30px;
  background-color: #f2dede;
  border-radius: 3px;
  border: 1px solid #ebccd1;
  color: #a94442;
  display: none;
  font-family: sans-serif;
}

.not-installed {
  padding: 10px;
  margin-top: 30px;
  background-color: #fcf8e3;
  border-radius: 3px;
  border: 1px solid #faebcc;
  color: #8a6d3b;
  display: none;
  font-family: sans-serif;
  line-height: 1.5;
}

.permission-section {
  padding: 10px;
  margin-top: 30px;
  background-color: #fafafa;
  border-radius: 3px;
  border: 1px solid #aaa;
  color: #555;
  display: none;
  font-family: sans-serif;
  line-height: 1.5;
}

.section-title {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  text-align: center;
  font-size: 30px;
  margin-bottom: 20px;
}

.error-section.o__visible,
.permission-section.o__visible,
.not-installed.o__visible {
  display: block;
}

#grant-permissions {
  width: 100%;
  padding: 5px;
  font-size: 14px;
  text-align: center;
  border-radius: 3px;
  border: 2px solid var(--darkpurple);
  box-sizing: border-box;
  margin-top: 30px;
  cursor: pointer;
  transition: all 100ms;
}

#grant-permissions:hover {
  color: white;
  background-color: var(--darkpurple);
  border-color: 2px solid var(--white);
}

.desktop .full-window {
  min-height: max(100vh, 600px);
}

.half-window-width {
  padding: 60px;
  box-sizing: border-box;
  width: 50vw;
}

.desktop-logo {
  height: 40px;
}

.desktop-heading {
  font-family: 'Playfair Display', serif;
  font-size: min(9vh, 6vw);
  margin-top: 11vh;
  color: var(--pink);
  text-align: center;
  font-weight: 700;
}

.desktop-blurb {
  max-width: 800px;
  margin: 11vh auto 0;
  color: var(--white);
  font-size: 24px;
  line-height: 1.5;
  text-align: center;
}

.desktop-cta {
  background: var(--green);
  padding: 30px;
  font-weight: 700;
  color: var(--darkpurple);
  cursor: pointer;
  border-radius: 3px;
  font-size: 25px;
  text-align: center;
  transition: background-color 100ms ease-in-out;
  font-family: 'Josefin Sans', serif;
  margin-top: 5vh;

}

.final-section {
  margin-top: 100px;
  padding: 100px;
  background-color: #ddd;
}

.final-section-inner {
  max-width: 700px;
}

.instructions {
  margin-top: 100px;
  padding: 50px;
}

.instructions-inner {
  max-width: 700px;
}

.instructions-title {
  font-weight: 700;
  background-color: var(--darkpurple);
  color: var(--white);
  font-family: 'Playfair Display', serif;
  font-size: 60px;
  text-align: center;
  margin-bottom: 50px;
  padding: 10px;
  border-radius: 2vh;;
}

.instruction-number {
  font-weight: 700;
  font-size: 60px;
  width: 50px;
  font-family: 'Playfair Display', serif;
  color: var(--pink);
  margin-right: 20px;
}

.instruction-section {
  font-weight: normal;
  font-size: 20px;
  line-height: 1.5;
  margin-bottom: 50px;
}

.instruction-image {
  max-width: 100%;
  border: 1px solid #ccc;
  margin: 0 auto;
  margin-top: 20px;
}

.final-section-header {
  font-weight: 700;
  font-family: 'Playfair Display', serif;
  font-size: 40px;
  color: var(--pink);
}

.final-section-blurb {
  margin-top: 50px;
  color: var(--darkpurple);
  font-weight: 300;
  font-size: 20px;
  line-height: 1.5;
}

.desktop-cta:hover {
 background: var(--pink);
}

pink {
  color: var(--pink);
}

.underline {
  text-decoration: underline;
}

.darkpurple {
  background: var(--darkpurple);
}

.lightblue {
  background: var(--lightblue);
}

.color-darkpurple {
  color: var(--darkpurple) !important;
}

.white {
  background: var(--white);
}

.pink {
  background: var(--pink);
}

.round-top-left {
  border-top-left-radius: 5vh;
}

.round-bottom-right {
  border-bottom-right-radius: 5vh;
}


.round-top-right {
  border-top-right-radius: 5vh;
}

.round-bottom-left {
  border-bottom-left-radius: 5vh;
}


.desktop-grid {
  display: grid;
  grid-template-columns: repeat(2, 50vw);
  grid-template-rows: auto auto;
}

@media only screen and (min-device-width: 320px) and (max-device-width: 667px) {
  body {
    padding: 1px;
  }
  .spacer {
    height: 20px !important;
  }
  .main-columns {
    flex-direction: column !important;
  }
  .full-window {
    min-height: fit-content !important;
    max-width: 100vw;
    overflow: hidden;
  }
  .half-window-width {
    padding: 20px !important;
    width: 100vw
  }
  .desktop-heading {
    font-size: 40px !important;
  }
  .desktop-video-chat {
    max-width: 100% !important;
  }
  .desktop-grid {
    grid-template-columns: initial;
  }
  .section {
    padding: 20px !important;
    margin: 20px 0;
  }
  .instructions {
    max-width: 100vw;
    overflow: hidden;
  }

  .instruction-section {
    max-width: 95vw;
  }

  .instruction-image {
    max-width: 80vw;
  }

  .section-head {
    font-size: 50px !important;
  }
}

.section-head {
  font-size: 60px;
  font-weight: 700;
  color: var(--pink);
  font-family: 'Playfair Display', serif;
  margin-bottom: 30px;
}

.section-subheading {
  font-size: 30px;
  margin-bottom: 30px;
  color: var(--white);
}

.section {
  position: relative;
  padding: 80px;
  box-sizing: border-box;
}

.sync-section {
  min-height: 40vw;
}

.browser-frame {
  background: white;
  width: fit-content;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  border: 1px solid #aaa;
  box-shadow: 5px 5px 50px rgba(0,0,0,0.6);
}

.browser-frame video {
  width: 100%;
}

.sync-video.o__1 {
  margin-left: 40px;
  width: 70%;
}

.sync-video.o__2 {
  margin-right: 40px;
  width: 70%;
}

.browser-toolbar {
  border-bottom: 1px solid #aaa;
  padding: 5px;
}

.browser-toolbar-circle {
  border: 1px solid #aaa;
  height: 4px;
  width: 4px;
  border-radius: 4px;
  margin-right: 2px;
}

.desktop-works-with {
  text-align: center;
  margin: 40px 0;
  color: var(--darkpurple);
  font-size: 24px;
}

.desktop-logos {
  width: 100%;
}

.desktop-video-chat {
  max-width: 40vw;
}

.layout__box {
  flex: 0 0 auto;
}

.layout__box.o__has-columns {
  display: flex;
  flex-direction: row;
}

.layout__box.o__has-rows {
  display: flex;
  flex-direction: column;
}

.layout__box.o__scrolls {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.layout__box.o__flexes-to-1 {
  flex: 1 1 auto;
}

.layout__box.o__flexes-to-2 {
  flex: 5 1 auto;
}

.layout__box.o__flexes-to-5 {
  flex: 5 1 auto;
}

.layout__box.o__centers-horizontally {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: center;
}

.layout__box.o__centers-vertically {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
}

.layout__box.o__centers-all {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
