html {
  overflow: hidden;
  position: fixed;
}
body {
  background: black;
  margin: 0;
  width: 100%;
  max-height: 100vh;
  overflow: hidden;
  position: fixed;
  color: rgb(60,60,60);
  font-size: 150%;
  text-align: center;
  font-family: proxima-nova-regular, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-stretch: ultra-expanded;
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Safari */
   -khtml-user-select: none; /* Konqueror HTML */
     -moz-user-select: none; /* Firefox */
      -ms-user-select: none; /* Internet Explorer/Edge */
          user-select: none; /* Non-prefixed version, currently
                                supported by Chrome and Opera */
}

@font-face {
    font-family: 'proxima-nova-regular';
    src: url(proxima-nova-regular.otf);
}

@font-face {
    font-family: 'proxima-nova-bold';
    src: url(proxima-nova-bold.otf);
}

::-webkit-scrollbar
{
  width: 12px;  /* for vertical scrollbars */
  height: 12px; /* for horizontal scrollbars */
}

::-webkit-scrollbar-track
{
  background: rgba(255, 255, 255, 0.7);
}

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

.loadingContainer {
  font-size: 80%;
  color: rgb(220,220,220);
  background: rgba(30,30,30,0.9);
  border: 2px solid rgb(200,200,200);
  padding: 20px;
  border-radius: 4px;
  margin: auto;
  margin-top: 30vh;
  max-width: 800px;
  width: 90%;
  font-weight: 600;
  filter: blur(0px);
  display: none;
}

.loadingBackground {
  background: url(/../images/stars.jpg);
  background-size: cover;
  height: 100%;
  width: 100%;
  position: absolute;
  filter: blur(1px);
 
  -webkit-animation: fadein 5s; /* Safari, Chrome and Opera > 12.1 */
     -moz-animation: fadein 5s; /* Firefox < 16 */
      -ms-animation: fadein 5s; /* Internet Explorer */
       -o-animation: fadein 5s; /* Opera < 12.1 */
          animation: fadein 5s;
  display: none;
}

.introLogo {
  width: 47%;
  height: 20%;
  margin-bottom: 20px;
  flex: 1;
}

.loadingTitle {
  margin: auto;
  text-align: right;
  flex: 2;
  font-size: 100%;
  font-weight: 600;
  letter-spacing: 4px;
  
}

.introTitleRow {
  display: flex;
  justify-content: center;
}

.loadingMessage {
  display: block;
  margin: auto;
  text-align: left;
  font-size: 88%;
  font-weight: 600;
  text-align: justify;
}

.startButton {
  margin-top: 10px;
  line-height: 20px;
  border-radius: 2px;
  width: 100%;
  height: 20px;
  text-align: right;
  font-size: 90%;
  display: inline-block;
}

.startButtonText {
  cursor: pointer;
  width: auto;
  float: right;
}

.startButtonText:hover { 
  color: rgb(120,240,50);
  -webkit-animation: fadebackground 3s; /* Safari, Chrome and Opera > 12.1 */
     -moz-animation: fadebackground 3s; /* Firefox < 16 */
      -ms-animation: fadebackground 3s; /* Internet Explorer */
       -o-animation: fadebackground 3s; /* Opera < 12.1 */
          animation: fadebackground 3s;
}

.spinner {
  width: 25px;
  margin: auto;
}


.introSpinner {
  background-image: url(/../images/load.gif);
  background-size: 50px;
  /* background-position: calc(100% - 10px) 10px; */
  background-position: 50%;
  background-repeat: no-repeat;
  margin: auto;
  /*  padding-top: 10px; */
  margin-top: calc(50vh - 50px);
  width: 100%;
  height: 80px;
  text-align: right;
  /* padding-right: 2px; */
}

.intro {
  z-index: 2;
  position: absolute;
  background: rgba(0,0,0,0.6);
  width: 100%;
  height: 100%;
  color: white;
  color: #eeeff0;
  font-size: 26px;
  opacity: 0;
  visibility: hidden;
}

.introContainer {
  margin: auto;
  position: absolute;
  top: 0; left: 0; bottom: 0; right: 0;
  height: 40%;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 70%;
}

.introTitle {
  -webkit-box-flex: 2;
  -moz-box-flex: 2;
  -webkit-flex: 2;
  flex: 2;
  margin: auto;
  font-weight: 700;
  font-size: 300%;
}

.introTitle1 {
  display: block;
  font-size: 300%;
}

.introSubtitle {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
  font-size: 122%;
  margin: auto;
  font-weight: 700;
}

.introSpiel {
  text-align: justify;
  margin: auto;
  width: 700px;
  font-size: 70%;
  margin: 20px auto;
}

.introSpiel1 {
 
}


.introEmailLabel {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
  font-size: 80%;
  width: 50%;
  margin: auto;
  margin-top: 1vw;
  margin-bottom: 1vw;
  display: none;
}

.introEmailContainer {
  margin: auto;
  width: 700px;
  height: 46px;
  max-height: 50px;
  justify-content: center;
  position: relative;
  background: rgba(255,255,255,0.3);
  border-radius: 20px;
  color: white;
  font-weight: normal;
}

.introEmailIcon {
  font-size: 23px;
  margin-top: 6px;
  display: inline-block;
}

.introEmailInput {
  font-size: 18px;
  width: calc(100% - 50px);
  height: calc(100% - 8px);
  background: none;
  padding-left: 2px;
  border: none;
  outline: none;
  display: inline-block;
  color: white;
}

.introEmailInput::placeholder {
  color: rgb(200,200,200);
}

.introEmailCheckContainer {
  display: flex;
}

.introEmailInputCheck {
  margin: 14px 6px;
  margin-right: 0;
  width: 25px;
  height: 30px;
}

.emailEnterButton {
  border-radius: 50px;
  background: rgb(120,120,120);
  width: 30%;
  min-width: 160px;
  font-size: 90%;
  margin: auto;
  padding: 4px 0;
  border: 1px solid darkslategrey;
  cursor: pointer;
}

.emailEnterButton:hover {
  background: rgb(180,180,180);
}

.introEmailInputCheckLabel {
  font-size: 70%;
  margin: auto 10px;
  text-align: left;
}

.emailError {
  display: block;
  font-size: 50%;
  margin-top: 10px;
  min-height: 20px;
}

.introFooter {
  flex: 1;
  position: absolute;
  bottom: 16px;
  width: 100%;
  font-size: 50%;
  display: flex;
}

.footerText {
  position: absolute;
  padding-left: 20px;
  margin: auto;
}

.footerText1, .footerText2 {
  display: inline-block;
  padding: 0 4px;
}

.privacyLink {
  margin-left: calc(100% - 120px);
  color: inherit;
  text-decoration: none;
}

.privacyLink1, .privacyLink2 {
  display: inline-block;
  padding: 0 4px;
}

.privacyLink, .cookiesLink {
  width: 120px;
  font-size: 90%;
}

.stars {
  background-image: url('../images/stars3.jpg');
  background-size: cover;
  opacity: 1;
  position: absolute;
  width: 100vw;
  height: 100%;
  z-index: -2;
  opacity: 0;
  visibility: hidden;
}

.stardust {
  background-image: url('../images/stardust.png');
  background-size: cover;
  opacity: 1;
  position: absolute;
  width: 100vw;
  height: 100vh;
  z-index: -1;
  opacity: 0;
  visibility: hidden;
}

.glow {
  background-image: url('../images/glow.png');
  background-position: center;
  background-repeat: no-repeat;
  background-size: 140vh;
  opacity: 1;
  position: absolute;
  width: 100vw;
  height: 100vh;
  top: -5vh;
  z-index: -1;
  opacity: 0;
  visibility: hidden;
}

.titleBar {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  justify-content: left;
  height: 50px;
  align-items: center;
  position: absolute;
  width: 100%;
  z-index: 3;
  opacity: 0;
  visibility: hidden;
  background: rgba(46,46,46,1);
}

.title {
  display: inline-block;
  text-align: left;
  width: 50%;
  flex-grow: 5;
  -webkit-flex-grow: 5;
}

.titleLogo {
  width: 180px;
  margin-left: 10px;
}

.linkContainerBlock {
  display: none;
}

.linkContainer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.mapLink, .reportLink, .contactLink {
  text-align: center;
  text-decoration:none;
  margin: auto;
}

.downloadIcon {
  width: 14px;
}

.downloadIconContainer {
  margin: auto 0;
}

.mapLinkLabel, .reportLinkLabel, .contactLinkLabel {
  color: white;
  width: 162px;
  font-size: 60%;
  cursor: pointer;
  font-weight: 600;
}

.reportLinkLabel {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
}

.reportLinkText {
  display: inline;
  margin-left: 8px;
}

.mapLinkLabel:hover {
  color: rgb(100,250,150);
}
.reportLinkLabel:hover {
  color: rgb(100,250,150);
}
.contactLinkLabel:hover {
  color: rgb(100,250,150);
}

.globeContainer {
  width: 100%;
  height: 100vh;
  text-align: center;
  overflow-y: hidden; 
  opacity: 0;
  visibility: hidden;
}

.labelContainer {
  position: absolute;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.labelLine {
  opacity: 0.9;
  height: 1px;
  position: absolute;
  z-index: 2;
  display: none;
}

.pin {
  position: absolute;
  background: rgba(250,250,250,0.8);
  background: rgba(250,250,250,0);
  border: 1px solid rgba(10,10,10,0.4);
  border: 1px solid rgba(10,10,10,0);
  border-radius: 50%;
  z-index: 2;
  cursor: pointer;
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Safari */
   -khtml-user-select: none; /* Konqueror HTML */
     -moz-user-select: none; /* Firefox */
      -ms-user-select: none; /* Internet Explorer/Edge */
          user-select: none; /* Non-prefixed version, currently
                                supported by Chrome and Opera */
  display: none;
}


.labelLine2 {
  opacity: 0.9;
  background: white;
  height: 1px;
  top: -50%;
  left: -1%;
  position: absolute;
  box-shadow: 0 0 2px white;
}

.label {
  /* position: absolute; */
  /* box-shadow: 8px 8px 40px black; */
 /*  border: 2px solid #546466; */
 
  padding: 4px 0px;
  white-space: nowrap;
  font-size: 120%;
  font-weight: bold;
  color: rgb(220,220,220);
  text-align: center;
  z-index: 2;
  /* visibility: hidden; */
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.labelSide {
  width: 0px;
  text-indent: 4px;
  height: 28px;
  text-align: right;
  border-top: 16px solid transparent;
  border-right: 16px solid #212829;
  border-bottom: 16px solid transparent;
  z-index: 1;
  font-size: 80%;
}

.labelSide.right {
  border-left: 16px solid #212829;
  border-right: none;
}

.labelInner {
  background: #212829;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.sideInfoBox .labelInner {
  color: white;
}

.infoBox  .labelInner {
  color: rgb( 64, 182, 89 );
}

.summaryHeader .labelInner {
  background: white;
}

.labelCol1, .labelCol2, .labelCol3 {
  display: inline-block;
  padding: 0;
  flex: 1;
  align-self: center;
}

.infobox .labelCol1,.infobox .labelCol2,.infobox .labelCol3 {
  padding: 0 16px;
}

.labelCol1 {
  font-size: 60%;
}

.flagImage {
  width: 40px;
  margin-left: 16px;
  border: 1px solid black;
}

.bottomInfoCol .flagImage {
  margin: 0;
}

.summaryHeader .flagImage {
  margin: 0;
}

.labelCol2 {
  flex: 3;
  font-size: 120%;
}

.labelCol3 {
  font-size: 60%;
  margin: 10px 0;
}

.sideInfoBox .labelRank {
  font-size: 170%;
}

.sideInfoBox .labelEdtech {
  font-size: 170%;
}

.star {
  position: absolute;
  background: rgba(255,255,255,0.9);
  border-radius: 10px;
  z-index: -2;
}

@media only screen and (max-width:740px) {
  .label {
   
  }
  .label:hover {
    font-size: 50%;
  }
  .titleBar {
    font-size: 80%;
  }
  
  .downloadIcon {
    
  }
  
  .reportLinkText {
   
  }
  
}

.sideInfoBoxContainer {
  height: calc(100vh - 50px);
  display: table;
  position: absolute;
  top: 50px;
}

.sideInfoBox {
  height: 100%;
  display: table-cell;
  vertical-align: middle;
  /* background: rgba(40,40,40,1); */
  color: rgb(220,220,220);
  font-size: 50%;
  font-weight: 800;
  /*overflow-y: scroll;*/
  opacity: 0;
  visibility: hidden;
}

.sideInfoBoxContainer.left {
  left: 0px;
}

.sideInfoBox.left {
  left: 0px;
}

.sideInfoBoxContainer.right {
  right: 0px;
}

.sideInfoBox.right {
  right: 0px;
  text-align:right;
}


.sideInfoBox.right .sideCityRow {
  margin-left: auto;
}

.sideCityClose {
  font-size: 150%;
  width: 20px;
  padding: 4px;
  background: rgba(0,0,0,0.6);
  cursor: pointer;
  display: none;
}

.sideCityClose:hover {
  color: white;
}

.sideCityTitle {
  text-align: center;
  font-weight: 900;
  font-size: 110%;
  padding: 4px;
  background: rgba(0,0,0,0.6);
  flex: 8 0 0;
}

.sideCityRow, .sideCityLabelRow {
  display: table-cell;
  /* border-bottom: 1px solid gray; */
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 240px;
  max-width: 260px;
  cursor: pointer;
}

.sideCityRow:hover {
  color: rgb(255,255,255);
  animation: slideright 0.7s ease-in-out -0.1s 1 forwards;
}

@keyframes slideright {
  0% {
  }
  30% {
    width: 260px;
    max-width: 260px;
  }
  60% {
    width: 240px;
    max-width: 240px;
  }
  100% {
    width: 250px;
    max-width: 250px;
  }
}

.sideCityTitleRow  {
  /* border-bottom: 1px solid gray; */
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.sideCityCol {
  display: inline-block;
  flex: 1 0 0;
  align-self: center;
}

.sideCityLabelRow {
  font-size: 70%;
  display: none;
}

.sideCityColName {
  flex: 2 0 0;
  align-self: center;
  text-align: left;
}

.sideCityColIndex {
  flex: 2 0 0;
  align-self: center;
}

.sideCityRow:hover .labelInner {
  background: rgb(80,80,80);
}

.sideCityRow:hover .labelSide.left {
  border-right: 16px solid rgb(80,80,80);
}

.sideCityRow:hover .labelSide.right {
  border-left: 16px solid rgb(80,80,80);
}

.bottomInfoBox {
  width: 100%;
  min-height: 110px;
  padding-bottom: 8px;
  background: rgba(40,40,40,1);
  color: white;
  position: absolute;
  bottom: 0;
  font-size: 80%;
  flex-direction: column;
  visibility: hidden;
  display: none;
}

.bottomInfoIntro {
  width: 50%;
  min-width: 180px;
  margin: auto;
}

.bottomCityLabel {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 8px 4px;
  font-size: 70%;
}

.bottomCityRow {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 8px 0;
  font-size: 120%;
}

.bottomInfoCol {
  flex: 2 0 0;
}

.bottomInfoColName {
  flex: 2 2 0;
}

.bottomInfoColIndex {
  flex: 2 0 0;
}

.bottomInfoButton {
  margin: auto;
  background: limegreen;
  border: 1px solid seagreen;
  border-radius: 12px;
  padding: 8px;
  width: 72%;
  display: block;
  cursor: pointer;
}

.bottomInfoButton:hover {
  background: lightgreen;
}

.bubble {
  animation: bubbleText 0.4s ease-in -0.1s;
}


.cityBubble {
  animation: cityBubbleText 0.4s ease-in;
}

@keyframes bubbleText {
  30% {
    font-size: 100%;
  }
  100% {
    font-size: 80%;
  }
}

.infoBox {
  position: absolute;
  width: 100%;
  padding: 0;
  height: calc(100vh - 50px);
  left: 0vw;
  top: 50px;
  background: rgba(70,70,70,1);
  background: rgb(245,245,245);
  z-index: 3;
  color: rgb(250,250,250);
  font-size: 80%;
  font-weight: 600;
}

.summaryHeader {
  width: 500px;
  height: auto;
  min-height: 400px;
  flex-direction: column;
  font-size: 80%;
  background: white;
  -webkit-touch-callout: text; /* iOS Safari */
  -webkit-user-select: text; /* Safari */
   -khtml-user-select: text; /* Konqueror HTML */
     -moz-user-select: text; /* Firefox */
      -ms-user-select: text; /* Internet Explorer/Edge */
          user-select: text; /* Non-prefixed version, currently
                                supported by Chrome and Opera */
}

.summaryTop {
  /* background: rgba(40,40,40,1); */
}

.summaryMid {
  /* background: rgba(60,60,60,1); */
}

.summaryBot {
  /* background: rgba(80,80,80,1); */
}

.summaryHeader .labelSide{
  display: none;
}

.summaryHeader.summaryList {
  flex: 1;
  margin-top: 12px;
  overflow-y: scroll;
  min-height: auto;
}

.cityDropDownList {
  background: inherit;
  border: none;
  color: rgb( 64, 182, 89 );
  cursor: pointer;
}

.cityDropDownList option {
  font-size: 40%;
  color: black;
}

.summaryHeaderContainer {
  right: 16px;
  font-size: 140%;
  position: absolute;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  height: calc(100% - 78px);
}

.summaryHeaderRow {
  flex: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  color: rgb(60,60,60);
}

.summaryHeaderCol {
  margin: auto;
  padding: 10px;
  flex: 1;
}

.summaryHeaderVal {
  font-size: 210%;
  margin: auto;
  width: 100%;
  padding: 10px;
  flex: 1;
}

.summarySmall {
  flex: 1;
  color: rgb( 64, 182, 89 );
}

.summaryLarge {
  font-size: 110%;
  display: block;
  color: rgb(60,60,60);
}

.summaryHeader .labelCol2 {
  font-size: 130%;
}

.summaryHeader .labelRank {
  font-size: 250%;
}

.summaryHeader .labelEdtech {
  font-size: 170%;
  color: rgb(60,60,60);
}

.summaryHeader .labelInner:hover {
  background: rgb(60,60,60);
  background: lightgray;
  cursor: pointer;
}

.contentContainer {
  height: calc(100% - 75px);
  margin-right: 530px;
  overflow-y: scroll;
  background: white;
  -webkit-touch-callout: text; /* iOS Safari */
  -webkit-user-select: text; /* Safari */
   -khtml-user-select: text; /* Konqueror HTML */
     -moz-user-select: text; /* Firefox */
      -ms-user-select: text; /* Internet Explorer/Edge */
          user-select: text; /* Non-prefixed version, currently
                                supported by Chrome and Opera */
}

.details {
  width: 90%;
  margin: auto;
  margin-top: 5%;
  padding-bottom: 20px;
}

.infoBox h2 {
  display: inline;
  width: 90%
}

.infoBox .p {
  font-size: 80%;
  text-align: left;
  margin: 1%;
}

.infoBox .in {
  display:block;
}

.closeInfoBoxContainer {
  background: rgba(205,205,205,1);
  border-left: 2px solid #546466;
  border-bottom: 2px solid #546466;
  padding: 0.5vw 1vw;
  z-index: 3;
  display: none;
}

.closeInfoBox {
  color: rgb(60,60,60);
  font-size: 80%;
  font-weight: bold;
  cursor: pointer;
  display: none;
}

.closeInfoBox:hover {
  color: rgb(250,250,250);
}

.infoBoxHeaderContainer {
  display: flex;
}

.tabContainer {
  padding: 16px;
  background: rgb(100,100,100);
  background: whitesmoke;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: calc(100% - 562px);
}

.tab {
  display: inline-block;
  padding: 0.5% 1.5%;
  width: 22%;
  text-align: middle;
  font-size: 90%;
  font-weight: bold;
  background: #212829;
  color: white;
  border-top: 0px;
  z-index: 1;
  cursor: pointer;
}

.detailsTab {
  background: rgb(140,140,140);
  background: rgb(100,170,100);
}

.companyTab {
  background: rgb(160,160,160);
  background: rgb(100,180,100);
}

.fundingTab {
  background: rgb(180,180,180);
  background: rgb(100,190,100);
}

.otherTab {
  background: rgb(200,200,200);
  background: rgb(100,200,100);
}

.cityProfileTab {
  margin: auto;
  width: auto;
  padding: 0;
  font-size: 120%;
  background: rgb(70,70,70);
  background: none;
  color: rgb(60,60,60);
  color: rgb( 64, 182, 89 );
  cursor: inherit;
}

.tab:hover {
  color: green;
}

.cityProfileTab:hover {
  color: inherit;
  color: rgb(60,60,60);
}

.noleft {
  border-left: 0px;
}

.tabbed {
  background: rgba(230,230,230,1);
  color: rgb(60,60,60);
  z-index: 2;
  border-bottom: 0;
}

.tabbed:hover {
  color: rgb(60,60,60);
}

.content {
 /*  height: 100%; */
  display: none;
}

.loadingContent {
  margin-top: 15%;
  margin-bottom: 15%;
  font-size: 200%;
  color: gray;
}

.shown {
  display: block;
}

.details {
  color: rgb(60,60,60);
}

.headerLeft {
  width: 100%;
  display: block;
}

.headerRight {
  width: 100%;
  display: block;
  margin-top: 5%;
}

.description {
  margin-bottom: 2vh;
  text-align: left;
  text-align: justify;
}

.titleContainer {
  display: flex;
  width: 100%;
}

.reportTitle {
  font-size: 120%;
  display: block;
  text-align:left;
  flex: 1;
  margin: auto;
}

.printLink {
  display: inline-flex;
  background: whitesmoke;
  border: 2px solid gray;
  border-radius: 10px;
  padding: 8px;
  cursor: pointer;
  font-size: 80%;
  text-decoration:none;
  color: inherit;
}

.printerIcon {
  width: 20px;
  height: 20px;
  margin: auto;
}

.printLinkText {
  margin: auto;
  padding-left: 4px;
}

.headerBlock {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  justify-content: bottom;
  padding-bottom: 20px;
}

.city {
  flex: 10;
  font-size: 500%;
  text-align:left;
  margin: auto;
  color: rgb( 64, 182, 89 );
  font-variant-caps: all-small-caps;
  font-family: proxima-nova-bold, sans-serif;
}


@keyframes cityBubbleText {
  30% {
    font-size: 520%;
  }
  100% {
    font-size: 500%;
  }
}

.edtechIndexTitle {
  flex: 1;
  font-size: 80%;
  text-align: right;
  margin: auto;
  padding: 4px;
}

.edtechIndexContainer {
  width: 160px;
  height: 160px;
  background-image: url(../images/edtech.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: auto;
}

.edtechIndex {
  font-size: 150%;
  margin: auto;
  padding-top: 10px;
  padding-left: 40px;
}

.businessLogo {
  width: 100%;
  font-size: 90%;
  height: 5vh;
}
.description.right {
  font-size: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.profileName {
  font-size: 140%;
  text-align:right;
}

.profileTitle {
  text-align:right;
  min-width: 48%;
  font-size: 90%;
  display: inherit;
}

.profileImage {
  width: 64px;
  background-size: contain;
  background: #212829;
  margin-right: 0%;
  margin-bottom: 0%;
}

.profileImageContainer {
  display: inline-block;
  margin: auto;
}

.profile {
  text-align:right;
  padding: 0 10px;
}

.profileQuoteContainer {
  flex: 4;
  border: 2px solid lightgrey;
  border-radius: 6px;
  padding: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.profileQuote {
 
}

.profileQuotePoint {
  height: 0px;
  margin-top: 30px;
  border-top: 20px solid transparent;
  border-left: 28px solid lightgrey;
}

.profileContainer {
  text-align:right;
  width: 290px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: auto;
}

.reportHeader, .company, .funding, .thirdBox {
  margin-top: 2%;
  min-height: 50px;
  width: 100%;
  float: none;
  color: rgb(60,60,60);
}

.details, .reportHeader, .company, .funding, .other {
 
}

.reportSubheader {
  font-size: 420%;
  text-align: center;
  padding-top: 40px;
  margin-bottom: 20px;
  font-family: proxima-nova-bold, sans-serif;
  color: rgb( 64, 182, 89 );
  text-align: left;
  border-bottom: 2px solid green;
  font-variant-caps: all-small-caps;
  font-family: proxima-nova-bold, sans-serif;
}

.contentSpiel {
  text-align: left;
  text-align: justify;
  padding-bottom: 20px;
}

.landscapeHeader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  width: 100%;
  font-weight: bold;
  font-size: 80%;
}

.landscapeHeaderBlock, .landscapeHeaderBlockInner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: auto;
}

.fundingHeader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  width: 100%;
  height: 40px;
}

.headerLabelContainer {
  width: 100%;
}

.communityHeaderLabel, .testBedHeaderLabel, .supportHeaderLabel {
  font-size: 160%;
  font-weight: bold;
  width: 70%;
  margin: 0 auto;
  border: 2px solid #546466;
  background: #212829;
  margin-top: -38px;
  padding: 8px 0px;
  color: white;
}

.landscapeSubtitle {
  flex: 4 0 0;
  padding-top: 16px;
  margin-bottom: 1%;
  text-align: left;
  font-size: 120%;
}

.arrowContainer {
  flex:1 0 auto;
  margin: auto;
}

.arrowImage {
  width: 32px;
}

.landscapeCompanyCount, .landscapeMillionCount, .landscapeBillionCount {
  flex: 1 0 0;
  font-size: 250%;
  margin: auto;
  text-align: right;
}

.landscapeCompanyCountLabel, .landscapeMillionCountLabel, .landscapeBillionCountLabel {
  flex:2 0 0;
  font-size: 120%;
  padding-left: 8px;
  text-align: left;
  margin: auto;
}

.landscapeBlockContainer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  width: 100%;
  flex-direction: row;
  font-size: 50%;
}

.landscapeBlock {
  flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex: 1;
  margin-top: 2px;
  color: white;
}

.landscapeTitleBlock {
  flex: 1;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;

  margin: 0;
  font-weight: bold;
}

.landscapeTitle {
  flex: 1;
  width: 50%;
  font-size: 140%;
  padding: 6% 0;
  margin: 2px 3px;
}

.landscapeLogoBlock {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.landscapeLogo {
  width: 50%;
  flex: 1;
  margin: 2px 3px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  height: 300px;
  background: white;
}

.landscapeLogoImage, .ratingLogoImage {
  max-width: 90%;
  max-height: calc(100% - 8px);
  display: block;
  cursor: pointer;
  margin: auto;
}

.bubbleImage {
  animation: bubbleImage 0.4s ease-in;
}

@keyframes bubbleImage {
  30% {
    height: 50px;
    max-height: 50px;
  }
  100% {
    height: auto;
    max-height: auto;
  }
}

.ratingLogoImage {
  margin-right: 8px;
}

.landscapeCompanyBlock {
  width: 100%;
  min-height: 10vh;
  display: inline-block;
  display: none;
}

.landscapeLogoContainer {
  position: relative;
  display: flex;
  margin: auto;
  flex: 1;
}

.landscapeLogoImage:hover + .landscapeTooltipContainer {
  display: block !important; 
}

.fundingInvestorExample:hover + .fundingTooltipContainer {
  display: block !important;
}

.ratingLogoImage:hover + .ratingTooltipContainer {
  display: block !important;
}

.landscapeTooltipContainer, .fundingTooltipContainer, .ratingTooltipContainer {
  position: absolute;
  max-width: 400px;
  width: max-content;
  display:none;
  z-index: 3;
  cursor: pointer;
  display: none;
}

.landscapeTooltipContainer {
  top: 100%;
}

.fundingTooltipContainer {
  right: 0;
}

.landscapeTooltip, .fundingTooltip, .ratingTooltip {
  position: inline;
  height: auto;
  background: rgba(60,60,60,1);
  padding: 8px;
  font-size: 24px;
  font-weight: bold;
  text-align: left;
  color: white;
}

.landscapeTooltipPointer, .fundingTooltipPointer {
  width:0;
  height:0;
  position:absolute;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom:8px solid rgba(60,60,60,1);
  top:-8px;
}

.fundingTooltipPointer {
   right: 4.5vw;
}

.fundingTooltip {
  left: 60%;
}

.innerTooltip {
  height: 100%;
}

.linkImage {
  width: 18px;
  margin-right: 4px;
}

.landscapeTooltipDescription, .fundingTooltipDescription, .ratingTooltipDescription {
  font-size: 70%;
  margin-left: 2px;
}

.fundingChartBlock {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 80px;
  font-size: 60%;
}

.fundingblock {
  font-size: 160%;
  font-weight: bold;
  vertical-align: top;
  margin: 10px 0.5%;
  padding: 0px 1%;
  flex: 1 0 0;
}

.funding1a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  height: 80px;
  max-width: 800px;
  margin: auto;
}

.funding1b {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  max-width: 800px;
  margin: auto;
}

.numDealsLabel {
  flex: 1;
}

.numDeals {
  flex: 1;
  font-size: 90%;
  padding: 20px 0;
  overflow: show;
  background-image: url('../images/droplet.png');
  background-size: 40px;
  background-repeat: no-repeat;
  background-position: center;
}

.fundingLabel {
  flex: 1;
}

.fundingBarChart {
  flex: 3;
  width: 100%;
  height: 240px;
}

.fundingFunnelLabel {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 20px;
}

.fundingFunnelDealsLabel {
  flex: 1;
  margin: auto;
}

.fundingFunnelChart {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 18px;
  text-align: center;
}

.fundingFunnelImage {
  width: 100%;
}

.fundingFunnelDealsBlock {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  flex: 1;
  flex-direction: column;
}

.fundingFunnelRaisedBlock {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  flex: 4;
  flex-direction: column;
}

.fundingFunnelDeals {
  padding: 6px 0;
  margin: 4px auto;
  width: 36px;
  border: 2px solid gray;
  border-radius: 50px;
}

.fundingFunnelRaisedSegmentContainer {
  flex: 4;
  margin: auto;
}

.fundingFunnelRaisedSegment, .fundingFunnelRaisedSegmentBottom {
  border-left: 20px solid white;
  border-right: 20px solid white;
  height: 0;
  margin: auto;
  border-radius: 10px 10px 0 0;
}

.fundingFunnelRaisedSegmentTop {
  width: 100%;
  height: 12%;
  position: absolute;
}

.fundingFunnelRaisedSegmentTopOval, .fundingFunnelRaisedSegmentTopOvalBottom {
  height: 100%;
  margin: auto;
  margin-top: -2px;
  border-radius: 50%;
  background: darkgreen;
}

.fundingFunnelRaisedSegmentBottom {
  min-width: 40px;
  border-top: 40px solid darkgrey;
  border-left: 0px solid white;
  border-right: 0px solid white;
  border-radius: 0;
}

.fundingFunnelRaisedSegmentTopOvalBottom {
  background: dimgrey;
  min-width: 40px;
}

.fundingFunnelRaisedOval {
  background: white;
  width: 50%;
  min-width: 44px;
  margin: 10px auto;
  margin-top: -32px;
  padding: 2px 0;
  border-radius: 50%;
}

.funnelFunnelRaisedValue {
}

.funnelDealStageLabel {
  flex: 1;
  margin: auto;
  top: 12px;
  width: 28%;
  border: 2px solid rgb(80,80,80);
  border-right: 0;
  padding: 2px 0;
  padding-left: 6px;
  background: rgb(46,46,46);
  color: white;
  position: absolute;
  font-size: 80%;
}


.fundingStageLabelPointerLeft {
  width:0;
  height:0;
  position:absolute;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 8px solid white;
  top: 12px;
  z-index: 1;
}

.fundingStageLabelPointerRight {
  width:0;
  height:0;
  position:absolute;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 8px solid rgba(46,46,46,1);
  top: 12px;
  left: calc(28% + 8px);
}

.fundingFunnelRaisedLabel {
  flex: 3;
  margin: auto 20px;
}

.fundingFunnelRaised {
  flex: 1;
  display: flex;
  position: relative;
}

.funding2a {
  display: inline-block;
  align-items: center;
  width: 100%;
  max-width: 500px;
}

.numFunnelDealsLabel {
  display: block;
  margin-bottom: 35%;
  height: 20px;
  padding-top: 7%;
}

.numFunnelDeals {
  display: block;
  margin-bottom: 14px;
}

.funding3 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 60%;
  min-height: 200px;
}

.funding3a {
  flex: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  justify-content: center;
  display: inline-flex;
  width: 45%;
}

.funding3b {
  flex: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
}

.fundingInvestorCoverageLabel {
  height: 50px;
}

.fundingInvestorCoverageContainer {
  margin: auto;
  flex: 2;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
}

.fundingExitsContainer {
  margin: auto;
  flex: 2;
  width: 100%;
}

.fundingInvestorCoverage {
  font-size: 160%;
  background-image: url('../images/crosshair.png');
  background-repeat: no-repeat;
  background-position: center; 
  background-size: auto 100%;
  height: 80%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex: 1;
}

.fundingExitsLabel {
  height: 50px;
}

.fundingExits {
  font-size: 160%;
  background-image: url('../images/door.png');
  background-repeat: no-repeat;
  background-position: calc(50% + 10px) center;
  background-size: auto 100%;
  height: 80%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.fundingInvestorCoverageValue, .fundingExitsValue {
  margin: auto;
}

.fundingExitsValue {
 
}

.fundingExampleLabel {
   height: 50px;
}

.fundingInvestorExampleBlockContainer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
}

.fundingInvestorExampleContainer {
  flex: 1;
  position: relative;
}

.fundingInvestorExampleBlock {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex: 1;
}

.fundingInvestorExampleBlock a {
  flex: 1;
  position: relative;
}

.fundingInvestorExample {
  width: 50%;
  cursor: pointer;
}

.other {
  width: 100%;
}

.thirdBoxContainer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 60%;
}

.thirdBox {
  border: 2px solid gray;
  margin: 1%;
  margin-top: 40px;
  padding-top: 20px;
  flex: 1;
  vertical-align: top;
  min-height: 200px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
}

.ratingBox, .ratingBox5, .ratingBox7 {
  width: 100%;
  padding: 4% 0;
  flex: 1;
}

.ratingBoxHeaderContainer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  flex-direction: column-reverse;
  margin: 4px 0;
  justify-content: center;
}

.ratingBoxHeader {
  flex: 1;
  margin-top: 8px;
  padding: 0 5%;
  font-size: 140%;
  font-weight: bold;
  text-align: left;
  height: 40px;
}

.ratingBoxHeaderFull {
  flex: 4;
}

.ratingLogoContainer {
  flex: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  padding: 0 5%;
}

.ratingLogoContainer1 {
  display: flex;
  flex: 1;
}

.ratingLogoContainer a {
  flex: 1;
  margin: auto;
}

.ratingNumber {
  width: 30%;
  margin: 2% 0;
  text-align: right;
  display: inline-block;
  display: none;
}

.ratingBar {
  width: 92%;
  display: flex;
  margin: 0 auto;
}

.ratingGreen {
  flex: 1;
  height: 16px;
  background: rgb(0,212,0);
  margin: 0 4px;
}

.ratingGray {
  flex: 1;	
  height: 16px;
  background: #546466;
  margin: 0 4px;
}

.closeReport {
  width: 100px;
  margin: 50px auto;
  cursor: pointer;
}

.closeReport:hover {
  color: rgb(180,50,50);
}

@media screen and (max-width:1900px), screen and (max-device-width:1900px) {
  
  .tabContainer {
    width: calc(100% - 362px);
  }
  
  .contentContainer {
    margin-right: 330px;
  }
  
  .summaryHeaderContainer {
     font-size: 100%;
  }
  
  .summaryHeader {
    width: 300px;
    min-height: 320px;
  }
  
}

@media screen and (max-width:1080px), screen and (max-device-width:1080px) {
  
  .introSpiel {
    padding: 0 10px;
   
  }
  
  .introContainer {
    width: 100%;
  }
  
  .cityProfileTab {
    display: none;
  }
  
  .tabContainer {
    width: 100%;
    display: none;
  }
  
  .contentContainer {
    margin-right: 0;
    margin-top: 50px;
    height: calc(100% - 50px);
  }
  
  .summaryHeaderContainer {
    width: 100%;
  }
  
  .summaryHeader {
    width: 100%;
    min-height: auto;
  }
  
  .summaryList {
    display: none;
  }
  
  .summaryHeaderContainer {
    right: 0;
    font-size: 100%;
  }
  
  .summaryHeaderRow {
    width: 100%;
    margin: auto;
    display: none;
  }
  
  .summaryLarge {
    display: block;
  }
  
  .cityDropDownList {
    display: block;
    font-size: 24px;
    background: rgb(240,240,240);
  }
  
  .summaryHeaderContainer {
    height: auto;
  }
  
  .landscapeHeader {
    margin: 0 8px;
    width: auto;
  }
  
  .landscapeHeaderBlock {
    padding-bottom: 40px;
    flex-direction: column;
    font-size: 120%;
    margin: auto;
  }
  
  .landscapeBlockContainer {
    display: block;
  }
  
  .landscapeLogoImage {
   
  }
  
  .landscapeLogo { 
    height: 400px;
  }
  
  .landscapeBlock {
    margin: 8px;
    font-size: 220%;
  }
  
  .landscapeHeaderBlockInner {
    flex-direction: column;
    display: flex;
    padding-top: 20px;
  }
  
  
  .landscapeLogoContainer, .fundingInvestorExampleContainer {
    position: unset;
  }
  
  .landscapeTooltipContainer, .fundingTooltipContainer, .ratingTooltipContainer {
    bottom: -2px;
    margin: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    font-size: 60%;
  }
  
  .landscapeTooltipPointer, .fundingTooltipPointer, .ratingTooltipPointer {
    display: none;
  }
  
  .arrowContainer, .landscapeHeaderTitle {
    display:none;
  }
  
  .funding3 {
    display: block;
  }
  
  .funding3a {
     margin-bottom: 40px;
  }
  
  .fundingInvestorCoverage, .fundingExits {
    height: 25vw;
  }
  
  .funding2a {
    width: 100%;
  }
  
  .fundingFunnelLabel {
  }
  
  .fundingFunnelChart {
    
  }
  
  .fundingFunnelDealsLabel, .fundingFunnelRaisedLabel {
   
  }
  
  .fundingFunnelDealsLabel {
    
  }
  
}
  
@media screen and (max-width:985px), screen and (max-device-width:985px) {
  
  .details {
    padding: 8px;
  }
  
  .landscapeHeader {
    margin: 0 8px;
    width: auto;
  }
  
  .landscapeHeaderBlock {
    padding-bottom: 40px;
  }
  
  .landscapeBlockContainer {
    display: block;
  }
  
  .landscapeBlock {
    margin: 8px;
    font-size: 220%;
  }
  
  .landscapeHeaderBlockInner {
    flex-direction: column;
    display: flex;
    padding-top: 20px;
  }
  
  .arrowContainer {
    display:none;
  }
  
  .landscapeSubtitle {
     text-align: center;
  }
  
  .landscapeHeaderTitle {
    display: none;
  }
  
  .arrowImage{
    width: 24px;
  }
  
  .fundingblock {
    display:block;
    width: 95%;
    margin: 5% auto;
  }
  
  .funding2a, .funding2b {
    height: auto;
  }
  
  .fundingFunnelChart {
   
  }
  
  .fundingFunnelDealsBlock {
  }
   
  .fundingFunnelRaisedBlock {
  }
  
  .fundingFunnelDealsLabel {
    font-size: inherit;
  }
  
  .fundingFunnelRaisedLabel {
   
  }
  
  .fundingFunnelDealsBlock {
    
  }

  .fundingFunnelRaisedBlock {
    
  }

  .fundingFunnelDeals {
   
  }

  .fundingFunnelRaised {
   
  }
  
  .thirdBoxContainer {
    display: block;
    width: 80%;
    margin: auto;
  }
  
  .thirdBox {
    margin: 40px 0;
  }
  
  .infoBox, .content, .contentContainer {
   
  }
  
  .infoBox {
    font-size: 70%;
  }
  
  .contentContainer {
    overflow-x: hidden;
    overflow-y: scroll;
  }
  
  .details {
    font-size: 20px;
  }
  
  .edtechIndexTitle {
     padding-right: 8px;
  }
}


@media screen and (max-height:750px), screen and (max-device-height:750px) { 
  .sideInfoBoxContainer {
    display: none;
  }
  
  .bottomInfoBox { 
    display: flex;
    z-index: 2;
  }
}

@media screen and (max-width:780px), screen and (max-device-width:780px) {
  
  .loadingContainer {
    font-size: 80%;
    margin-top: 2vh;
    width: 80vw;
    overflow-y: scroll;
  }
  
  .intro {
    font-size: 25px;
  }
  
  .introFooter {
    font-size: 120%;
  }
  
  .introSpiel {
     width: 90%;
  }
  
  .introContainer {
    width: 90%;
  }
  
  .glow {
    background-size: calc(25vw + 75vh);
  }
  
  .introTitleRow {
    display: block;
  }
  
  .loadingTitle {
    font-size: 140%;
    text-align: center;
  }
  
  .introLogo {
    width: 100%;
  }
  
  .loadingTitle {
    margin-bottom: 20px;
    font-size: 100%;
  }
  
  .loadingMessage {
    font-size: 120%;
  }
  
  .introTitle { 
    width: 100%;
    font-size: 200%;
  }
  
  .introSubtitle { 
    width: 100%;
    font-size: 75%;
  }
  
  .introEmailContainer { 
    width: 90%;
  }
  
  .introEmailLabel { 
    width: 100%;
    flex: 0;
    margin-top: 4vw;
  }
  
  .introFooter {
    font-size: 100%;
    width: 100%;
    margin: auto;
    position: absolute;
    display: flex;
  }
  
  .footerText {
    margin: auto;
    font-size: 50%;
    flex: 1;
    position: relative;
  }
  
  .footerText1, .footerText2 {
    display: block;
  }
  
  .privacyLink {
    margin: auto;
    flex: 1;
    font-size: 50%;
  }
  
  .bottomInfoBox { 
    display: flex;
    z-index: 2;
  }
  
  .bottomInfoButton {
    width: 90%; 
  }
  
  .infoBox {
    font-size: 50%;
    top: 80px;
    height: calc(100% - 82px);
    border: none;
  }
  
  .contentContainer {
      height: calc(100% - 48px);
  }
  
  .city {
    font-size: 300%;
  }
  
  .infoBoxHeaderContainer {
    display: none;
  }
  
  .details {
    font-size: 18px;
  }
  
  .profileContainer {
    width: 220px;
  }
  
  .sideInfoBox { 
    display: none;
  }
  
  .sideCityRow { 
    width: 100%;
  }
  
  .labelSide { 
    display: none;
  }
  
  .titleBar {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 80px;
  }
  
  .title {
    display: block;
  }
  
  .linkContainer {
    padding: 4px 0;
  }
  
  .mapLink, .reportLink, .contactLink {
    flex: 1 0 0;
    padding: 0;
    margin: auto;
  }
  
  .contactLink {
    display: block;
    padding: 8px;
  }
  
  .mapLinkLabel, .reportLinkLabel, .contactLinkLabel {
    width: 100px;
  }
  
  .fundingChartBlock {
    display: block; 
  }
  
  .fundingFunnelLabel {
    width: 120%;
    margin-left: -8%;
  }
  
  .fundingFunnelChart {
    width: 120%;
    margin-left: -7%;
  }
  
}

@media screen and (max-width:520px),screen and (max-device-width:520px) {
  
  .introSpinner {
     background-position: calc(50%) 14px;
  }
  
  .introSpiel {
   
  }
  
  .startButton {
    margin-top: 20px;
    height: auto;
  }
  
  .startButtonText {
    float: none;
    text-align: center;
    padding: 12px 0px;
    font-size: 130%;
    font-weight: 500;
    border: 2px solid seagreen;
    box-shadow: 1px 1px dimgrey;
    background: limegreen;
    border-radius: 12px;
    color: ghostwhite;
  }
  
  .glow {
    background-size: 100vh;
  }
  
  .reportSubheader {
    font-size: 220%;
    padding: 20px 0;
  }
  
  .loadingContainer {
    font-size: 20px;
    margin-top: 2vh;
    height: 88vh;
    width: 80vw;
  }

  .introContainer {
    height: 36%;
    top: -4vh;
    width: 95%;
  }
  
  .introTitle {
    margin-top: 0;
    margin-bottom: 10px;
    width: 95%;
    font-size: 170%;
  }
  
  .introSubtitle {
    width: 95%;
  }
  
  .introEmailContainer {
    width: 95%;
  }
  
  .introFooter {
    font-size: 120%;
  }
  
  .introSpiel {
    width: calc(100% - 16px);
    padding-right: 8px;
  }
  
  .emailEnterButton {
    width: 100%;
  }
  
  .reportLinkText {
    display: inline;
    margin-left: 8px;
  }
  
  .reportLinkText1 {
    display: none;
  }

  .contactLink {
    width: auto;
  }
  .infoBox {
    font-size: 2vw;
  }
  
  .infoBoxHeaderContainer {
    display: none;
  }
  
  .tab {
    padding: 10px 0;
    width: 100%;
    font-size: 12px;
    border: none;
    border-bottom: 2px solid #546466;
    display: none;
  }
  
  .arrowImage {
    width: 16px;
  }
  
  .landscapeTitle {
    font-size: 250%;
  }
  
  .landscapeSubtitle {
    flex: 2 0 auto;
  }
  
  .landscapeCompanyCountLabel, .landscapeMillionCountLabel, .landscapeBillionCountLabel,
  .landscapeCompanyCount, .landscapeMillionCount, .landscapeBillionCount {
    flex-shrink: 0;
    text-align: center;
  }
  
  .landscapeTooltipContainer, .fundingTooltipContainer, .ratingTooltipContainer {
    font-size: 180%;
  }
  
  .details {
    font-size: 18px;
    width: 90%;
  }
  
  .headerBlock {
     display: inline-block;
  }
  
  .city {
     display: block;
     font-size: 300%;
     text-align: center;
  }
  
  @keyframes cityBubbleText {
    30% {
      font-size: 320%;
    }
    100% {
      font-size: 300%;
    }
  }
  
  .edtechIndexTitle {
     display: inline-block;
     width: 30%;
     font-size: 110%;
  }
  
  .edtechIndexContainer {
    height: 80px;
  }
  
  .edtechIndex {
    display: inline-block;
    padding-top: 8px;
    padding-left: 28px;
  }
  
  .reportTitle {
    font-size: 80%;
    text-align: left;
  }
  
  .description.right {
    display: block;
  }
  
  .profileQuotePoint {
    margin-top: 0;
    margin-right: 80%;
    border-right: 16px solid lightgrey;
    border-top: none;
    border-bottom: 20px solid transparent;
    border-left: none;
  }
  
  .profileImage {
    width: 50px;
  }
  
  .profileContainer {
    width: 100%;
    max-width: 280px;
  }
  
  .titleBar {
    display: block;
    height: 90px;
  }
  
  .downloadIcon {
    
  }
  
  .title {
    display: block;
    width: 100%;
    padding-top: 8px;
    text-align: center;
    margin: 0;
  }
  
  .titleLogo {
    margin: 0;
    width: 100px;
    width: 70%;
  }
  
  .mapLink, .reportLink, .contactLink {
    padding: 8px 0;
    font-size: 110%;
  }
  
  .mapLinkLabel, .reportLinkLabel, .contactLinkLabel {
    width: auto;
  }
  
  .downloadIcon {
   
  }
  
  .reportLinkLabel {
    
    
  }

  .infoBox {
    top: 90px;
    height: calc(100% - 92px);
  }
  
  .landscapeBlock {
     font-size: 60%;
  }
  
  .fundingBlock {
    margin: 0 auto;
    width: 114%;
    padding: 0;
  }
  
  .fundingFunnelLabel {
    width: 120%;
  }
  
  .fundingFunnelRaisedSegmentContainer {
    padding-left: 10px;
  }
  
  .fundingFunnelRaisedSegmentTop {
    width: calc(100% - 10px);
  }
  
  .funnelDealStageLabel {
    font-size: 12px;
    width: 30%;
    padding-left: 6px;
    top: 14px;
  }
  
  .fundingStageLabelPointerLeft {
    border-top: 11px solid transparent;
    border-bottom: 11px solid transparent;
    border-left: 8px solid white;
    top: 14px;
  }
  
  .fundingStageLabelPointerRight {
    border-top: 11px solid transparent;
    border-bottom: 11px solid transparent;
    border-left: 8px solid rgba(46,46,46,1);
    left: calc(35% + 8px);
    top: 14px;
    left: calc(30% + 8px);
  }
  
  .fundingFunnelRaisedOval {
    min-width: 32px;
    margin-top: -30px;
    font-size: 70%;
  }
  
  .fundingInvestorCoverageLabel, .fundingExitsLabel, .fundingExampleLabel {
     height: 50px;
  }
  
}

@media screen and (max-width:420px),screen and (max-device-width:420px) {
  
  .glow {
    background-size: 125vh;
  }
  
  .introContainer {
    top: -12vh;
  }
  
}

@media screen and (max-width:320px),screen and (max-device-width:320px) {
  
  .loadingMessage {
    font-size: 17px;
  }
  
  .landscapeBlock {
     font-size: 50%;
  }
  
  .city {
    font-size: 220%;
    padding: 20px 0;
  }
  
  @keyframes cityBubbleText {
    30% {
      font-size: 220%;
    }
    100% {
      font-size: 200%;
    }
  }
  
  .linkContainer {
   
  }
  
  .titleBar {
    /* height: 120px; */
  }
  
  .mapLinkLabel, .reportLinkLabel, .contactLinkLabel {
    font-size: 12px;
  }
  
}


@media screen and (max-height:420px), screen and (max-device-height:420px) {
  
  body {
    height: 100%;
  }
  
  .intro {
    /* background: rgb(46,46,46); */
  }
  
  .introTitle, .introSpiel, .introSubtitle, .introFooter {
    display: none;
  }
  
  .introEmailLabel, .emailError {
    font-size: 16px;
  }
  
  .details {
    font-size: 18px;
  }
  .city {
    font-size: 300%;
  }

  @keyframes cityBubbleText {
    30% {
      font-size: 320%;
    }
    100% {
      font-size: 300%;
    }
  }
}

@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Firefox < 16 */
@-moz-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Internet Explorer */
@-ms-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Opera < 12.1 */
@-o-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}




@keyframes fadebackground {
    from { color: white; }
    to   { color: rgb(20,250,50); }
}

/* Firefox < 16 */
@-moz-keyframes fadebackground {
    from { color: white; }
    to   { color: rgb(20,250,50); }
}

/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadebackground {
    from { color: white; }
    to   { color: rgb(20,250,50); }
}

/* Internet Explorer */
@-ms-keyframes fadebackground {
    from { color: white; }
    to   { color: rgb(20,250,50); }
}

/* Opera < 12.1 */
@-o-keyframes fadebackground {
    from { color: white; }
    to   { color: rgb(20,250,50); }
}


.fadeIn {
  opacity: 1;
  visibility: visible;
  transition: visibility 1s, opacity 1.5s linear;
  -webkit-transition: visibility 1s, opacity 1.5s linear;
  -moz-transition: visibility 1s, opacity 1.5s linear;
}

.fadeInSlow {
  opacity: 1;
  visibility: visible;
  transition: visibility 3s, opacity 3s ease-in;
  -webkit-transition: visibility 3s, opacity 3s ease-in;
  -moz-transition: visibility 3s, opacity 3s ease-in;
}

.fadeOut {
  opacity: 0;
  transition: visibility 0.5s, opacity 0.5s linear;
  -webkit-transition: visibility 0.5s, opacity 0.5s linear;
  -moz-transition: visibility 0.5s, opacity 0.5s linear;
}


.fadeOutSlow {
  opacity: 0;
  transition: visibility 1s, opacity 1s ease-out;
  -webkit-transition: visibility 1s, opacity 1s ease-out;
  -moz-transition: visibility 1s, opacity 1s ease-out;
}
