.transparent {
  opacity: .75;
}
.half-transparent{
	opacity: .50;
}
.white {
  color: white;
  fill: white;
}
.blue {
  color: #134ecc;
  fill: #134ecc;
}
.light-blue {
  color: #4A90E2;
}
.red {
  color: #FF6B61;
}
.dark-blue {
  color: #000C27;
}
.staff-image{
	width: 300px;
	height: 300px;
	border-radius: 50%;
}
.bg-purple {
  background-color: #3C225F;
}
.bg-red {
  background-color: #FF6B61;
}
.bg-grey {
  background-color: #e8e8e8;
}
.bg-white {
  background-color: white;
}
.bg-blue {
  background-color: #134ecc;
}
.bg-light-blue {
  background-color: #4A90E2;
}
.bg-dark-blue {
  background-color: #000C27;
}
.bg-nyc-1 {
  background-image: url('../img/nyc-bg-1.svg'), url('../img/nyc-bg-2.svg');
  background-size: 40%;
  background-position: center bottom, center;
  background-repeat: no-repeat;
}
.bg-nyc-1 h3 {
  font-weight: 900;
}
.bg-nyc-1 h2 {
  border-bottom: none;
}
.bg-plane {
    background-image: url('../Photos/planeAndPeople.png');
	width: 103%;
	height: 103%;
	background-repeat: no-repeat;
	background-attachment: fixed;
}
.bg-img {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
}
.bg-img.img-blue {
  background-image: url('../img/photography/thumbnail-blue.png');
}
.bg-img.img-red {
  background-image: url('../img/photography/thumbnail-red.png');
}
.bg-img.img-purple {
  background-image: url('../img/photography/thumbnail-purple.png');
}
.bg-img.img-team {
  background-image: url('../img/photography/team.jpg');
}
.bg-img.img-sky {
  background-image: url('../img/photography/sky.jpg');
}
.bg-blue-transparent {
  background-color: #134ecc;
  background-blend-mode: color;
}
.bg-blue-soft {
  background-color: #3C225F;
  background-blend-mode: overlay;
}
.bg-blue-semi {
  background-color: rgba(19, 50, 204, 0.25);
}
.bg-grad-blue-purp {
  background: linear-gradient(-65deg, #4A90E2 0%, #4A90E2 50%, #134ecc 50%, #134ecc 100%);
  background-position: -300px;
  background-size: 200% 100%;
}
.bg-white-stripe {
  background: linear-gradient(-65deg, #bcd7f6 0%, #bcd7f6 50%, white 50%, white 100%);
  background-size: 150% 110%;
  background-position: -100px;
  transition: all ease .43s;
}
.bg-white-stripe.long {
  transition-duration: 1s;
}
.bg-white-stripe:hover {
  background-size: 150% 110%;
  background-position: 0px;
}
.bg-grad-purp-blue {
  background: linear-gradient(45deg, rgba(231, 74, 66, 0.5) 0%, rgba(231, 74, 66, 0.5) 50%, rgba(73, 143, 226, 0.5) 50%, rgba(73, 143, 226, 0.5) 100%);
}
.flex {
  display: flex;
}
.hidden {
  display: none;
}
.line {
  border: none;
  border-top: 1px solid white;
}
.line.blue {
  border-color: #134ecc;
}
.line.dark-grey {
  border-color: #b8b8b8;
}
.line.dashed {
  border-width: thick;
  border-style: dashed none none none;
}
.icon {
  max-height: 2rem;
  max-width: 3rem;
}
.col-3 iframe {
  overflow: hidden;
  position: absolute;
}
.panels {
  padding: 0 8.5%;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
}
.panels div.white {
  padding: 0 4rem 4rem 4rem;
}
@media screen and (max-width: 800px) {
  .panels div.white {
    padding: 8.5%;
  }
}
.panels .panel {
  position: relative;
  width: 50%;
  box-sizing: border-box;
}
.panels .panel.copy {
  padding: 0 4rem 2rem 4rem;
}
.panels .panel.copy.floating {
  padding: 4rem;
  justify-content: center;
}
.panels .panel.img {
  overflow: hidden;
  max-height: 590px;
}
.panels .panel.img img {
  width: 150%;
}
@media screen and (max-width: 1200px) {
  .panels {
    flex-direction: column;
    padding: 0;
  }
  .panels .panel {
    width: 100%;
  }
  .panels .panel.copy {
    padding: 0 8.5% 2rem 8.5%;
  }
}
.panel.img:not(.clean)::after {
  content: '';
  position: absolute;
  background: rgba(255, 107, 97, 0.36);
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
}
.play-button {
  text-decoration: none;
  font-weight: 900;
  transition: all ease .43s;
}
.play-button.long {
  transition-duration: 1s;
}
.play-button:hover {
  margin-left: .9rem;
}
.play-button:after {
  content: '';
  position: absolute;
  transform: translateX(-24px) translateY(-4px);
  border: 1px solid white;
  border-radius: 50%;
  width: 1.8rem;
  height: 1.8rem;
}
.main-content-top {
  z-index: 2;
  margin-top: 2rem;
  margin-bottom: 0;
}
.main-video {
  z-index: -1;
  position: absolute;
  top: 0;
  width: 83%;
}
.main-video .video-container {
  overflow: hidden;
}
.video-container:before {
  content: '';
  position: absolute;
  background: rgba(30, 54, 125, 0.5);
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
#team .grid img {
  max-width: 8em;
  margin-bottom: 1em;
}
.wedge {
  height: 30px;
  width: 30px;
  transform: translateX(2rem) rotate(45deg);
}
.vig-blue {
  max-width: 100%;
  box-shadow: 0 0 200px #4A90E2 inset;
}
.program-label {
  margin-top: 1.2rem;
}
.program-label-frame {
  border: 1px solid white;
}

/* program label and preview node rewrites, at this point we have abandoned all decency in css formatting */
.program-node::before {
  content:'\25CF';
  position: absolute;
  top: -10px;
  left: 7px;
  transition: all .05s;
  font-size: 2.2rem;
}
.program-node-selected::before {
  font-size: 4em;
  content:'\25CF';
  position: absolute;
  top: -28px;
  left: 6px;
}
.program-node {
  position: absolute;
  width:15px;
  height:15px;
  padding: 10px;
  border-radius: 50%;
  border: 1px solid white;
  transition: all .05s;
}
.node-expand {
  margin-left:-10px;
  margin-top:-10px;
  border: 3px solid white;
  height:35px;
  width:35px;
}
.map {
  padding:0;
  /* min-width: 48%; */
  position:relative;
  font-size:18px;
}
.map-container {
  position: relative;
}
.node-container {
  position:relative;
  min-width:fit-content;
}
.map-container .row {
  justify-content: flex-start;
}
.map .col-2 {
  padding: 0;
}
@media screen and (max-width: 1290px) {
  .map-container .row .col-2 {
    width:100%;
  }
}
body {
  font-family: 'Poppins', 'Helvetica', 'Arial', 'sans-serif';
  font-weight: 500;
  line-height: 1.45;
  color: #000C27;
  font-size: 16px;
}
html {
  font-size: 16px;
}
.courier {
  font-family: serif;
  background-color: red;
}
.courier h1,
.courier h2,
.courier h3,
.courier h4 {
  margin: 0 !important;
}
p {
  margin-bottom: 1.3em;
}
.panel.floating p {
  font-size: 16px;
}
h1,
h2,
h3,
h4,
h5 {
  margin: 0.5rem 0 1.414rem;
  font-weight: inherit;
  line-height: 1.2;
}
.compact h1,
.compact h2,
.compact h3,
.compact h4,
.compact h5 {
  margin: 0;
  margin-top: .4rem;
}
h2:first-of-type:not(.clean) {
  margin: 1.414em 0 1em 0;
  border-bottom: 5px solid #FF6B61;
}
.col-3 h3 {
  margin-bottom: 0;
}
.col-3 h4 {
  margin-bottom: 1.414em;
}
h1,
.h1 {
  margin-top: 0;
  font-size: 3.998rem;
}
@media screen and (max-width: 800px) {
  h1,
  .h1 {
    font-size: 2.998rem;
  }
}
h2,
.h2 {
  font-size: 2.827rem;
  font-weight: 500;
}
@media screen and (max-width: 800px) {
  h2,
  .h2 {
    font-size: 1.827rem;
  }
}
h3,
.h3 {
  font-size: 1.999rem;
}
h4,
.h4 {
  font-size: 1.414rem;
}
h5,
.h5 {
  font-size: .8rem;
  font-weight: 600;
  margin-top: .4rem;
}
/* figure {
  font-size: 1.999em;
} */
small,
.font-small {
  font-size: 0.707em;
}
.font-large {
  font-size: 1.414em;
}
#testimonials li h4 {
  margin: 2rem 0 0 3rem;
}
#testimonials li h5 {
  margin: .3rem 0 0 3rem;
}
#why h1,
#team h1,
#media h1 {
  margin-top: 1.114em;
}
#team .grid li p {
  font-size: 1rem;
}
#team .grid li span:first-of-type:not(.expand) {
  font-size: 1.414rem;
  font-weight: normal;
}
#team .grid li span:nth-of-type(2) {
  font-size: .8rem;
  font-weight: 600;
  margin-top: .4rem;
}
.redline {
  margin: 1.414em 0 .5em 0;
  border-bottom: 5px solid #FF6B61;
}
.blueline {
  margin: 1.414em 0 .5em 0;
  border-bottom: 5px solid #4A90E2;
}
.collapsed {
  height: 7rem;
  overflow: hidden;
  position: relative;
  transition: all .23s;
  margin-bottom: 1rem;
}
.collapsed:hover {
cursor:pointer;
height: 8rem;
margin-bottom: 0;
}
.expand {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 5rem 0 0 0;
  background-image: linear-gradient(to bottom, transparent, white 75%);
}
footer a {
  margin: .5rem 1rem;
  color: #134ecc;
  font-size: 1rem;
  width: fit-content;
}
footer a:hover {
  color: #FF6B61;
  outline: none;
  border: none;
  text-decoration: none;
}
footer a:active {
  box-shadow: none;
  text-decoration: none;
  color: #4A90E2;
}
footer a:visited {
  font-weight: 300;
  text-decoration: line-through;
}
.bold {
  font-weight: 500;
}
.normal {
  font-weight: 400;
}
.light {
  font-weight: 300;
}
.caps {
  text-transform: uppercase;
}
ul {
  list-style: none;
  padding: 0;
}
.list-item {
  margin-bottom: 2em;
}

body {
  padding: 0;
  margin: 0;
}
header {
  padding: 2rem 8.5%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

header .logo img {
  width: 12rem;
}

@media screen and (max-width: 800px) {
  header {
    align-items: flex-start;
    flex-direction: column;
    padding: 4rem 8.5% 2rem;
  }
  header .logo img {
    width: 12rem;
  }
}
#head {
  position: relative;
  min-height: 600px;
}
.fix-top {
  position: fixed;
  z-index: 1;
}
section {
  animation: fadein 1.2s;
}
.full {
  padding: 2rem 8.5% 6rem;
}
.full.thin {
  padding-bottom: 2rem;
}
.row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: wrap;
}
.col-3 {
  width: 28%;
  padding: 1rem 1rem;
}
.col-3.media {
  height: 400px;

}
.col-3.media .play-button span {
  margin-left: 1rem;
}
.col-3.media h3 {
  font-size: 2.827rem;
  font-weight: 500;
  margin-bottom: 0;
}
@media screen and (max-width: 800px) {
  .col-3.media h3 {
    font-size: 1.827rem;
  }
}
.col-3.media p {
  margin-top: .15rem;
}
@media screen and (max-width: 800px) {
  .col-3.media {
    flex-basis: 100%;
  }
}
.col-2 {
  width: 40%;
  padding: 1rem 2rem;
}
@media screen and (max-width: 800px) {
  .col-2 {
    width: 100%;
  }
}
.auto-grid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
.auto-grid.start {
  justify-content: flex-start;
}
.auto-grid.start li:not(:first-of-type) {
  margin-left: 3rem;
}
@media screen and (max-width: 800px) {
  .auto-grid {
    justify-content: space-around;
  }
  .auto-grid.start {
    justify-content: flex-start;
  }
  .auto-grid.start li:not(:first-of-type) {
    margin: 0;
  }
}
.auto-grid li {
  min-width: 28%;
  flex-basis: 28%;
}
.auto-grid li div.quote {
  padding: 1rem 2rem;
  position: relative;
}
@media screen and (max-width: 800px) {
  .auto-grid li {
    min-width: 100%;
    flex-basis: 100%;
    margin-bottom: 2rem;
  }
}
.auto-grid li .quote:before {
  content: '"';
  font-size: 5rem;
  position: absolute;
  color: white;
  top: 0rem;
  left: 1rem;
  opacity: .4;
}
.auto-grid li .quote:after {
  content: '"';
  font-size: 3rem;
  position: absolute;
  color: white;
  bottom: -1rem;
  right: 2rem;
  opacity: .4;
}
.grid ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
.grid ul.start {
  justify-content: flex-start;
}
#team .grid ul.start {
  justify-content: space-between;
}
#team .grid ul li {
  margin: 0 0 2rem 0;
}
.grid ul.start li:not(:first-of-type) {
  margin-left: 3rem;
}
@media screen and (max-width: 800px) {
  .grid ul {
    justify-content: space-around;
  }
  .grid ul.start {
    justify-content: flex-start;
  }
  .grid ul.start li:not(:first-of-type) {
    margin: 0;
  }
}
.grid ul li {
  min-width: 46%;
  flex-basis: 46%;
}
.grid ul li div.quote {
  padding: 1rem 2rem;
  position: relative;
}
@media screen and (max-width: 800px) {
  .grid ul li {
    min-width: 100%;
    flex-basis: 100%;
    margin-bottom: 2rem;
  }
}
.grid ul li .quote:before {
  content: '"';
  font-size: 5rem;
  position: absolute;
  font-color: white;
  top: 0rem;
  left: 1rem;
  opacity: .4;
}
.grid ul li .quote:after {
  content: '"';
  font-size: 3rem;
  position: absolute;
  font-color: white;
  bottom: -1rem;
  right: 2rem;
  opacity: .4;
}
.grid ul h1,
.grid ul h2,
.grid ul h3,
.grid ul h4,
.grid ul h5 {
  margin: 0;
  margin-top: .4rem;
}
.grid ul li {
  margin-bottom: 2rem;
}
.grid ul li img {
  margin-top: 1rem;
}
.grid h2 {
  margin: 1.414em 0 1em 0;
  border-bottom: 5px solid #4A90E2;
}
.grid span {
  font-size: .8rem;
  font-weight: 600;
  margin-top: .4rem;
  display: block;
}
.flex-between {
  display: flex;
  justify-content: space-between;
}
.pb0 {
  margin-bottom: 0;
  padding-bottom: 0;
}
footer {
  position: fixed;
  background-color: white;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 8.5% 6rem;
  padding-bottom: 2rem;
  color: #000C27;
  font-size: 0.707em;
}
footer.thin {
  padding-bottom: 2rem;
}



@media screen and (max-width: 800px) {
  footer {
    flex-direction: column;
    align-items: unset;
    /* justify-content: space-around; */
  }
  footer a {
    display: block;
  }
}
.logo a {
  text-decoration: none;
  color: #134ecc;
  font-weight: 500;
  font-size: .3em;
}
.blue a {
  transition: all ease .43s;
  color: #134ecc;
  fill: #134ecc;
}
.blue a.long {
  transition-duration: 1s;
}
.blue a:hover {
  color: #FF6B61;
  outline: none;
  border: none;
  text-decoration: none;
}
.blue a:active {
  box-shadow: none;
  text-decoration: none;
  color: #4A90E2;
}
.blue a:visited {
  font-weight: 300;
  text-decoration: line-through;
}
.white a {
  color: white;
  fill: white;
}
.clean {
  text-decoration: none;
}
a.arrow :last-child {
  margin-left: .5rem;
  vertical-align: middle;
}
a.arrow:hover :last-child {
  transform: translateX(3rem) rotateX(175deg);
}
.cta a {
  font-size: 1.999rem;
  color: #FF6B61;
  text-decoration: none;
  position: relative;
}
.cta a span:hover {
  color: #FF6B61;
  outline: none;
  border: none;
  text-decoration: none;
}
.cta a span:active {
  box-shadow: none;
  text-decoration: none;
  color: #4A90E2;
}
.cta a span:visited {
  font-weight: 300;
  text-decoration: line-through;
}
nav {
  text-align: right;
  font-size: 20px;
}
nav a {
  color: #134ecc;
  transition: all ease .23s;
  font-weight: normal;
  transform: translateY(-10px);
}
nav a:not(:last-of-type) {
  margin-right: 2rem;
}
nav a:hover {
  color: #FF6B61;
  outline: none;
  border: none;
  text-decoration: none;
}
nav a:active {
  box-shadow: none;
  text-decoration: none;
  color: #4A90E2;
}
nav a:visited {
  font-weight: 300;
  text-decoration: line-through;
}
@media screen and (max-width: 800px) {
  nav {
    margin-top: 3rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: baseline;
  }
  nav a {
    margin: 0;
    margin: .2em;
  }
}
.a-hover {
  color: #FF6B61;
  outline: none;
  border: none;
  text-decoration: none;
}
.a-active {
  box-shadow: none;
  text-decoration: none;
  color: #4A90E2;
}
.a-visited {
  font-weight: 300;
  text-decoration: line-through;
}
.di {
  display: inline;
}
.dib {
  display: inline-block;
}
.space {
  border: none;
  margin: 4rem;
}
.ts {
  transition: all ease .43s;
}
.ts.long {
  transition-duration: 1s;
}
.long-transition{
  transition-duration: 1s;
}
.hidden {
  display: none;
}
.z2 {
  z-index: 2;
}
.z0 {
  z-index: 0;
}
.oh {
  overflow: hidden;
}
.tc {
  text-align: center;
}
.fl {
  float: left;
}
.bullets {
  list-style: square;
  padding-left: 1.1rem;
}
.mt {
  margin-top: 2rem;
}
.db {
  display: block;
}
.p0 {
  padding: 0;
}
.pr {
  position: relative;
}
.margin-0-recursive *:not(:first-child) {
  margin: 0 !important;
}
.x {
  transform: rotate(45deg);
}
.xr {
  transform: rotate(-45deg);
}
.v {
  transform: rotate(90deg);
}
.slider-down {
  top: 0;
}
.slider-up {
  top: -200px;
}
@keyframes fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fade-in {
  animation: fadein 1.2s;
}

.asset {
  max-width: 70%;
  max-height: 20%;
  margin: 15% 0;
}


.card {
  padding: 2.4%;
  border: 1px solid #134ecc;
  box-shadow: rgba(207, 207, 207, 0.199) 2px 2px 6px;
}

a {
  text-decoration: none;
}
#page-container{
   position: relative;
   min-height: 100vh;
}
#footer{
	position:fixed;
	background: white;
	bottom:0;
	min-width: 100%;
	min-height: 10%;
	padding-top: 1em;
}
#director {
  display: flex;
  flex-direction: column;
  width:60%;
  position: relative;
}

#director img {
  max-width: 12rem;
}

#director h2 {
}

#team-intro {
  color: white;
  background-color: #134ecc;
  flex-direction: column;
  justify-content: start;
}

#team-intro h1 {
  margin: 0 0 2rem 0;
}

#director > div > .row {
  justify-content: start;
  align-items: center;
}

#director > div > .row > div {
  margin-left: 2rem;
}

#director p:first-of-type {
  margin-top: 2rem;
}

p {
  line-height: 1.8rem;
  font-weight: 400;
}

#director p {
  margin-bottom: 0;
}

#director h2 {
  margin: 0 0 2rem 0;
}

#director h3 {
  margin: .5rem 0;
}

#director h4 {
  font-weight: 700;
}

@media (max-width: 800px) {
  #team .row {
    flex-direction: column-reverse;

  }
  #team .row > div {
    margin: 2rem 0;
  }
  #team-intro {
    width: 100%;
  }
  #director {
    width: 100%;
    align-items: flex-start;
  }
  #director h2 {
    font-size: 2.827rem;
    margin: 0;
  }
  #director > div > .row, #director > div > div.row > div {
    margin-left: 0;
    align-items: flex-start;
  }
}