@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&family=Poppins:wght@400;700&display=swap');
:root {
  --text-color: #555;
  --headerHeight: 71px;
}

html {
  scroll-snap-type: y mandatory;
  overflow-y: scroll;
  scroll-padding-top: 0px;
/*  scroll-snap-type: y proximity;*/
  overflow-x: hidden;
}
* { 
  box-sizing: border-box;
}
.mobile-hide { display: inline-block; }
.mobile .mobile-hide { display: none; }

body { 
  margin: 0; 
  padding: 0; 
  position: relative;
}

button.FullScreenGo {
  display: none;
  position: fixed;
  top: 10px;
  right: 10px;
  z-index: 999;
  background: none;
  padding: 4px;
  width: 3rem;
  height: 3rem;
  font-size: 2rem;
  box-shadow: none;
  color: var(--text-color);
}

button.FullScreenRevert {
  display: none;
  position: fixed;
  top: 10px;
  right: 10px;
  z-index: 999;
  background: none;
  padding: 4px;
  width: 3rem;
  height: 3rem;
  font-size: 2rem;
  box-shadow: none;
  color: var(--text-color);
}
button.FullScreenRevert.active {
  display: block;
}
button.FullScreenGo.active {
  display: block;
}
section {
  position: relative;
  width: 100vw;
  height: 100vh;
}

section > div,
section > div .content,
section > img {
  overflow-x: hidden;
  max-width: 90vw;
}

img.fmlogo {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 200px;
  height: 60px;
  z-index: 999;
}

.story-font {
  font-family: 'Libre Baskerville', serif;
  color: #777;
}
h1 {
  color: var(--text-color);
  font-size: 2.5rem;
    font-weight: 400;
    margin: 0;
    font-family: 'Poppins', sans-serif;
}
section > div > h1 {
  text-transform: lowercase;
}
section > div h3 {
  text-transform: lowercase;
  font-size: 2rem;
}
#logo h1:nth-child(3) {
  margin-left: 1rem;
  font-size: 1rem;
}

p { 
  color: var(--text-color); 
  font-size: 1.4em;
}

.name {
  color: #333;
  font-weight: 500;
}

.small { font-size: 0.5em; }
.bold { font-weight: 700; }

button, a.button {
  display: inline-block;
  border: 0;
  padding: 1rem;
  border-radius: 6px;
  box-shadow: 2px 1px 5px #00000066;
  font-weight: 700;
  opacity: 0.9;
  transform: 200ms ease-out;
  cursor: pointer;
  transition: 200ms ease;
}
button:hover, a.button:hover {
  color: var(--brand);
  opacity: 1;
  box-shadow: 2px 1px 5px #00000011;
}
button.active, a.button.active {
  opacity: 1;
  box-shadow: 0px 0px 10px #b4ddff;
  color: var(--brand);
}

button.flex-end {
  justify-content: flex-end;
  margin-right: auto;
}

a.button {
  background: rgb(239,239,239);
  color: #555;
  opacity: 0.9;
  color: #333;
  font-size: 0.9rem;
}
a.cta {
  display: inline-block;
  color: var(--brand);
  background: #ffffff33;
  padding: 0.25rem 0.5rem;
  margin: 0 0.1rem;
  border-radius: 4px;
  box-shadow: 0px 1px 8px -3px #00000055;
  cursor: pointer;
  transition: 100ms ease;
}
a.cta:hover {
  box-shadow: 0px 1px 8px -6px #00000055;
  background: #ffffff99;
}

a.inline-btn {
  display: inline-block;
  padding: 0;
  border: 0;
  outline: 0;
  margin: 0;
  border-bottom: 1px dotted inherit;
}

section {
  scroll-snap-align: start;
}
.mobile section {
  scroll-snap-align: none;
}

.mobile section > div { 
  width: 100vw; 
  padding: 0;
}

.purpose-content-wrap {
  transform: translateY(-200px);
  transition: transform 300ms ease-out;
  opacity: 0;d
}
.purpose-content-wrap p {
  font-size: 1.1em;
}
.mobile .purpose-content-wrap {
  transform: translateY(0px);
  transition: transform 100ms ease-out;
  opacity: 1;
  padding: 0;
  width: 100vw;
}
.active .purpose-content-wrap {
  transform: translateY(0px);
  opacity: 1;
}
.mobile .active .purpose-content-wrap {
  width: 100vw;
}

.purposes-buttons {
  margin-bottom: 1rem;
}
.mobile .purposes-buttons {
  margin-bottom: 1rem;
  display: flex
}
.purposes-buttons button {
  margin-right: 1rem;
  line-height: 1.25;
}

.purpose-content-inner-wrap {
  display: flex;
  backdrop-filter: blur( 12px );
  max-width: 900vw;
}

.mobile .purpose-content-inner-wrap {
  flex-direction: column;
  font-size: 0.9rem;
  width: 100vw;
}

.split-para {
  display: flex;
  justify-content: center;
  align-items: center;
}
.split-para p {
  width: 320px;
}
.split-para button {
  width: 200px;
}

#origin-blurb-panel {
  display: flex;
  flex-direction: column;
  background: #ffffff99;
  padding: 2rem;
  width: 480px;
}

.mobile #origin-blurb-panel {
  width: 100%;
  padding: 1rem;
  background: #ffffffee;
}
  
#origin-blurb-panel h1,
#origin-blurb-panel p {
  color: #555;
}

.mobile #origin-blurb-panel h1 {
  font-size: 1.7rem;
}

#origin-blurb-panel {
}

#origin-stories-panel {
  background: #ffffff99;
  position: relative;
  width: 500px;
  padding: 2rem;
}

.mobile #origin-stories-panel {
  width: 100vw;
  padding: 0;
  margin: 0;
}

#origin-stories-panel > div {
  position: absolute;
  top: 2rem;
  left: 2rem;
  width: calc(500px - 4rem);
  transition: transform 200ms ease-out;
}
.mobile 
#origin-stories-panel > div {
  position: relative;
  width: 100vw;
  top: 0rem;
  left: 0rem;
  margin-bottom: 1rem;
}

#origin-stories-panel > div h1,
#origin-stories-panel > div p {
  color: #555;
}

#origin-stories-panel > #panel-purpose {
  transform-origin: center;
  transform: scale(0.5) translate(-190px, -100px);
  background: white;
  padding: 2rem;
  box-shadow: -2px 4px 20px #00000055;
  z-index: 1;
  margin-top: -100px;
}
#origin-stories-panel > #panel-vision {
  transform-origin: center;
  transform: scale(0.5) translate(-30px, -50px);
  background: white;
  padding: 2rem;
  box-shadow: -2px 4px 20px #00000055;
  z-index: 2;
  margin-top: -23px;
}
#origin-stories-panel > #panel-story {
  transform-origin: center;
  transform: scale(0.5) translate(140px, 100px);
  background: white;
  padding: 2rem;
  box-shadow: -2px 4px 20px #00000055;
  z-index: 3;
  margin-top: -70px;
}

.mobile #origin-stories-panel > #panel-purpose,
.mobile #origin-stories-panel > #panel-vision,
.mobile #origin-stories-panel > #panel-story,
.mobile .active #origin-stories-panel > #panel-purpose,
.mobile .active #origin-stories-panel > #panel-vision,
.mobile .active #origin-stories-panel > #panel-story {
  transform: scale(1) translate(0px, 0px);
  margin-top: 0;
  padding: 1rem;
}
.mobile #origin-stories-panel > #panel-purpose,
.mobile #origin-stories-panel > #panel-vision,
.mobile #origin-stories-panel > #panel-story { display: none;}
.mobile #origin-stories-panel > #panel-purpose.active ,
.mobile #origin-stories-panel > #panel-vision.active ,
.mobile #origin-stories-panel > #panel-story.active  { display: block; }

#origin-stories-panel > #panel-purpose.active,
#origin-stories-panel > #panel-vision.active,
#origin-stories-panel > #panel-story.active {
  
  transform: scale(1) translate(0px, 0px);
  z-index: 4;
  margin-top: 0;
  padding: 1rem;
}

.pitch-columns {
  margin-top: 2rem;
  column-count: 2;
  column-gap: 2rem;
}
.pitch-columns p {
  font-size: 1em;
  line-height: 1.4;
}

.mobile .pitch-columns {
  column-count: 1;
}

.example-panel {
  background: #ffffff99;
  padding: 2rem 2rem 1rem 2rem;
  border-radius: 8px;
  box-shadow: 0 0 10px -3px #00000055;
}
.example-panel p {
  font-family: 'Poppins';
  color: #555;
  font-size: 0.9em;
  line-height: 1.5;
}

section > div {
  padding: 2rem 4rem;
/*  width: clamp(720px, 100%, 1024px);*/
  height: calc(100vh - var(--headerHeight));
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.mobile section > div {
  height: auto;
}

section.bg-img > div > .content {
  padding: 4rem;
  min-width: 720px;
}
.mobile section.bg-img > div > .content {
  padding: 1rem;
  min-width: 80vw;
  font-size: 1rem;
}
.mobile section.bg-img.active > div > .content {
  padding: 1rem;
  min-width: 80vw;
  font-size: 1rem;
}
.content > h1:nth-of-type(1) {
  line-height: 1;
  margin-bottom: 2rem;
}
.mobile .content > h1:nth-of-type(1) {
  line-height: 1.5;
  margin-top: 1rem;
  margin-bottom: 1.5rem;
  font-size: 1.7rem;
}

.bg-dkBlue {
  background: #00f;
  --text-color: #fff;
}
.bg-dkRed {
  background: #8d0f35;
  --text-color: #fff;
}
.bg-dkGreen {
  background: #40882b;
  --text-color: #fff;
}
.bg-dkCyan {
  background: #187979;
  --text-color: #fff;
}
.bg-dkPurple {
  background: #57149a;
  --text-color: #fff;
}

.bg-img {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 1;
  transition: 300ms ease;
}
.bg-img.active {
  opacity: 1;
}


.bg-1 { background-image: url(../img/PencilHands.jpg); }
.bg-2 { background-image: url(../img/ChecklistWritingNoticeRememberPlanningassessmentConcepthom2.jpg); }
.bg-3 { background-image: url(../img/Youngbusinesswomanhandsholding.jpg); }
.bg-4 { background-image: url(../img/PencilHands.jpg); }
.bg-5 { background-image: url(../img/ChecklistWritingNoticeRememberPlanningassessmentConcepthom2.jpg); }
.bg-6 { background-image: url(../img/Youngbusinesswomanhandsholding.jpg); }
.bg-7 { background-image: url(../img/PencilHands.jpg); }
.bg-8 { background-image: url(../img/ChecklistWritingNoticeRememberPlanningassessmentConcepthom2.jpg); }
.bg-9 { background-image: url(../img/Youngbusinesswomanhandsholding.jpg); }
.bg-10 { background-image: url(../img/PencilHands.jpg); }
.bg-11 { background-image: url(../img/ChecklistWritingNoticeRememberPlanningassessmentConcepthom2.jpg); }


.content {
  transition: 500ms ease;
}

.bg-img .content {
  transform-origin: left;
  transform: translateX(-300px);
  opacity: 0;
}
.mobile .bg-img .content {
  transform: translateX(0px);
  opacity: 1;
}
.bg-img.bg-2 .content {
  transform: translateY(-300px);
  opacity: 0;
}
.mobile .bg-img.bg-2 .content {
  transform: translateY(0px);
  opacity: 1;
}
.bg-img.bg-4 .content {
  transform: translateY(300px);
  opacity: 0;
}
.mobile .bg-img.bg-4 .content {
  transform: translateY(0px);
  opacity: 1;
}
.bg-img.bg-7 .content {
  transform: translateX(300px);
  opacity: 0;
}
.mobile .bg-img.bg-7 .content {
  transform: translateX(0px);
  opacity: 1;
}
.bg-img.active .content {
  transform-origin: left;
  transform: translate(0px, 0px);
  opacity: 1;
}
.mobile .bg-img.active .content {
  transform-origin: left;
  transform: translate(0px, 0px);
  opacity: 1;
}

.mobile .bg-img.active .content {
  width: 100vw;
}
.mobile .bg-img .content {
  width: 100vw;
}

.bg-1 .content,
.bg-2 .content,
.bg-3 .content,
.bg-4 .content,
.bg-5 .content,
.bg-6 .content,
.bg-7 .content,
.bg-8 .content,
.bg-9 .content,
.bg-10 .content {
  background: #ffffffee;
  --text-color: #555;
  padding: 2rem;
  backdrop-filter: blur( 12px );
-webkit-backdrop-filter: blur( 12px );
  box-shadow: 0 0 30px -10px #00000066;
}
.bg-1 .content {
  
}
.bg-2 {
  background-position: 20% center;
  --text-color: #555;
}
.bg-2 .content {
  margin-right: 25rem;
  background: #ffffffee;
  color: #555;
  padding: 2rem;
  backdrop-filter: blur( 7.5px );
-webkit-backdrop-filter: blur( 7.5px );
}
.bg-3 .content,
.bg-4 .content {
  background: #ffffffee;
  width: 500px;
}
.bg-5 .content {
  background: #ffffffee;
  margin: 1rem;
}


.triptic {
  display: flex;
  width: 950px;
}
.triptic > div {
  border: 3px solid #aaa;
  width: 200px;
  padding: 2rem;
  overflow-x: hidden;
  z-index: 1;
  transition: 100ms ease;
  background: #ffffffaa;
  transform-origin: center;
  transform: scale(1);
  box-shadow: inset 0 0 100px #00000044
}

.triptic > div:last-of-type > * {
  margin-left: -300px;
}
.triptic > div:last-of-type:hover > * {
  margin-left: 0px;
}
.triptic > div.active:last-of-type > * {
  margin-left: 0px;
}

.triptic > div:hover,
.triptic > div.active {
  width: 550px;
  z-index: 3;
  background: #fffffff9;
}
.triptic > div:hover { background: #ffffffdd; }
}
.triptic > div.active:hover { background: #fffffff1; }
.triptic > div.active {
  transform: scale(1.04);
}

.triptic h3 { 
  color: var(--text-color);
  font-size: 1.5rem;
  width: 300px;
}
.triptic p {
  width: calc(500px - 4rem);
} 

.bg-5 > div {
  
}

.panel-menu {
  display: flex;
  justify-content: flex-start;
  z-index: 5;
}
.panel-menu-item {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #999;
  padding: 0.5rem 1.5rem;
  background: #ffffffee;
}
.panel-menu-item.active {
  transform-origin: center left;
  transform: scale(1.05);
  border-bottom: 3px solid white;
  background: #ffffff;
  z-index: 6;
  font-size: 1.5rem;
  
}
.panel-menu-item.active span.bold {
  animation: panelMenuItem 1.5s ease-out forwards;
}

@keyframes panelMenuItem {
  0% {
    color: var(--brand);
  }
  100% {
    color: #555;
  }
}

/*
.panels.content {
  margin: 0 0 1rem 0;
  background: #ffffffdd;
  height: 350px;
  border: 1px solid #999;
}

.panels.content > div {
  display: flex;
  flex-direction: column;
  opacity: 0.5;
  overflow: hidden;
  height: 0px;
  transition: opacity 300ms ease;
}
.panels.content > div.active {
  display: flex;
  flex-direction: column;
  opacity: 1;
  overflow: hidden;
  height: auto;
}*/
