@charset "UTF-8";
/*COLORS
Dark Blue: #183778
Dark Blue RGBa: rgba(24,55,120,.7)
Hover Dark Blue: #1f4599
Hover Dark Blue RGBa: rgba(31,69,153,.7)
Light Blue: #e7ebf1
Light Blue RGBa: rgba(231,235,241,.7)
IPO Green Yellow: #abab00
M&A Green: #55ab00
*/
/* 
html5doctor Reset
http://html5doctor.com/html-5-reset-stylesheet/
*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, a, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
body {
  line-height: 1;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section {
  display: block;
}
nav ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}
del {
  text-decoration: line-through;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #183778;
  margin: 1em 0;
  padding: 0;
}
input, select {
  vertical-align: middle;
}
/*ELEMENTS*/
html {
  font-size: 18px;
}
* {
  box-sizing: border-box;
}
body {
  font-size: 1rem;
  background: #fff;
  font-family: montserrat, sans-serif;
  font-weight: 400;
  font-style: normal;
}
main, #maincontent {
  margin: 2em auto;
  font-size: .9rem;
  line-height: 1.4;
}
section {
  margin: 2.5em auto;
  padding: 1em 0 0;
  border-top: 1px solid #ccc;
}
h1, h2, h3, h4, h5, h6b {
  margin: 0 0 .5em;
  font-family: cardo, serif;
  font-weight: 400;
  font-style: normal;
  color: #183778;
}
h1 {
  font-size: 1.5em;
}
#about h2 {
  font-size: 1.5em !important;
}
h2 {
  font-size: 1.2em;
  margin-top: 1.2em;
}
section h2:first-child {
  margin-top: 0;
}
h3 {
}
h4 {
}
blockquote {
  background: url(/css/images/blockquote-before.png) top left no-repeat;
  background-size: 35px 23px;
  padding-left: 50px;
  color: rgba(24, 55, 120, .5);
}
blockquote + blockquote {
  margin-top: 1em;
  margin-bottom: 1em;
}
blockquote p {
  background: url(/css/images/blockquote-after.png) bottom right no-repeat;
  background-size: 35px 23px;
  padding-right: 50px;
}
blockquote p + cite {
  display: block;
  margin-top: -1em;
}
p {
  margin: 0 auto 1em;
}
strong, b {
  font-weight: 700;
}
em, cite, i {
  font-style: italic;
}
a {
  color: #183778;
  text-decoration: none;
  font-weight: 500 !important;
}
a:hover {
  color: #1f4599;
  text-decoration: none;
}
sub, sup {
  font-size: 75%;
}
/*CLASSES*/
.skip {
  position: absolute;
  height: 0;
  overflow: hidden;
  visibility: hidden;
}
.container, #content {
  width: 90%;
  margin-right: auto;
  margin-left: auto;
  max-width: 1024px;
  position: relative;
}
.intro {
  line-height: 1.5;
}
.layout {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.c {
  text-align: center;
}
.l {
  text-align: left;
}
.callout {
  background: #e7ebf1;
  padding: 1em;
}
.logo {
  width: auto;
  height: auto;
  max-width: 100px;
  max-height: 60px;
}
main ul, #maincontent ul, .bullets {
  margin: .5em 0 1em;
  padding: 0 0 0 1.5em;
}
main ul li, #maincontent ul li, .bullets li {
  margin: 0 0 .5em;
}
.rwd {
  width: 100%;
  height: auto;
}
.caption {
  color: #999;
  font-size: 14px;
}
p + p.caption {
  clear: left;
  text-align: center;
  margin-top: -1em;
}
/*HEADER and NAV*/
header {
  padding: 1em 0;
  position: relative;
  z-index: 10;
  background: #183778;
}
#logo, #footerlogo {
  height: 46px;
}
#footerlogo {
  margin-bottom: 20px;
}
.menu-toggle {
  position: absolute;
  padding: 0.8em;
  top: 1em;
  right: 0;
  cursor: pointer;
}
.hamburger, .hamburger::before, .hamburger::after {
  content: '';
  display: block;
  background: #fff;
  height: 3px;
  width: 2em;
  border-radius: 3px;
  -webkit-transition: all ease-in-out 350ms;
  transition: all ease-in-out 350ms;
}
.hamburger::before {
  -webkit-transform: translateY(-7px);
  transform: translateY(-7px);
}
.hamburger::after {
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
}
.open .hamburger {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.open .hamburger::before {
  display: none;
}
.open .hamburger::after {
  -webkit-transform: translateY(-1px) rotate(-90deg);
  transform: translateY(-1px) rotate(-90deg);
}
nav {
  margin: 0;
  padding: 0;
  position: absolute;
  right: -1em;
  top: -1em;
  width: auto;
}
nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: none;
}
nav ul.opening {
  display: block;
  height: 30px;
}
nav a {
  background: #183778;
  color: #fff;
  display: block;
  padding: .75em 3em .75em 1.5em;
  text-decoration: none;
  font-family: cardo, serif;
  font-weight: 400 !important;
}
#home nav a {
  background: rgba(24, 55, 120, .7);
}
nav li:first-child a {
  padding-top: 3em;
}
nav li:last-child a {
  padding-bottom: 1.5em;
}
nav a:hover, nav a:focus {
  color: #fff;
  background: #1f4599;
}
#home nav a:hover, #home nav a:focus {
  background: rgba(31, 69, 153, .7);
}
.site-nav--icon {
  font-size: 1.4em;
  margin-right: 1em;
  width: 1.1em;
  text-align: right;
  color: rgba(255, 255, 255, .4);
}
/*HOME PAGE*/
#home .container, #home #content {
  max-width: 90%;
}
#home #more {
  position: absolute;
  width: 30px;
  height: auto;
  bottom: 20px;
  left: calc(50% - 15px);
  z-index: 3;
}
/*HOME PAGE (MARQUEE)*/
#marquee {
  height: 400px;
  width: 100%;
  background: #e7ebf1;
  position: relative;
  overflow: hidden;
}
#marquee header {
  background: transparent;
}
.grader {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, 0) 100%);
}
#marquee .container.shadow {
  z-index: 3;
  color: #fff;
  font-size: 1.3em;
  text-shadow: 0 0 8px #000;
  max-width: 36em;
  margin-left: 5%;
  padding-top: .75em;
}
#marquee p {
  line-height: 1.2;
  display: inline;
  font-weight: 500;
}
/*MARQUEE ANIMATION*/
.fader {
  animation: fade-in .6s ease-in-out forwards;
  opacity: 0;
}
.fade1 {
  animation-delay: 1s;
}
.fade2 {
  animation-delay: 4s;
}
.fade3 {
  animation-delay: 8s;
}
/*MARQUEE ANIMATION KEYFRAMES*/
@keyframes fade-in {
  0% {
    opacity: 0;
    transform: translateY(-4rem) scale(.8);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
/*VIDEO_BG*/
.bgvid_holder {
  position: absolute;
  width: calc(100vh * (1920 / 1080)); /* video width / height */
  height: calc(100vw * (1080 / 1920)); /* video height / width */
  min-width: 100%;
  min-height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
video#bgvid {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*HOME SWIPER CUSTOMIZATION*/
#home main {
  border-top: 1px solid #183778;
  margin-top: 2em;
}
#home .swiper-container {
  min-height: 200px;
  margin: 2em auto;
  padding-bottom: 1em;
}
.swiper-pagination-fraction, .swiper-pagination-custom, .swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 0;
}
.swiper-pagination-bullet {
  width: 10px;
  height: 10px;
}
.swiper-pagination-bullet-active {
  background: #183778;
}
.pic {
  margin-bottom: 1em;
}
.pic img {
  display: inline-block;
  width: 100%;
  height: auto;
  margin: auto;
}
.bio h4 {
  font-weight: 400;
  font-style: italic;
  font-size: 1em;
}
.bio h4 span {
  display: inline-block;
}
.bio p {
  line-height: 1.5;
}
.bio img {
  display: inline-block;
  width: 100%;
  max-width: 307px;
  height: auto;
  margin: auto;
}
.bio a {
  font-weight: 500;
}
/*HOME SWIPER PAGINATION ABOVE SLIDES*/
#home .swiper-pagination {
  position: relative;
  margin: 0 auto .5em;
  width: 300px !important;
}
/*PREFOOTER
#prefooter {
	background: linear-gradient(to bottom, rgba(24, 55, 120, .2) 0%, rgba(24, 55, 120, 0) 100%);
	font-size: .7rem;
	padding: 20px 0;
}
#prefooter ul {
	list-style: none;
	text-transform: uppercase;
	font-weight: 700;
}
#prefooter li {
	display: inline-block;
	padding: 10px 20px 10px 0;
	height: 36px;
	line-height: 36px;
  margin-bottom: 20px
}
#prefooter a {
	border: 1px solid #183778;
	border-radius: 4px;
	background: rgba(255, 255, 255, .6);
	padding: 0 1.5em;
	display: table-cell;
	vertical-align: middle;
}
#prefooter a:hover {
	background: #fff;
}*/
/*FOOTER*/
footer {
  background: #183778;
  color: #e7ebf1;
  padding: 1rem 0;
  font-size: .7rem;
  line-height: 16px;
  clear: both;
}
footer * {
  color: #fff;
}
footer ul, footer dl {
  list-style: none;
  margin-bottom: 1rem;
}
footer li, footer dt {
  margin-bottom: .5em;
  padding-top: 1px;
}
footer dd, footer h3 {
  font-weight: 600;
  font-family: montserrat, sans-serif;
  margin-bottom: .75em;
  text-transform: uppercase;
}
footer a {
  color: #fff;
}
footer a:hover {
  color: #fff;
  text-decoration: underline;
}
/*ABOUT*/
.pics {
  background: no-repeat center center;
  background-size: cover;
  flex-wrap: wrap;
}
.pics div {
  margin-bottom: 1em;
}
#about h2 {
  font-size: 1em;
}
#about #content img {
  box-shadow: 5px 5px 8px 0 rgba(0, 0, 0, .33);
}
#about .portrait, #team .portrait {
  box-shadow: 5px 5px 8px 0 rgba(0, 0, 0, .33);
}
/* TEXT-BASED POPUP STYLING */
.biography, .details {
  position: relative;
  background: #FFF;
  padding: 25px;
  width: 94%;
  max-width: 1040px !important;
  margin: 0 auto;
  border-radius: 4px;
}
/*PORTFOLIO*/
.grid {
  list-style: none;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  text-align: center;
  font-size: 14px;
  justify-content: space-between;
}
.grid li {
  position: relative;
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 2px;
  background: linear-gradient(to bottom, rgba(231, 235, 241, .5) 0%, rgba(255, 255, 255, 0) 100%);
  margin: 4% 0 0;
  padding: 2em;
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: space-around;
}
.grid li:hover {
  border: 1px solid #bbb;
  background: linear-gradient(to top, rgba(231, 235, 241, .5) 0%, rgba(255, 255, 255, 0) 100%);
}
#portfolio aside {
  padding: 1em;
  background: linear-gradient(to bottom, rgba(231, 235, 241, .5) 0%, rgba(255, 255, 255, 0) 100%);
  border-radius: 3px;
}
#portfolio .quotes {
  margin: 2em 0;
}
.grid img {
  display: inline-block;
  margin: 0 auto;
  align-self: center;
}
#portfolio .grid li p {
  margin: 0;
}
#portfolio .grid li p.status {
  font-size: 9px;
  bottom: 0;
}
#portfolio .logo, .status {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 50px;
}
#portfolio .details {
  background: #fff;
  padding: 2em;
  text-align: center;
  line-height: 1.5;
  position: relative;
}
.details h2 {
  margin: 0;
  position: absolute;
  visibility: hidden;
  height: 0;
}
.details a, .details strong {
  font-weight: 400;
}
.grid a {
  font-weight: 400;
}
.status {
  background: #aaa;
  padding: 5px 10px;
  color: #fff;
  position: absolute;
  bottom: -1em;
  right: 0;
  width: auto;
  border-radius: 4px 0 0;
}
.status.ipo {
  background: #abab00;
}
.public {
  color: #abab00;
}
.status.m-a {
  background: #55ab00;
}
.acq {
  color: #55ab00;
  margin-top: -.75em;
  font-weight: 400;
}
/*PORTFOLIO SWIPER CUSTOMIZATION*/
#portfolio .swiper-container {
  text-align: center;
}
.portrait {
  display: block;
  margin: 0 auto 1em;
  width: 200px;
}
.swiper-container blockquote {
  /*padding-left: .25em;*/
  padding-bottom: 2em;
}
.swiper-container blockquote p {
  margin-bottom: .5em;
}
.swiper-container blockquote cite, blockquote cite {
  font-size: 14px;
  font-weight: 400;
}
/*TEAM*/
#team .grid {
  flex-direction: row;
}
#team .grid p {
  margin: 0 0 .25em;
}
#team .grid li {
  display: inline-block;
  padding: 0;
  border: 0;
  background: #fff;
  width: 48%;
}
#team .grid h3 {
  font-size: 18px;
  margin: 8px 0 0;
}
#team .grid img {
  display: block;
  width: auto;
  height: 150px;
  margin: 0 auto;
}
#team main img {
  box-shadow: 5px 5px 8px 0 rgba(0, 0, 0, .33);
}
.biography {
  background: #fff;
  padding: 1em;
  font-size: 18px;
  line-height: 1.5;
}
.biography h3 {
  font-weight: 600;
  font-size: 24px;
  line-height: 1;
  margin: 0;
}
.biography h4 {
  margin: 0 0 1.5em;
  color: #000;
  font-family: montserrat, sans-serif;
  font-weight: 400;
  font-style: normal;
}
.biography h5 {
  font-weight: 600;
  font-size: 15px;
  line-height: 17px;
  color: #000;
  margin: 0 -10px .5em;
}
.biography ul + h5 {
  margin-top: 2em;
}
.biography .pic {
  float: left;
  margin: 11px 1em 1em 0;
  width: 88px;
  height: auto;
  box-shadow: 5px 5px 8px 0 rgba(0, 0, 0, .33);
}
.biography blockquote {
  margin: 3em 0 1em;
  border-top: 1px solid rgba(24, 55, 120, .5);
  padding-top: 2em;
  padding-bottom: 1em;
  color: rgba(24, 55, 120, .5);
  font-weight: 400;
  background-position: left 2em;
}
.biography blockquote cite {
  display: block;
  margin-top: -.5em;
}
.biography .companies {
  margin: 2em 0 1em;
  background: linear-gradient(to bottom, rgba(24, 55, 120, .2) 0%, rgba(255, 255, 255, 0) 100%);
  padding: 10px 20px;
  border-radius: 4px;
}
.biography .companies li {
  list-style: none;
  margin: 1em 0;
  color: #666;
  font-size: 9px;
  line-height: 1.2;
  text-align: center;
}
.biography .companies img {
  width: 100px;
  height: auto;
  display: block;
  margin-bottom: 3px;
}
/*NEWS HOME*/
.newslisting main ul {
  list-style: none;
  font-size: 16px;
}
.newslisting main li {
  margin: 0 0 1.25em;
  padding: 0;
}
.newslisting main li p {
  margin: 0;
}
.newslisting main .source {
  color: #bbb;
  margin: 0 0 .25em;
}
.newslisting main .source img {
  display: inline-block;
  width: auto;
  height: auto;
  max-width: 100px;
  max-height: 32px;
  margin: .3em 0;
}
.newslisting main .date {
  color: #666;
  font-size: 12px;
}
.newslisting main li a {
  font-weight: 500;
}
.pdf {
  color: #bbb;
}
h4.about {
  margin-top: 1.5em;
  border-top: 1px solid #777;
  padding-top: .75em;
}
#news #content .logo, .media #content .logo {
  display: block;
  margin: 0 0 2em;
}
/*MEDIA QUERIES*/
@media screen and (min-width: 480px) {
  /*ABOUT*/
  .pics {
    flex-direction: row;
  }
  .pics div {
    width: 48%;
  }
  /*PORTFOLIO*/
  .grid {
    flex-direction: row;
    font-size: 12px;
  }
  .grid li {
    width: 48%;
  }
  /*TEAM*/
  #team .grid li {
    width: 30%;
    margin: 36px 0 0;
  }
  /*NEWS HOME*/
  .newslisting main li {
    padding: 0 0 0 120px;
  }
  .newslisting main .source {
    float: left;
    width: 100px;
    text-align: center;
    margin: 0 0 0 -120px;
  }
  /*BLOCKQUOTES*/
  blockquote {
    background: url(/css/images/blockquote-before.png) top left no-repeat;
    background-size: 59px 39px;
    padding-left: 74px;
    color: rgba(24, 55, 120, .5);
  }
  blockquote p {
    background: url(/css/images/blockquote-after.png) bottom right no-repeat;
    background-size: 59px 39px;
    padding-right: 74px;
  }
  /*MAKE SURE LAST RULE IS CLOSED */
}
@media screen and (min-width: 768px) {
  /*DESKTOP NAV*/
  .menu-toggle {
    display: none;
  }
  nav {
    display: block !important;
    margin: 0;
    padding: 0;
    position: absolute;
    right: -1em;
    top: -1em;
    width: auto;
  }
  nav ul {
    display: block;
    float: right;
  }
  nav li {
    display: inline-block;
    margin: 0 0 0 -5px;
  }
  nav ul.opening {
    display: block;
    height: 30px;
  }
  nav a {
    background: #183778;
    color: #fff;
    display: block;
    padding: 34px 20px;
    text-decoration: none;
    margin: 0;
  }
  #home nav a {
    background: none;
  }
  nav li:first-child a {
    margin-top: -34px;
  }
  nav li:last-child a {
    padding-bottom: 34px;
  }
  html {
    font-size: 20px;
  }
  #marquee {
    height: 480px;
  }
  .fade {
    height: 60%;
  }
  #marquee p {
    margin: 2em 0 0;
    font-size: 36px;
    line-height: 1.25;
  }
  #marquee p + p {
    margin: 1em 0 0;
  }
  /*SWIPER*/
  .layout {
    flex-direction: row;
  }
  .slide {
    float: left;
    width: 100%;
    clear: both;
    padding-right: 1%;
  }
  .slide .pic {
    float: left;
    width: 66%;
  }
  .slide .pic img {
    border-radius: 4px;
  }
  .slide .bio {
    font-size: .8rem;
    width: 30%;
    float: right;
    margin: 3em 0 0;
    display: inline-block;
    vertical-align: middle;
  }
  /*BLOCKQUOTES*/
  blockquote {
    background-size: 105px 70px;
    padding-left: 120px;
  }
  blockquote p {
    background-size: 105px 70px;
    padding-right: 120px;
  }
  /*PORTFOLIO*/
  .grid {
    flex-direction: row;
    font-size: 14px;
  }
  .grid li {
    width: 30.5%;
  }
  #portfolio .swiper-container {
    text-align: left;
  }
  .portrait {
    float: right;
    margin: 0 auto 1em;
    margin-right: 10px;
    width: 30%;
  }
  .swiper-container blockquote {
    float: left;
    width: 65%;
  }
  /*ABOUT*/
  .pics {
    margin-top: 30px;
  }
  /*TEAM*/
  #team .grid li {
    width: 22.5%;
    margin: 36px 0 0;
  }
  #team .grid li.shim {
    width: 12.25%;
  }
  .biography {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 2em;
  }
  .biography h3, .biography h4, .biography blockquote, .biography .pic {
    margin-left: -120px;
  }
  .biography .pic {
    width: 105px;
  }
  .biography .text {
    /*float: left;*/
    width: calc(100% - 180px);
    padding-left: 120px;
  }
  .biography.noco .text {
    width: 100%;
  }
  .biography .companies {
    margin: 89px 0 1em;
    width: 140px;
  }
  /*NEWS HOME*/
  .newslisting main li {
    padding: 0 0 0 140px;
  }
  .newslisting main .source {
    float: left;
    width: 110px;
    text-align: center;
    margin: 0 0 0 -140px;
  }
  /*FOOTER*/
  footer .layout div {
    padding-left: 2em;
  }
  footer .layout div:first-child {
    padding-left: 0;
  }
  /*MAKE SURE LAST RULE IS CLOSED */
}
@media screen and (min-width: 1024px) {
  /*ABOUT*/
  .pics div {
    width: 23%;
  }
  #portfolio .details p {
    /*max-width: 768px;*/
    margin-left: auto;
    margin-right: auto;
  }
  .grid {
    flex-direction: row;
  }
  .grid li {
    width: 22.5%;
    margin: 3% 0 0;
  }
  .portrait {
    width: calc(23.5% - 1em);
  }
  .swiper-container blockquote {
    width: 75%;
  }
  /*TEAM*/
  .biography h3, .biography h4, .biography blockquote, .biography .pic {
    margin-left: -140px;
  }
  .biography .text {
    width: calc(100% - 210px);
    padding-left: 140px;
  }
  .biography.noco .text {
    width: 100%;
  }
  .biography .companies {
    width: 160px;
    padding: 15px 30px;
  }
  .biography h5 {
    margin: 0 -15px .5em;
  }
  /*MAKE SURE LAST RULE IS CLOSED */
}