
* {
  box-sizing: border-box;
  -webkit-user-select: none;
  user-select: none;
} 
canvas {
  user-select: auto;
  pointer-events: auto;
  -webkit-user-select: auto;
}
img {
  pointer-events: none;
  user-select: none;
}
body {
  
  background-color: #EEE9ED;  
  touch-action: pan-x pan-y;


}

.hideUntilLoaded {
  display: none;
}

.loaded .hideUntilLoaded {
  display: block;
}

.layerComposite.large {
  display: block;
  width: 2000px;
  height: 2000px;
}

#pngImage {
  z-index: 1000000;
position: absolute;
left: 0;
top: 0;
width: 100px;
}


.jump, .button.jump, .button.openGallery.jump {
  display: none;
}

h3.jump {
  margin: 20px;
  font-size: 36px;
  z-index: 1000000;
  position: relative;
}

#choiceGallery {
  position: relative;
  transition: transform 0.5s;
  transform: translateX(0);
  width: 100%;
}
#choiceGallery.right {
  transform: translateX(-100%);
}
.choiceGalleryPage {
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
}
.choiceGalleryPage:last-of-type {
  left: 100%;
}
.choiceGalleryPage img {
  width: 48%;
  margin: 1.0%;
  float: left;
  border: 8px solid white;
  opacity: 0;
  transform: scale(1.5);
  transition: opacity 0.5s, transform 0.5s;
  pointer-events: auto;
}
.choiceGalleryPage img.selected {
  border-color: #dd2f4f;
}
.choiceGalleryPage img.loaded {
  opacity: 1;
  transform: scale(1);
}

#canvas {

  z-index: 1000001;
  position: absolute;
  left: 0;
  top: 0;
  width: 300px;
}

html, body {
  margin: 0;
  padding: 0;
  font-family: 'Inter', sans-serif;
  color: #4c3946;
  font-weight: 300;
  /* height: 100%; */
  overflow: hidden;

  height: calc(var(--window-inner-height) - 1px);

  /* want to exclude padding from the height */
  box-sizing: border-box;

  

}
strong.link {
  font-size:20px;
}
body.screen.desktop strong.link {
  font-size: 50px;
}

:fullscreen, ::backdrop {
background-image: url(../img/dt_background.png);
    background-size: cover;
  background-color: #EEE9ED;
}

.tokenHolder img, .tokenHolder svg {
  width: 100%;
  display: block;
}

.answerExtremes {
  height: 25px;
}
.answerExtremes div {
  float: left;
  font-size: 15px;
  line-height: 18px;
  font-weight: 500;
}

.answerExtremes div:last-of-type {
  float: right;
  text-align: right;
}

.slider {
  height: 64px;
  position: relative;
  margin-bottom: 25px;
}
.sliderGhost {
  position: absolute;
  width: 102%;
  height: 100%;
  margin-left: -1%;
  margin-right: -1%;
}

.sliderGhost div {
  width: 23%;
  margin-left: 1%;
  margin-right: 1%;
  height: 64px;
  float: left;
  transition: background-color 0.333s;
  background-color: #ddd;
}

.sliderGhost div.chosen {
  background-color: #aaa;
}

.range {
  margin-left: 9%;
  margin-right: 9%;
  height: 40px;
  top: 11px;
  position: relative;
}

.rangeBar {
  position: absolute;
  height: 6px;
  top: 16px;
  background-color: black;
  border-radius: 2px;
  width: 100%;
  left: 0;
}
.rangeThumb {
  position: absolute;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #dd2f4f;
  top: 0px;
  left: 50%;
  margin-left: -20px;
}


.cRed {
  color: #dd2f4f;
}
a.cRed {
  text-decoration: underline;
  font-size: 17px;
}

.cYellow {
  color: #efbe3a;
}
.cGreen {
  color: #00a8aa;
}
.cBlue {
  color: #1755a4;
}

.bcRed {
  background-color: #dd2f4f;
}
.bcYellow {
  background-color: #efbe3a;
}
.bcGreen {
  background-color: #00a8aa;
}
.bcBlue {
  background-color: #1755a4;
}


.choiceGalleryNavOuter {
  width: 40%;
  margin-left: 5%;
  float: left;
}
.choiceGalleryNav {
  width: 32%;
  height: 36px;
  float: left;
  background-image: url(../img/arrow_left_red.png);
  background-repeat: no-repeat;
  background-size: 20px;
  background-position: center;
}
.choiceGalleryNav.right {
  background-image: url(../img/arrow_right_red.png);
}


.choiceGalleryNumber {
  width: 36%;
  float: left;
  height: 36px;
  line-height: 36px;
  text-align: center;
}

.introBranch {
  width: 100%;
  overflow: hidden;
  position: absolute;
  left: 0;
  top: 25%;
}
.introBranch img {
  width: 150%;
  margin-left: -25%;
}

#main .logo {
  padding-left: 30px;
  padding-top: 30px;
  width: 150px;
  max-width: 35%;
}



#main .logo img {
  display: block;
  width: 100%;
}

#main .page {
  position: absolute;
  display: none;
  height: 100%;
  width: 100%;
}
.introTitle {
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 100000;
  text-align: center;
}

.introTitle h1 {
  margin-bottom: 10px;
}

.introTitleInner {
  display: inline-block;
  padding: 20px;
}



.introTitle h2 {
  font-family: 'Inter', sans-serif;
  font-weight: 300;
  font-size: 22px;
  line-height: 1.3;
  font-style: normal;
  margin-left: 5%;
  margin-right: 5%;
}

.introFooter {
  position: absolute;
  bottom: 65px;
  width: 100%;
  text-align: center;
  z-index: 10000;
}


#main .page.moving {
  transition: transform 1s;
}

.parallaxComposite {
  position: absolute;
  left: 0;
  bottom: 40px;
  width: 100%;
}

.parallaxComposite.top {
  bottom: auto;
  top: 40px;
}

.parallaxComposite .parallax1.full, 
.parallaxComposite .parallax2.full, 
.parallaxComposite .parallax3.full {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
} 

.parallaxComposite.top .parallax1.full, 
.parallaxComposite.top .parallax2.full, 
.parallaxComposite.top .parallax3.full {
  bottom: auto;
  top: 50px;
} 

.parallaxComposite img {
  display: block;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
}
.parallaxComposite.top img {
  bottom: auto;
  top: 0;
}

.parallaxComposite img.sample {
  border: 8px solid white;
  width: 55%;
}

.parallaxComposite img.exploder {
  width: 50%;
  transform: scale(1.8);
  margin-left: 25%;
  transition: transform 4s;
}

.pageImpression .parallaxComposite .parallax:nth-of-type(1) img {
  transform:  rotate(6deg) translate(30%, -35%);
}
.pageImpression .parallaxComposite .parallax:nth-of-type(2) img {
  transform:  rotate(7deg) translate(90%, 35%);
}
.pageImpression .parallaxComposite .parallax:nth-of-type(3) img {
  transform:  rotate(-7deg) translate(-20%, 35%);
}

.pageImpression .parallaxComposite .parallax:nth-of-type(4) .introBallInner {
  transform: translate(-10%, 50vh);
}
.pageImpression .parallaxComposite .parallax:nth-of-type(5) .introBallInner {
  transform: translate(90vw, 2vh) scale(1.7) ;
}
.pageImpression .parallaxComposite .parallax:nth-of-type(6) .introBallInner {
  transform: translate(94vw, 55vh) scale(2.5) ;
}
.pageImpression .parallaxComposite .parallax:nth-of-type(7) .introBallInner {
  transform: translate(50%, 8vh);
}



.pageLast .parallaxComposite .parallax:nth-of-type(3) img {
  transform:  rotate(6deg) translate(30%, -35%);
}
.pageLast .parallaxComposite .parallax:nth-of-type(2) img {
  transform:  rotate(7deg) translate(90%, 35%);
}
.pageLast .parallaxComposite .parallax:nth-of-type(1) img {
  transform:  rotate(-7deg) translate(-20%, 35%);
}

.pageLast .parallaxComposite .parallax:nth-of-type(4) .introBallInner {
  
    transform: translate(30vw, -50vh) scale(1.2);
}
.pageLast .parallaxComposite .parallax:nth-of-type(5) .introBallInner {
  
    transform: translate(90vw, -30vh) scale(1.8);
}
.pageLast .parallaxComposite .parallax:nth-of-type(6) .introBallInner {
  transform: translate(94vw, -55vh) scale(1.2);
}
.pageLast .parallaxComposite .parallax:nth-of-type(7) .introBallInner {
  
    transform: translate(-5vw, -30vh) scale(1.5);
}

.pageExplore .parallaxComposite .parallax:nth-of-type(2) img {

    left: 41%;
    transform: scale(0.66) rotate(20deg);
    top: -6vh;
    border: 20px solid white;
}

.pageExplore .parallaxComposite .parallax:nth-of-type(1) img {
  
    left: -30%;
    transform: scale(0.66) rotate(-15deg);
    top: 0;
    border: 20px solid white;
}


#main .page.moving .parallax1, #main .page.moving .parallax2, #main .page.moving .parallax3  {
  transition:  transform 1s;
}

#main .page.current.down {
  transform: translateY(-100%);
}

#main .page.current.down .parallax1 {
  transform: translateY(-25vh);
}
#main .page.current.down .parallax2 {
  transform: translateY(-50vh);
}
#main .page.current.down .parallax3 {
  transform: translateY(-75vh);
}


#main .page.next.down {
  transform: translateY(100%);
}

#main .page.next.down .parallax1 {
  transform: translateY(25vh);
}
#main .page.next.down .parallax2 {
  transform: translateY(50vh);
}
#main .page.next.down .parallax3 {
  transform: translateY(75vh);
}


#main .page.current.up {
  transform: translateY(100%);
}
#main .page.current.up .parallax1 {
  transform: translateY(25vh);
}
#main .page.current.up .parallax2 {
  transform: translateY(50vh);
}
#main .page.current.up .parallax3 {
  transform: translateY(75vh);
}

#main .page.next.up {
  transform: translateY(-100%);
}

#main .page.next.up .parallax1 {
  transform: translateY(-25vh);
}
#main .page.next.up .parallax2 {
  transform: translateY(-50vh);
}
#main .page.next.up .parallax3 {
  transform: translateY(-75vh);
}


#main .page.next, #main .page.current {
  display: block;
  transform: translateY(0);
}

#main .page.current {

}


.firstPage {

    background-image: url(../img/map_mobile.png);
    background-size: cover;
}

.firstPage .parallaxComposite {

    top: 0;
    bottom: 0;  
}
.firstPage .parallaxComposite .parallax2 {

    width: 100%;
    height: 100%;
    background-image: url(../img/dots_mobile.png);
    background-size: cover;
}
#main .page.init {
  display: block;
  left: 90.0%;
  z-index: -1;
  opacity: 0.01;
  overflow-x: hidden;
  pointer-events: none;
}


.secondPage .parallaxComposite img {

    transform: scale(1.4) translateY(2vw);  
}
#jumpNext, #jumpPrev {
  background-color: #ccc;
  color: white;
  position: absolute;
  top: 0%;
  left: 50%;
  width: 65px;
  height: 25px;
  margin-left: -32.5px;
  z-index: 10000;
  text-align: center;
  font-size: 12px;
  border-radius: 32.5px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  transition: opacity 0.5s;

}
#jumpNext.hidden, #jumpPrev.hidden {
  opacity: 0;
  pointer-events: none;
}  
.questionNext.hidden {
  display: none;
}

#jumpNext img, #jumpPrev img {
  display: block;
  height: 8px;
  margin: 0 auto;
  margin-top:  7px;
}

#jumpNext {
  
  top: auto;
  bottom: 0;
  border-radius: 32.5px;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

#jumpNext img {
  margin-top: 10px;
}


html {
  overflow: hidden;
  width: 100%;
}
body {
  height: 100%;
  width: 100%;
}


#galleryBalls {
  position: relative;
}

#gallery .button.openQuestions,
.gridButtons .button.openQuestions
 {
    float: right;
}
.bubbleInner {
    padding: 12px;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 5px;
    margin: 20px;
    z-index: 10000000;
    text-align: center;
    font-size: 13px;
    box-shadow: 0 0 10px rgb(0, 0, 0, 0.1);
    position: absolute;
    top: 0;
    right: 0;
    left: 0;

}
.toast {
  display: none;
    z-index: 10000000;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    background-color: #4c3946;
    color: white;
    padding: 15px;
    padding-left: 55px;
    font-size: 15px;
    padding-top: 10px;
    padding-bottom: 11px;
    background-image: url(../img/arrows_scroll.png);
    background-repeat: no-repeat;
    background-size: 27px;
    background-position: 15px 15px;
}

#branches .toast {

    background-image: url(../img/arrows_up_down.png);
    padding-left: 42px;
    background-size: 11px;
}
.bubbleInner {
  position: static;
  font-size: 30px;
  font-family: "Averia Serif Libre", serif;
  font-style: italic;
  padding: 20px;
}
.bubbleInner span {

    display: block;
    font-size: 20px;
    padding-top: 10px;
}
.bubbleOuter {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}
.footer {
  font-size: 13px;
  margin: 20px;
  margin-top: 40px;
  text-align: center;
}

.footerProgress {
  position: absolute;
  left: 0;
  bottom: 25px;
  width: 50%;
  margin-left: 25%;
  margin-top: 20px;
  height: 5px;
  border-radius: 2px;
  background-color: #999;
  padding: 1px;
}

.footerProgressInner {
  width: 0;
  height: 3px;
  background-color: #eee;
  border-radius: 1px;
  transition: width 7s;
}
.footerProgressInner.go {
  width: 100%;
}

.galleryBall, .introBall {
  position: absolute;
  width: 15%;
  height: 0;
  padding-bottom: 15%;
  z-index: -1;
}
.question .introBall {
  z-index: auto;
}

.galleryBallInner, .introBallInner {
  position: absolute;
  left: 0;
  bottom: 0;
  top: 0;
  right: 0;
  border-radius: 50%;
}


.desktop .galleryBall {

  width: 10%;
  padding-bottom: 10%;
}

.galleryOuterMatrix {
  width: 100vh;
  height: 100vh;
  font-size: 100px;
  position: absolute;
  text-align: center;
  line-height: 30vh;
  left: 0;
  top: 0;
  z-index: 100;
}
#galleryWindow {
  position: relative;
  left: 0;
  top: 0;
  z-index: 100000;
}
.desktop .entry#fullView {
  left: 38%;
  width: 62%;
  z-index: 100001;
  display: none;
}
.desktop .entry#fullView.visible {
  display: block;
}


.galleryToken {
  position: relative;
  width: 33.333%;
  float: left;
  transform: scale(0.6);
  /* animation-name:  throb;
  animation-duration: 20s;
  animation-iteration-count:  infinite; */
}

@keyframes throb {
  0%  { transform: scale(0.6); }
  50% { transform: scale(0.75); }
  100% { transform: scale(0.6); }
}

.galleryToken img {
  display: block;
  width: 100%;
  opacity: 0;
  border: 10px solid white;
  transition: opacity 0.5s;
}
.galleryToken img.visible {
  opacity: 1;
}

.galleryOuterMatrix.xMinus1 {
  left:  -100vh;
}
.galleryOuterMatrix.x0 {
  left:  0;
}
.galleryOuterMatrix.x1 {
  left:  100vh;
}


.galleryOuterMatrix.yMinus1 {
  top:  -100vh;
}
.galleryOuterMatrix.y0 {
  top:  0;
}
.galleryOuterMatrix.y1 {
  top:  100vh;
}

/* 
.desktop .galleryOuterMatrix.y1 {
  top:  185vh;
}

.desktop .galleryOuterMatrix.yMinus1 {
  top:  -185vh;
}

.desktop .galleryOuterMatrix {
  width: 185vh;
  height: 185vh;
}
*/

.center {
  text-align: center;
}

#loader {

    position: fixed;
    width: 100%;
    /* height: 100%; */
    font-size: 40px;
    line-height: 40px;
    height: 40px;
    top: 50%;
    margin-top: -20px;
    z-index: 0;
    color: white;
    text-align: center;
}
strong {
  font-weight: 500;
}
h1, h2, h3, h4, h5 {
  margin: 0;
  padding: 0;
  text-align: center;
  font-size: 60px;
  line-height: 1.05;
  font-weight: 300;
  font-family:  'Averia Serif Libre', serif;
}

h2, 
h3, 
h4, 
h5 {
  font-size: 33px;
  text-align: left;
  margin-bottom: 0.6em;
}
#q0 .introBall:nth-of-type(1) {

    left: -3%;
    top: -2%;
    transform: scale(1.5);
}
#q0 .introBall:nth-of-type(2) {
  
    left: 60%;
    transform: scale(0.7);
}
#q0 .introBall:nth-of-type(3) {
      right: -5%;
    top: -2%;
    transform: scale(1.4);
}
#q0B {

    background-image: url(../img/map_mobile.png);
    background-size: cover;
}
#q0B .introBall:nth-of-type(1) {

    left: 80%;
    top: 60%;
    transform: scale(1.0);
}
#q0B .introBall:nth-of-type(2) {
  
    left: 3%;
    top: 20%;
    transform: scale(1.1);
}
#q0B .introBall:nth-of-type(3) {
      right: 30%;
    top: 15%;
    transform: scale(1.4);
}

#q0B .introBall:nth-of-type(4) {
    left: -5%;
    top: 80%;
    transform: scale(1.7);
}
h4, h5 {
  padding-top: 0.8em;
}

.introTitle h2 {
  margin-bottom: 0;
  text-align: center;
}

a {
  color: #dd2f4f;
  text-decoration: none;
}


.button, .questionNext, .openMyArtwork {
  display: inline-block;
  text-align: center;
  padding: 11px;
  background-color:  #dd2f4f;
  padding-left: 20px;
  padding-right: 20px;
  font-size: 14px;
  line-height: 1.1;
  border-radius: 5px;
  text-decoration: none;
  color: white;
  font-weight: 500;
}
.button.backToIntro, .skip, .addToGallery, .download, .share {
  color:  #dd2f4f;
  background-color: transparent;
  text-decoration: underline;
}

.download, .share {
  background-image: url(../img/download.png);
  background-repeat: no-repeat;
  background-size: 18px;
  background-position: 10% 50%;
}



.download.active {
  background-color: #fff;
}

.share {

  background-image: url(../img/share.png);
}

.button.revert {
    margin-left: 0 !important;
    background-color: white;
    color: #dd2f4f;
    border: 1px solid #dd2f4f;
}
.button.happy {
  float: right;
}

.button {
  display: inline-block;
  width: 47.5%;
  font-weight: 500;
}

.pageInner {
  padding: 30px;
  position: relative;
  z-index: 100000;
  padding-bottom: 30px;
  padding-top: 30px;
  background-color: rgba(238, 233, 237, 0.7);
}
.pageCenter {
  position: relative;
  top: 50%;
  transform: translateY();
}

.pageInner.bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding-bottom: 30px;
  padding-top: 30px;
}

#completeLinks {
  margin-left: -1%;
  margin-right: -1%;
}
#completeLinks .button {
  width: 31.3333%;
  margin-right: 1%;
  margin-left: 1%;
  float: left;
  font-size: 12px;
  padding: 7px;
  padding-left: 13px;
  padding-right: 13px;

}


.questionPrev {
  padding: 8px;
  font-size: 15px;
  line-height: 1.1;
  width: 50%;
  float: left;
    text-align: center;
    text-decoration: underline;
  display: none;
}

.questionNext, .openGallery, .openMyArtwork {
  width: 47.5%;
}
.galleryFooter .openGallery {
  float: right;
}
.questionNext {
  float: right;
}

.openMyArtwork {
  margin-right: 0;
  margin-left: 3%;
}

#questions {
  position: absolute;
  left: 0;
  height: 100%;
  overflow: hidden;
  z-index: 200000;
  transform: translateX(100%);
  transition: transform 0.5s;
}



.question {
  background-color: #EEE9ED;
  height: 100%;
  position: absolute;
  top: 0;
  overflow: hidden;
  overflow-y: auto;
  padding: 20px;
}

.question#q6Adjust {
  padding: 0;
}

.layoutHeader {
  padding: 12px;
  
  background-color: white;
  position: relative;

    padding-left: 20px;
    padding-right: 20px;
}
.layoutHeader div, .layoutControl div {
  float: left;
}

.layoutHeader p {
  margin: 0;
  padding: 0;
}
strong.number {
    width: 20px;
    display: block;
    float: left;
}
span.number {
    width: 20px;
    display: inline-block;
}

.layoutHeader div:first-of-type {
  background-color: #dd2f4f;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  text-align: center;
  float: right;
    position: absolute;
    right: 20px;
}
.layoutHeader div:last-of-type {
  width: 100%;
  background-color: white;
}
.layoutHeader div:last-of-type,
.layoutControl div {
  font-size: 15px;
  line-height: 18px;
}
.layoutControl div {
  line-height: 35px;
}
.layoutHeader div img {
  display: block;
  height: 24px;
  margin: 0 auto;
  position: relative;
  top: 5px;
}


.layoutControl {
  background-color: rgba(0, 0, 0, 0.1);
  padding: 20px;
  padding-top: 15px;
  padding-bottom: 15px;
  font-size: 11px;
  line-height: 12.5px;
}
#q6Adjust .tokenHolder {
  padding: 20px;
}
#q6Adjust .newTokenHolder {
  margin-top: 0;
}

#q6Adjust .newTokenHolder.animating img {
  transition:  transform 0.9s;
}

.question .introBranch {
  top: 0;
}

.layoutControl .layers {
  float: right;
}
.layoutControl .layers div {
  height: 34px;
  width: 34px;
  border-radius: 3px;
  margin-left: 14px;
  float: right;
}

.layoutControl div:nth-of-type(2) {
    font-size: 14px;
    line-height: 32px;
}

.layoutControl .layers div:nth-of-type(3) {
  
  background-color: #666;
}
.layoutControl .layers div:nth-of-type(2) {
  
  background-color: #999;
}
.layoutControl .layers div:nth-of-type(1) {
  
  background-color: #ddd;
}

.layoutControl .layers div.selected {
  
  border: 4px solid white;
}


.question#q0 .questionInner {
  padding-top: 20%;
}

p.footnote {
  font-size: 11px;
  padding-bottom: 20px;
  padding-top: 20px;

}
p {
  font-size: 14px;
  line-height: 1.2;
  padding: 0;
  margin-block-start: 0;
  margin-block-end: 0.6em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
}

.pageInner p:last-of-type {
  margin-block-end: 0;
}

.questionHeader {
  clear: both;
}


.answersOuter {
  position: relative;
}

.answerNumbers, .answerRadios {
  position: absolute;
  left: 0;
  top: 0;
  width: 35px;
}

ul.answers {
  margin: 0;
  padding: 0;
  list-style-type: none;
  margin-bottom: 5vh;
}

ul.answers li, .answerNumbers div, .answerRadios div {
  list-style-type: none;
  font-size: 15px;
  line-height: 1.1;
  padding: 8px;
  padding-left: 12px;
  padding-right: 12px;
  margin-bottom: 7px;
  border: 1px solid #DBD4D9;
}
ul.answers.sortable li, ul.answers.radio li {
  margin-left: 40px;
}

.sortable .answer {
  background-image: url(../img/drag.png);
    background-position: right;
    background-repeat: no-repeat;
    background-size: 15px;
}

ul.answers.radio li {
  transition: background-color 0.33s;
}

ul.answers.radio li.chosen {
  background-color: #ddd;
}


.answerRadios div {
  border-radius: 50%;
  width: 34.5px;
  height: 34.5px;
  position: relative;
  transition: background-color 0.33s;

}


.answerRadios div.chosen {
  background-color: #dd2f4f;
}

.questionHeader::after, .answers::after, .layoutHeader::after, .layoutControl::after, .buttonRow::after, .answerOuter::after {
   content: " "; /* Older browser do not support empty content */
   visibility: hidden;
   display: block;
   height: 0;
   clear: both;
}
#finalButtons {
  padding-top: 15px;
}
#finalButtons .button {
    width: 42.5%;
    margin-left: 2.5%;
    margin-right: 2.5%;
    border: 1px solid #D82B18;
    text-align: right;
}
.buttonRow {
  padding-top: 10px;
  margin-bottom: 20px;
}
.buttonRow div:first-of-type, .answerOuter .button:first-of-type {
  float: left;
}
.buttonRow div:last-of-type, .answerOuter .button:last-of-type, .galleryFooter .button:last-of-type {
  float: right;
}
.buttonRow div.openQuestions:last-of-type, .questionNext.personalise, #q7Complete .questionNext {
  float: none;
  width: auto;
  margin: 0 auto;
  font-size: 18px;
  padding-left: 30px;
  padding-right: 30px;
}

#q7Complete .questionDetails {
  text-align: center;
}

.pageInner .buttonRow {
  text-align: center;
}
.newTokenHolder {
  
  position: relative;
  width: 100%;
  padding-bottom: 100%;
  margin-top: 5vh;
  overflow: hidden;

}

.newTokenFooter {
  position: absolute;
  display: none;
  left: 20px;
  opacity: 0;
  bottom: 0;
  padding-bottom: 20px;
  right: 20px;
  pointer-events: none;
  transition: opacity 1s, transform 1.5s;
  opacity:  0;
  z-index: 90000;

    border-left: 1px solid #666;
    padding-left: 12px;

    transform: translateY(100%);
}


.newTokenFooter h3 {
      color: #333;
    font-size: 30px;
    text-align: left;
    line-height: 1.1;
    margin-bottom: 4px;
    font-weight: normal;
}

.newTokenFooter h4 {
    font-size: 13px;
    color: #666;
    text-align: left;
    line-height: 1.1;
    font-weight: normal;
    font-style: italic;
    margin-bottom: 15px;
}

.newTokenFooter.visible,
.newTokenHolder.visible {
  opacity: 1;
  transform: translateY(0);
    pointer-events: auto;
}

.newTokenHolder .layer {
  position: absolute;
  width: 100%;
  height: 100%;
}


.newTokenHolder .layer.editable {
  transition: none;
}

.layer {
  pointer-events: none;
}

.baseColour {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
}


.sortable-drag {
  background-color: #dd2f4f;
  color: white;
}

.questionDetails {
  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 20px;
}

.questionDetails p {
  margin: 0;
  padding: 0;
  margin-bottom: 2em;
}

#q7Complete .questionDetails p {
  margin-bottom: 1em;
}

.inputFocused .questionDetails {
  bottom: auto;
  top: 20px;
}

.inputFocused .questionHeader {
  display: none;
}

.inputFocused .newTokenHolder {
  display: none;
}

.questionText {
  margin-top: 10px;
  clear: both;
  font-size: 23px;
  line-height: 1.2;
  margin-bottom: 15px;
}


.questionSubtext {
  font-size: 12px;
  line-height: 1.1;
  margin-bottom: 20px;
}





.questionNext.disabled {
  pointer-events: none;
  opacity: 0.33333;
}

.questionHeader h5 {
  float: left;
  font-size: 14px;
  line-height: 30px;
  color: black;
  font-weight: normal;
}


.textAnswerOuter {
  padding-bottom: 10px;
}
.textAnswerOuter textarea {
  width: 100%;
  height: 150px;
  font-size: 15px;
  line-height: 20px;
  font-family: Helvetica, Arial, sans-serif;
  border-width: 0;
  border-radius: 3px;
  padding: 10px;

  -webkit-user-select: auto;
  user-select:  auto;
}

.skip, .addToGallery, .download, .share {

    color: #D82B18;
    text-decoration: underline;
}
#gallery .share,
.gridButtons .share  {

    border: 1px solid #D82B18;
    background-color: rgba(255, 255, 255, 0.75);
}
.sectionTitle {

    font-size: 10px;
    line-height: 1.1;
    padding-bottom: 4px;
    border-bottom: 2px solid #bbb;
    margin-bottom: 5vh;
}

.questionNote {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 15px;
}


#branches {
  position: absolute;
  background-color: #EEE9ED;  
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  display: none;
  z-index: 100000;
  opacity: 0;
  transform: scale(0.5);
  transition: opacity 0.5s, transform 0.5s;
}

#branches.ready {
  display: block;
}

#branches.visible {
  opacity: 1.0;
  transform: scale(1.0);
}
.gridButtons {
  display: none;
}

#gallery, .mobile #gridOuter {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  background-color: #EEE9ED;  
  z-index: 100000;
  display: none;
  opacity: 0;
  transform: scale(1.5);
  transition: opacity 0.5s, transform 0.5s;
}

.gridItem {
  float: left;
  width: 33.33333%;
  height: 0;
  padding-bottom: 33.33333%;
}
.gridItem img {
    width: 100%;
    transition: opacity 0.33s;
    display: block;
    opacity: 0;
    border: 7px solid #EEE9ED;
    padding: 5px;
    background-color: white;

}
.gridItem img.loaded {
  opacity: 1;
}


.mobile #gridOuter {
  position: absolute;
  overflow-y: scroll;
  bottom: 1px;
  overflow-y: auto;
}

.mobile #grid {

  margin: 7px;
}
#grid::after {
  content: "";
  clear: both;
  display: table;
}


#gallery.ready, .mobile #gridOuter.ready {
  display: block;
}
#gallery.visible, .mobile #gridOuter.visible {
  opacity: 1;
  transform: scale(1.0);
}

.desktop #gallery {
  left: 41%;
  background-color: transparent;
  transition: opacity 0.33s, filter 0.33s;
}
.desktop #gallery.blurred {
  opacity: 0.15;
  filter: blur(2px);
  pointer-events: none;
}

.desktop #dtLeft {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 38%;
}

.desktop #gallery .galleryToken img {
  border-width: 12px;
}

#dtHeader {
  position: absolute;
  left: 3vw;
  top: 3vw;
}
#dtHeader img {
  display: block;
  width: 150px;
}
#dtMiddle {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  padding-left: 3vw;
}

#dtMiddleQR {
  height: 150px;
}
#dtMiddle h1 {
  text-align: left;
  font-size: 6vw;
  margin-bottom: 1vw;
}
#dtMiddle h2 {
  font-size: 1.4vw;
  font-style: normal;
  font-weight: 300;
  font-family: 'Inter', sans-serif;
  margin-bottom: 5vw;
}
#qrColImg {
  float: left;
  height: 150px;
  margin-left: -3vw;
  border-left: 3vw solid white;
}
#qrColImg img {
  height: 100%;
  display: block;
}
#qrColText {
  float: left;
  height: 150px;
  position: relative;
}
#qrColTextInner {
  position: absolute;
  bottom: 0;
  left: 30px;
}
#qrColTextInner p {
  font-size: 1.0vw;
}
#dtFooter {
  position: absolute;
  bottom: 1.75vw;
  left: 3vw;
  line-height: 2;
  font-size: 15px;
}
#dtFooter img {
  display: inline-block;
  height: 30px;
}
.footerCol {
  float: left;
}
.footerCol.text {
  margin-right: 10px;
}
.footerCol.image {
  margin-right: 20px;
}


.entry {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;

}

.entry.old {
    opacity: 1.0;
    transition: opacity 0.5s, transform 0.5s;
}
.entry.old.leaving {
    transform: translateX(30%) translateY(60%) scale(0.6);
    opacity: 0.0;
}
.entry.old.leaving.top {
    transform: translateX(30%) translateY(-60%) scale(0.6);
    opacity: 0.0;
}


.entry.old.leaving.left {
    transform: translateX(-30%) translateY(60%) scale(0.6);
    opacity: 0.0;
}


.entry.old.leaving.left.top {
    transform: translateX(-30%) translateY(-60%) scale(0.6);
    opacity: 0.0;
}


.entry.new {
  opacity: 0.0;
  transform: translateX(-30%) translateY(-60%) scale(1.5);
  transition:  opacity 0.5s, transform 0.5s;
}


.entry.new.top {
  opacity: 0.0;
  transform: translateX(-30%) translateY(60%) scale(1.5);
  transition:  opacity 0.5s, transform 0.5s;
}

.entry.new.left {
  opacity: 0.0;
  transform: translateX(30%) translateY(-60%) scale(1.5);
  transition:  opacity 0.5s, transform 0.5s;
}

.entry.new.left.top {
  opacity: 0.0;
  transform: translateX(30%) translateY(60%) scale(1.5);
  transition:  opacity 0.5s, transform 0.5s;
}



.entry.new.entering, .entry.new.entering.top, .entry.new.entering.left , .entry.new.entering.top.left {
  transform: translateX(0) translateY(0) scale(1);
  opacity: 1.0;
}

.branchOuter {
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
  height: 140%;
}


.branch {
  position: absolute;
  background-image: url(../img/Branch_R1.png);
  background-repeat: no-repeat;
  background-size: 100%;
  width: 160%;
  left: -30%;
  height: 100%;
  background-position: top right;
  top: 25%;
}


.callout {
  position: absolute;
  bottom: -20px;
  right: 20px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #4c3946;
  color: white;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  transform: rotate(5deg);
  z-index: 200000;

  font-family: "Averia Serif Libre", serif;
}
.callout div {
  position: relative;
  top: 50%;
  margin-left: 5%;
  margin-right: 5%;
  transform: translateY(-50%);
}

.mirror .branch {  
  background-image: url(../img/Branch_L1.png);
}

.frameOuter, .rearOuter {
  width: 100%;
  position: absolute;
  top: 20%;
  transition: opacity 0.2s linear, transform 0.2s linear, margin-top 0.2s linear;
  margin-top: 0;
  z-index: 100000;
}
#fullView .frameOuter, #fullView .rearOuter {
  top: 10%;
}

.rearOuter .static p {
    font-size: 11px;
    margin: 0;
    padding: 0;
    padding-bottom: 12px;
    line-height: 15px;
}

.icon_marker {
  display: inline-block;
    width: 11px;
    height: 15px;
    background-image: url(../img/icon_marker_red.png);
    background-repeat: no-repeat;
    background-size: cover;
    margin-left: 2px;
    margin-right: 2px;
    position: relative;
    top: 3px;
}

.page .frameOuter, .page .rearOuter {
  top: 75px;
}

.page .rearOuter .frame {
  height: 340px;
}


.desktop .frame {
  transition: none;
}


.desktop .frame.animating {
  transition: transform 1s, opacity 1s;
}

.closeFullView {

    position: absolute;
    right: 20px;
    top: 20px;
    background-color: white;
    width: 50px;
    height: 50px;
    text-align: center;
    line-height: 47px;
    border-radius: 50%;
    font-size: 30px;
    display: none;
}

#dtFrameOuter {
  display: none;

    position: absolute;
    z-index: 440000;
    width: 500px;
    height: 750px;
    top: 50%;
    transform: translateY(-50%);
    right: 20%;
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.5);
}
#dtIframe {
  width: 100%;
  height: 100%;
}
.dtHide {
    position: absolute;
    top: -10px;
    right: -10px;
    width: 30px;
    height: 30px;
    background-color: #ccc;
    border-radius: 50%;
    background-image: url(../img/hide.png);
    background-size: 20px;
    background-repeat: no-repeat;
    background-position: center;
}

.screen .dt {
  display: none;
}

.screen .callout, .screen .closeFullView {
  opacity: 0;
}
.screen #dtTarget p {
  display: none;
}

#dtTarget p {
  margin-bottom: 20px;
}

#dtTarget {
  padding: 20px;
}

.galleryFooter {

  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 20px;
  z-index: 100001;
}


#gallery .galleryFooter.preliminary .openMyArtwork,
#gallery .galleryFooter.preliminary .share,
.gridButtons.galleryFooter.preliminary .openMyArtwork,
.gridButtons.galleryFooter.preliminary .share
{
  display: none;
}
#gallery .galleryFooter.final .openQuestions,
.gridButtons.galleryFooter.final .openQuestions {
  display: none;
}

#branches .rearOuter .frame {
  height: 100%;
}

.rearOuter {

  transform: rotateY(90deg);
}

#branches .rearOuter {
  top: 5%;
  bottom: 10%;
}

.showRear .rearOuter {
  transform: rotateY(0);
}


.hideFront .frameOuter {
  transform:  rotateY(-90deg);
}

.modal {
  display: none;
  opacity: 0;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  margin: 10px;
  background-color: white;
  border-radius: 5px;
  transition: opacity 0.5s;
    z-index: 1000000;
}
.modal#subscribeModal {
  background-color: rgba(0, 0, 0, 0.5);
    margin: 0;
    border-radius: 0;
}
.modal#subscribeModal .modalInner {
  margin-left: 15px;
  margin-right: 15px;
    background-color: #eee;
    border-radius: 10px;
    position: relative;
    padding: 30px;
    
    top: 50%;
    transform: translateY(-50%);
}

.modal#newImprints {
  left: auto;
  right: auto;
  top: auto;
  bottom:  auto;
  margin: 0;
  transform: translateY(0%);
  top: 50%;
  background-color: transparent;
  text-align: center;
  transition:  transform 0.5s, opacity 0.5s;
  width: 96%;
  margin-left: 2%;
}

.modal#newImprints.open {

  transform: translateY(-50%);
}


.modal#newImprints .modalInner {

  background-color: #4c3946;
    width: auto;
    margin: 0 auto;
    display: inline-block;
    border-radius: 20px;
}
.modal#newImprints h1 {
  color: white;
}
.news {
  margin: 5px;
  margin-top: 25px;
  margin-bottom: 25px;
  height: 21vw;
  min-width: 23vw;
}
.news img {
  float: left;
  display: block;
  margin-left: 20px;
  margin-right: 20px;
  width: 21vw;
  height: auto;
  margin-bottom: 25px;
  transition:  opacity 0.5s;
  opacity: 0;
}
.news img.visible {
  opacity: 1;
}
.checkboxRow {

    margin-bottom: 18px;
    font-size: 12px;
    line-height: 13px;
    height: 26px;
    position: relative;
}
.checkbox {
    width: 26px;
    height: 26px;
    border: 1px solid #aaa;
    border-radius: 3px;
    position: relative;
}
.subscribe {
  float: right;
}
.skipSubscribe {
  background-color: transparent;
  color: #dd2f4f;
  text-decoration: underline;
}
.checkbox .check {

    font-size: 23px;
    line-height: 26px;
    text-align: center;
    opacity: 0;
    transition: opacity 0.33s;
}
.checkbox.checked .check {
  opacity: 1;
}
.checkboxLabel {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 35px;
}
#subscribeModal input {

    background-color: white;
    display: block;
    width: 100%;
    padding: 10px;
    font-size: 14px;
    line-height: 1.1;
    border: 1px solid #aaa;
    border-radius: 5px;
    margin-bottom: 13px;
}
.modalInner {
  padding: 20px;
  padding-top: 40px;
}
.modalInner p, .modalInner h2 {
  margin-bottom: 15px;
}
.modal.ready {
  display: block;
}
.modal.open {
  opacity: 1;
}

.closeModal {
  position: absolute;
  right: 5px;
  top: 5px;
  color: white;
  font-size: 20px;
  line-height: 30px;
  text-align: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
}

p .logoLink {
  display: inline-block;
  width: 100px;
  margin-right: 20px;
  margin-bottom: 15px;
}
p .logoLink img {
  display: block;
  width: 100%;
}

.frame, .rear {
  width: 320px;
  margin: 0 auto;
  background-color: #fff;
  padding-top: 15px;
  padding-bottom: 15px;
  position: relative;
}
.desktop .rearOuter .frame {
  background-color: white;
}
.frame .token {
  width: 290px;
  margin: 0 auto;
  height: 290px;
}
.frame .token img, .frame .token svg {
  width: 100%;
  display: block;
  height: 290px;
}

.frame .token .layerImg img {
  height: 50px;
  width: 100%;
}

.desktop .frame .token .layerImg img {
  height: 70px;
}

.desktop .frame, .desktop .rear {
  width: 80vh;
  height: 80vh;
  padding-top: 0;
  padding-bottom: 0;
}
.desktop .frame .token {
  height: 100%;
  width: 100%;
  border: 20px solid white;
}

.desktop .frame .token img {
  height: 100%;
}

.rearOuter .frame .token {
  height:  auto;
}

.layerRow, .colourRow {
  margin-bottom: 15px;
  position: relative;
  font-size: 12px;
}


.desktop .layerRow, .desktop .colourRow {
  margin-bottom: 22px;
  font-size: 18px;
}
.desktop .colourRow {
  margin-top: 20px;
}

.colourRow span {
  float: right;
}
.colourRow {
  text-transform: uppercase;
    border-bottom: 1px solid #ddd;
    border-top: 1px solid #ddd;
    padding-bottom: 10px;
    padding-top: 10px;
}
.layerRow {

  min-height: 50px;
}

.desktop .layerRow {
  min-height: 70px;
}

.layerImg {
  width: 50px;
  height: 50px;
  position: absolute;
  top: 0;
  left: 0;
}

.desktop .layerImg {
  width: 70px;
  height:  70px;
}

.layerInfo {
  margin-left: 60px;
}


.desktop .layerInfo {
  margin-left: 85px;
}





.layerInfo h4 {
    font-family: 'Inter', sans-serif;
    font-style: normal;
    font-weight: 300;
    font-size: 11px;
    padding-top: 0.35em;
}

.layerInfo h3 {

    font-size: 12px;
    line-height: 1.25;
    font-weight: 500;
    color: #333;
    text-align: left;
    margin: 0;
    padding: 0;
    max-height: 32px;
    overflow: hidden;
    margin-bottom: 2px;
    font-family: 'Inter', sans-serif;
    font-style: normal;
    text-transform: uppercase;

}

.layerInfo h3 a.link {
    display: inline-block;
    background-image: url(../img/icon_marker_red.png);
    background-repeat: no-repeat;
    background-size: 9px;
    width: 9px;
    height: 17px;
    /* line-height: 20px; */
    padding-left: 5px;
    margin-top: -5px;
    position: relative;
    top: 5px;
    margin-left: 5px;
    padding-right: 5px;
}
.desktop .layerInfo h3 {
  font-size: 18px;
}
.desktop .layerInfo h3 a.link {
    top: 3px;
}
.desktop .layerInfo h4 {
  font-size: 16px;
}

.layerInfo h3 span {
  float: right;
  text-transform: none;
}

.desktop .layerInfo h3 span {
  font-size: 15px;
}

.layerInfo p {
  font-size: 12px;
  line-height: 1.1;
  color: #666;
  text-align: left;
  margin: 0;
  padding: 0;
}
.page .layerInfo p {
  line-height: 50px;
}

.rearOuter h2 {
  font-size: 15px;
  line-height: 1.1;
  text-align: left;
  margin: 0;
  padding: 0;
  font-weight: normal;
  margin-bottom: 10px;
  border-bottom: 1px solid #ddd;
  padding-bottom: 10px;

}

.desktop .rearOuter h2 {
  font-size: 30px;
  margin-bottom: 25px;
}

.rearOuter h2 span {
  display: block;
  float: right;
  font-size: 12px;
  position: relative;
  top: 2px;
  color: #999;
}

.desktop .rearOuter h2 span {
  font-size: 20px;

    position: relative;
    top: 8px;
}

.desktop .quoteHolder {
  bottom: 40px;
}

.graphs {
  position: absolute;
  bottom: 20px;
}

.newTokenFooter .graphs {

    right: 0;
    bottom: 62px;
}
.newTokenFooter .barChart {

    float: right;
    bottom: 0;
    height: 50px;
}

.newTokenFooter .chartTitle, .newTokenFooter .barLegend {
  display: none;
}

.newTokenFooter .barInner {
  bottom: 0;
 }
.newTokenFooter .barOuter {
  height: 50px;
 }

.barChart {
  width: 80px;
  height: 70px;
  float: left;
}

.chartTitle {
  position: absolute;
  bottom: 20px;
  left: 95px;
  width: 180px;
  font-size: 12px;
  line-height: 1;
}
.barOuter {
  width: 20%;
  float: left;
  position: relative;
  height: 70px;
}



.barInner {
  position: absolute;
  bottom: 15px;
  top: 20px;
  width: 100%;
  background-color: grey;
}

.barOuter:nth-of-type(1) .barInner {
  background-color: rgb(200, 100, 100);
}
.barOuter:nth-of-type(2) .barInner {
  background-color: rgb(100, 200, 100);
  top: 0;
}

.barOuter:nth-of-type(3) .barInner {
  background-color: rgb(100, 200, 200);
  top: 30px;
}
.barOuter:nth-of-type(4) .barInner {
  background-color: rgb(100, 100, 200);
  top: 20px;
}
.barOuter:nth-of-type(5) .barInner {
  background-color: rgb(200, 100, 200);
  top:  15px;
}

.barLegend {
  position: absolute;
  width: 100%;
  text-align: center;
  bottom: 0;
  font-size: 12px;
  line-height: 1;
}

.quoteHolder {
  position: absolute;
  top: auto;
  bottom: 25px;
  left: 20px;
  right: 20px;
}
.quoteHolder span {
  font-size: 12px;
  text-align: center;
  display: block;
  border-bottom: 1px solid #ccc;
  margin-bottom: 10px;
  padding-bottom: 3px;
  margin-left: 15px;
  margin-right: 15px;
  opacity: 0;
}
.quoteHolder.visible span {
  opacity: 1;
}
.quoteHolder div {
  font-size: 18px;
  line-height: 1.1;
  color:  #999;
  margin-left: 15px;
  margin-right: 15px;
  
  text-align: center;
  font-family: 'Averia Serif Libre', serif;
  font-style: italic;

}
#rotateOverlay {
  display: none;
}

.dataRow {
  height: 28px;
  width: 100%;
  position: relative;
  margin-bottom: 2px;
  background-color: #bbb;
}

#branches .datavis {
  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 20px;
}

.desktop .datavis {
  
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
}
.page .datavis {
  margin-top: 20px;
}
.dataLegendRow {
  padding-top: 8px;
  text-align: center;
}
.dataLegendFigure {
  position: relative;
}

.dataFigure {
  width: 13px;
  height: 13px;
  background-color: #4c3946;
  border-radius: 50%;
  position: absolute;
  top: 7px;
  z-index: 20;
}
.dataFigure.average {
  border-width: 0;
  background-color: white;
  border-radius: 0;
  width: 11px;
  height: 11px;
  top: 8px;
  z-index: 19;
}

.dataRow .dataFigure {
  margin-left: -6.5px;
}

.dataRow .dataFigure.average {
  margin-left: -5.5px;
}

.dataBar {
  margin-left: 25%;
  margin-right: 25%;
  background-color: #4c3946;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  height: 2px;
}
.dataLabel {
  font-size: 11px;
  line-height: 28px;
  float: left;
  margin-left: 7px;
  margin-right: 7px;
}
.dataLegendText {
  margin-left: 16px;
  margin-right: 10px;
}
.dataLegend {
  display: inline-block;
}
.dataLegend .dataFigure {
  top: 0;
}

.dataLabel:nth-of-type(2) {
  float: right;
}
.dataLegendText {
  font-size: 11px;
  line-height: 1.1;
}

@media (orientation: landscape) and (max-width: 1600px) {
  #dtFooter img {
    height: 20px;
  }
}

@media (orientation: landscape) and (min-width: 1000px) {
  body {
    background-color: #ddd;
  }
  body.desktop {
    background-image: url(../img/dt_background.png);

    background-size: cover;

  }
  #desktopContainer {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow-y: auto;
  }
  #desktopContainerInner {
    width: 500px;
    height: 750px;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    overflow: hidden;

    margin: 0 auto;

    background-color: #EEE9ED;
  }
  .layoutHeader div:last-of-type,
  .layoutControl div {
    line-height: 25px;
  }

}
@media (orientation: portrait) and (max-height: 570px) {

  .dataRow {
    height: 18px;
  }

  .page .datavis {
    margin-top: 35px;
  }

  .dataFigure {
    
    top: 2px;
  }
  .dataFigure.average {
    
    top: 3px;
  }

  .dataLabel {
    line-height: 18px;
  }
  #quoteHolder {
    top: 260px;
    bottom: 120px;
  }
  .parallaxComposite {
    bottom: 25px;
  }
  .parallaxComposite.top {
    bottom: auto;
    top: 25px;
  }
  .page .frameOuter, .page .rearOuter {
    top: 40px;
  }

  .pageInner {
    padding-top: 40px;
    padding-bottom: 40px;
  }

} 
/* @media (hover: hover) {
    
    .layoutHeader div p {

        position: relative;
        top: 5px;
    }
    .hideFromDesktop {
      display: none;
    }
    .layoutHeader div:first-of-type {

      right: 20px;
      top: 5px;
    }
} */
@media (orientation: portrait) and (max-height: 550px) {
  #quoteHolder div {
    max-height: 46px;
  }
  #branches .rearOuter {
    bottom: 12%;
  }
}

@media (orientation: portrait) and (max-height: 520px) {
  #quoteHolder div {
    max-height: 23px;
  }
}

@media (orientation: portrait) and (max-height: 500px) {
  #quoteHolder div {
    display: none;
  }
}
@media (orientation: landscape) and (max-width: 1600px) {
  #dtFrameOuter {
    
      right: 10%;
  }
}
@media (orientation: landscape) and (max-width: 999px) {
  #rotateOverlay {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 2000000;
    background-color: #4c3946;
    color: white;
  }

  #rotateOverlayInner {    
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 10%;
    margin-right: 10%;
    padding-left: 130px;
    background-image: url(../img/rotate.png);
    background-repeat: no-repeat;
    min-height: 100px;
    background-size: 100px;
    background-position: 0 center;
  }

  #rotateOverlayText {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
  #rotateOverlayText h3 {
    font-size: 25px;
    margin-bottom: 5px;

  }
  #rotateOverlayText h5 {
    font-size: 14px;
    font-family: 'Inter', sans-serif;
    font-style: normal;
    font-weight: 300;
  }


}

/* TABLET */
@media (orientation: portrait) and (min-width: 600px) {
  
  .buttonRow {
    padding-top: 25px;
  }
  .frame, .rear {
    width:  79vw;
    padding-top: 2vw;
    padding-bottom: 2vw;
  }
  .frame .token {
    width:  75vw;
    height: 75vw;
  } 
  .page .rearOuter .frame {
    height: 75vw;
  }
  .frame .token img {
    width: 75vw;
    height: 75vw;
  }
  p {
    font-size: 18px;
  }

  .page .layerInfo p {
    line-height: 75px;
  }

  .frame .token .layerImg img {
    height: 70px;
  }

  .layerRow, .colourRow {
    margin-bottom: 22px;
    font-size: 18px;
  }
  .colourRow {
    margin-top: 20px;
  }

  .layerRow {
    min-height: 70px;
  }

  .layerImg {
    width: 70px;
    height:  70px;
  }

  .layerInfo {
    margin-left: 85px;
  }
  .layerInfo p {
    font-size: 20px;
  }


  .layerInfo h3 {
    font-size: 18px;
  }
  .layerInfo h3 a.link {
      top: 3px;
  }
  .layerInfo h4 {
    font-size: 16px;
  }


  .layerInfo h3 span {
    font-size: 15px;
  }


  .rearOuter h2 {
    font-size: 30px;
    margin-bottom: 25px;
    line-height: 1.5;
  }

  h2 span {
    display: block;
    float: right;
    font-size: 12px;
    position: relative;
    top: 2px;
    color: #999;
  }

  .rearOuter h2 span {
      font-size: 20px;

      position: relative;
      top: 8px;
  }

  .quoteHolder {
    bottom: 40px;
  }
  #branches .rearOuter {
      top: 10%;
      bottom: 20%;
  }
  .rearOuter .static p {
    padding-bottom: 25px;
  }
}
