/* RESET */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;vertical-align:baseline;}

/* GENERAL */
body                     {font-family: "proxima-nova",sans-serif; font-style: normal; font-weight: 300; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; width: 100%; background: #fff;}
blockquote,q             {quotes: none;}
blockquote:before,blockquote:after,q:before,q:after {content:''; content: none;}
table                    {border-collapse: collapse; border-spacing:0;}
article,aside,details,figcaption,figure,footer,header,hgroup,nav,section {display: block;}
audio,canvas,video       {display: inline-block; *display: inline;*zoom:1;}
audio:not([controls])    {display: none;}
html                     {font-size: 100%; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;}
.floatl                  {float: left;}
.floatr                  {float: right;}
p                        {color: #77838c; font-size: 1.1em; line-height: 1.6em; font-weight: 400; margin-bottom: 1em;}
a                        {-webkit-transition: all 0.3s;; -moz-transition: all 0.3s;; transition: all 0.3s; text-decoration: none;}
h2                       {font-family: "adelle",serif; font-style: normal; font-weight: 700; font-size: 2.2em; line-height: 1em; color: #1081de; margin: 0 0 0.9em;}
h3                       {font-family: "proxima-nova",sans-serif; font-style: normal; font-weight: 300; font-size: 1.5em; line-height: 1.6em; color: #1081de; margin: 0 0 1em;}
h4                       {font-size: 1.3em; line-height: 1.3em; margin: 0 0 0.5em; font-family: "proxima-nova",sans-serif; font-style: normal; font-weight: 400;}
.content                 {width: 70%; margin: 0 auto; padding: 5em 0; text-align: center;}
.disclaimer              {font-size: 1em; line-height: 1.3em; margin: 0 auto; width: 50%; color: #4e5860;}
section                  {-webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; width:100%; overflow: hidden; position: relative;}
a.button                 {font-family: inherit; font-size: inherit; cursor: pointer; padding: 15px 50px; display: inline-block; margin: 15px 30px; text-transform: uppercase; letter-spacing: 1px; font-weight: 700; outline: none; position: relative; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s; color: #fa6442 !important; background: none; border: 2px solid #fa6442; text-decoration: none  !important;}
a.button:hover           {color: #fff !important; background: #fa6442;}
.hidden                  {display: none;}


/* HEADER */
.cbp-af-header           {position: fixed; top: 0; left: 0; width: 100%; background: #fff; z-index: 10000; height: 6em; -webkit-transition: height 0.3s; -moz-transition: height 0.3s; transition: height 0.3s;}
.cbp-af-inner {width: 80%; max-width: 69em; margin: 0 auto; padding: 0 1.875em;}
.cbp-af-header h1, .cbp-af-header nav, .logo {display: inline-block; position: relative;}
.logo                    {margin-top: 1.2em; width: 12em; height: 4em; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s;}
.cbp-af-header h1, .cbp-af-header nav a {line-height: 6em;}
.cbp-af-header h1        {display: none;}
.cbp-af-header nav       {float: right;}
.nav-wrapper a           {color: #818b94; font-family: "adelle",serif; font-style: normal; font-weight: 300; font-size: 1em; margin: 0 0 0 20px; }
.nav-wrapper a:hover     {color: #fa6442;}
/* Transitions and class for reduced height */
.cbp-af-header h1, .cbp-af-header nav a {-webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s;}
.cbp-af-header-shrink {height: 3.3em; -webkit-box-shadow:0 0 10px rgba(0,0,0,0.3); -moz-box-shadow:0 0 10px rgba(0,0,0,0.3); box-shadow:0 0 10px rgba(0,0,0,0.3);}
.cbp-af-header-shrink h1, .cbp-af-header-shrink nav a {line-height: 3.3em;}
.cbp-af-header-shrink .logo {margin: 0; -webkit-transform: scale(0.8); -moz-transform: scale(0.8); transform: scale(0.8);}
a.form-button            {color: #fff; text-decoration: underline; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s;}
a.form-button:hover      {text-decoration: none;}

/* HERO */
#hero                    {background: #1081de; margin: 0 auto; padding: 11em 0 5em;}
#hero .content           {padding: 5em 0 0;}
#hero .disclaimer        {color: #fff;}
.intro-container         {width: 100%; margin: 0 auto; text-align: center;}
.intro-container span    {display: block; color: #fff; font-family: "adelle",serif; font-style: normal; text-align: center;}
.line1                   {font-size: 2.3em; line-height: 1.3em; margin: 0 auto 0.5em;}
.line2                   {font-size: 6em; font-weight: 700; line-height: 0.9em; letter-spacing: 5px; margin: 0 auto 0.2em; text-transform: uppercase;}
.line3                   {font-size: 2em; margin: 0 auto 2em;}
.line4                   {font-size: 1.2em; margin: 0 auto; font-family: "proxima-nova",sans-serif !important; font-weight: 400;}
#hero .gear1-container   {position: absolute; top: 23em; left: -11em; opacity: 0.8;}
#hero .gear2-container   {position: absolute; top: 24.5em; left: 11.5em; opacity: 0.2; -webkit-transform: scale(0.9); -moz-transform: scale(0.9); transform: scale(0.9);}
#hero .gear3-container   {position: absolute; top: 31em; left: 10em; opacity: 0.4; -webkit-transform: scale(0.8); -moz-transform: scale(0.8); transform: scale(0.8);}
#hero .gear4-container   {position: absolute; top: 29em; right: 11em; opacity: 0.2; -webkit-transform: scale(0.9); -moz-transform: scale(0.9); transform: scale(0.9);}
#hero .gear5-container   {position: absolute; top: 19em; right:-3em; opacity: 0.4;}
#hero a.button           {color: #fff !important; background: #1081de;  border: 2px solid #fff;}
#hero a.button:hover     {color: #1081de !important; background: #fff;}


/* RFP */
#rfp .content a          {color: #1081de; text-decoration: underline;}
#rfp .content a:hover    {color: #fa6442; text-decoration: none;}
#rfp p, #rfp h3          {text-align: left;}
#rfp a.button            {margin-top: 4em;}
#rfp .disclaimer         {text-align: center;}
.more, .collapse         {display: block; width: 6em; margin: 0.5em auto 0; font-weight: 700; cursor: pointer;}

/* ABOUT US */
#about-us                {background: #f1f6f7; border-top: 2px solid #ebedee; border-bottom: 2px solid #ebedee;}
#about-us p              {text-align: left;}
#about-us h3             {font-family: "adelle",serif; font-style: normal; font-weight: 700; font-size: 1.5em; line-height: 1.5em;}
.column-container        {margin-top: 4em; width: 100%;}
#about-us .column        {width: 49%; display: inline-block; vertical-align: top; text-align: left; padding-right: 5em; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;}
#about-us p              {font-size: 1em; line-height: 1.8em;}
#about-us .column:last-child {margin-right: 0; border-left: 1px solid #ccd3d7; padding: 0 0 0 5em;}
.fa-trophy, .fa-calendar-o {color: #b8c2c8;}


/* TIMELINE */
#timeline                {background: #1081de;}
.timeline-entry          {padding: 0 0 3em;}
.timeline-entry:last-child {padding: 0;}
.timeline-entry p        {margin: 0; color: #fff;}
#timeline h2, #timeline h4   {color: #fff;}
#timeline h4             {font-weight: 700;}
#timeline he             {margin: 0 0 1.8em;}
#timeline .gear1-container   {position: absolute; top: 6.5em; left: -11em; opacity: 0.6;}
#timeline .gear2-container   {position: absolute; top: 21.5em; left: 11em; opacity: 0.4; -webkit-transform: scale(0.9); -moz-transform: scale(0.9); transform: scale(0.9);}
#timeline .gear3-container   {position: absolute; top: 26em; left: 0; opacity: 0.5; -webkit-transform: scale(0.9); -moz-transform: scale(0.9); transform: scale(0.9);}
#timeline .gear4-container   {position: absolute; top: 31em; right: 9.5em; opacity: 0.2; -webkit-transform: scale(0.9); -moz-transform: scale(0.9); transform: scale(0.9);}
#timeline .gear5-container   {position: absolute; top: 19em; right:-3em; opacity: 0.4;}


/* MEET OUR TEAM */
#our-team img            {height: auto; width: 100%; -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; -webkit-transition: all 0.3s; transition: all 0.3s;}
.og-details h3, .og-details h4 {font-family: "adelle",serif; font-style: normal; color: #1081de;}
.og-details h3           {font-size: 1.7em; font-weight: 700; line-height: 1em; margin: 0 0 0.3em;}
.og-details h4           {font-size: 1.2em; line-height: 1.2em; margin: 0 0 1em;}
.og-details p            {font-size: 1em; line-height: 1.8em; color: #7b858e; margin: 0 0 1em;}
.nav_categories          {list-style-type: none;}
.nav_categories li       {display: inline-block; margin-right: 2em;}
.nav_categories a        {font-size: 1.3em; color: #1081de; cursor: pointer; text-decoration: underline;}
.nav_categories li:last-child {margin-right: 0;}
.nav_categories a:hover  {color: #fa6442; text-decoration: none;}
.nav_categories a.active {color: #fa6442; text-decoration: none;}
#filters                 {margin-bottom: 2em;}
.overlay-wrapper         {position: absolute; z-index: 1; -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; overflow: hidden; height: 100%; width: 100%;}
.overlay-wrapper:hover > .overlay {top: -480px;}
.overlay                 {position: relative; height: 100%; width: 100%; text-align: center; z-index: 2; top:0; -moz-transition: top .7s ease; -webkit-transition: top .7s ease; transition: top .7s ease; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; background: rgba(16,129,222,0.7); display: table;}
.overlay:hover           {top:0;}
.overlay h3              {font-family: "adelle",serif; font-style: normal; font-size: 1.3em; font-weight: 300; color: #fff; line-height: 1.3em; display: table-cell; vertical-align: middle;}

/* GRID */
.members-wrapper         {text-align: center;}
.members-wrapper .member-item      {vertical-align: top; height: auto; width: 22%; margin: 0 2% 2% 0; display: inline-block;}
.members-wrapper .member-item > a, .members-wrapper .member-item > a img {border: none; outline: none; display: block; position: relative; cursor: pointer;}
.members-wrapper .image-wrapper {position: relative;}
.members-wrapper .image-wrapper img { display: block; }
.members-wrapper .bio-wrapper { display: none; position: absolute; }
.members-wrapper .bio-wrapper.added { display: block; }
.bio-wrapper.added {position: absolute; background: #f1f6f7; top: auto; left: 0; width: 100%; margin-top: 0; text-align: left; overflow: hidden; padding-top: 3em; z-index: 10;}
.bio-wrapper .inner {width: 70%; margin: 0 auto;}
.bio-wrapper h3, .og-details h4 {font-family: "adelle",serif; font-style: normal; color: #1081de;}
.bio-wrapper h3           {font-size: 1.7em; font-weight: 700; line-height: 1em; margin: 0 0 0.3em;}
.bio-wrapper h4           {font-size: 1.2em; line-height: 1.2em; margin: 0 0 1em;}
.bio-wrapper p            {font-size: 1em; line-height: 1.8em; color: #7b858e; margin: 0 0 1em;}
.bio-wrapper a            {color: #1081de; text-decoration: underline;}
.bio-wrapper a:hover      {color: #fa6442; text-decoration: none;}
.bio-close                {position: absolute; width: 40px; height: 40px; top: 20px; right: 20px; cursor: pointer;}
.bio-close::before, .bio-close::after {content: ''; position: absolute; width: 100%; top: 50%; height: 1px; background: #888; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); transform: rotate(45deg);}
.bio-close::after         {-webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); transform: rotate(-45deg);}
.bio-close:hover::before,
.bio-close:hover::after   {background: #b8c2c8;}


.og-grid                 {list-style: none; text-align: center;}
.og-grid li              {vertical-align: top; height: auto; width: 22%; margin: 0 2% 2% 0; display: inline-block;}
.og-grid li > a, .og-grid li > a img {border: none; outline: none; display: block; position: relative; cursor: pointer;}
.og-grid li.og-expanded > a::after {top: auto; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; border-bottom-color: #f1f6f7; border-width: 15px; left: 50%; margin: 0 0 0 -15px;}
.og-expander             {position: absolute; background: #f1f6f7; top: auto; left: 0; width: 100%; margin-top: 30px; text-align: left; height: 0; overflow: hidden; padding-top: 3em; z-index: 10;}
.og-expander-inner       {height: 100%;}
.og-close                {position: absolute; width: 40px; height: 40px; top: 20px; right: 20px; cursor: pointer;}
.og-close::before, .og-close::after {content: ''; position: absolute; width: 100%; top: 50%; height: 1px; background: #888; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); transform: rotate(45deg);}
.og-close::after         {-webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); transform: rotate(-45deg);}
.og-close:hover::before,
.og-close:hover::after   {background: #b8c2c8;}
.og-fullimg, .og-details {width: 70%; height: 100%; position: relative;}
.og-details              {padding: 0; margin: 0 auto; overflow: scroll;}
.og-fullimg              {text-align: center; display: none;}
.og-fullimg img          {display: inline-block; max-height: 100%; max-width: 100%;}
.og-details a            {font-weight: 700; font-size: 16px; color: #333; text-transform: uppercase; letter-spacing: 2px; padding: 10px 20px; border: 3px solid #333; margin: 30px 0 0; outline: none; display: none;}
.og-details a::before    {content: '\2192'; display: inline-block; margin-right: 10px;}
.og-details a:hover      {border-color: #999; color: #999;}
.og-loading              {width: 20px; height: 20px; border-radius: 50%; background: #ddd; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ccc, -15px 30px 1px #ccc; position: absolute; top: 50%; left: 50%; margin: -25px 0 0 -25px; -webkit-animation: loader 0.5s infinite ease-in-out both; -moz-animation: loader 0.5s infinite ease-in-out both; animation: loader 0.5s infinite ease-in-out both;}


/* CONTACT US */
#contact-us              {background: #f1f6f7; border-top: 2px solid #ebedee; border-bottom: 1px solid #ebedee;}
#contact-us a            {color: #1081de;}
#contact-us a:hover      {color: #fa6442;}
#contact-us h3           {font-weight: 700; font-size: 1.3em; line-height: 1.6em; margin: 0 0 1em;}
#contact-us .column      {margin-right: 2.5em; display: inline-block; vertical-align: top;}
#contact-us .column:last-child {margin-right: 0;}
#contact-us .column.1    {width: 19em;}
#contact-us .column.2    {width: 11em;}
#contact-us .column.3    {width: 11em;}
#contact-us ul           {list-style-type: none;}
#contact-us li           {display: inline-block; margin-right: 1em;}
#contact-us li:last-child  {margin-right: 0;}


/* MEDIA QUERIES */
@-webkit-keyframes loader {
	0% { background: #ddd; }
	33% { background: #ccc; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ccc, -15px 30px 1px #ddd; }
	66% { background: #ccc; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ddd, -15px 30px 1px #ccc; }
}

@-moz-keyframes loader {
	0% { background: #ddd; }
	33% { background: #ccc; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ccc, -15px 30px 1px #ddd; }
	66% { background: #ccc; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ddd, -15px 30px 1px #ccc; }
}

@keyframes loader {
	0% { background: #ddd; }
	33% { background: #ccc; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ccc, -15px 30px 1px #ddd; }
	66% { background: #ccc; box-shadow: 0 0 1px #ccc, 15px 30px 1px #ddd, -15px 30px 1px #ccc; }
}

@media screen and (max-width: 1100px) {
 #contact-us .content              {width: 80%;}
}

@media screen and (max-width: 960px) {
 .gear2-container, #hero .gear3-container, #hero .gear4-container {display: none;}
 #hero .gear5-container            {top: 23em;}
}

@media screen and (max-width: 900px) {
  .content                         {width: 90%;}
  #contact-us .content             {width: 80%;}
}

@media screen and (max-width: 850px) {
  .cbp-af-inner     {width: 90%;}
	 #about-us .column                {padding-right: 2em;}
	 #about-us .column:last-child     {padding: 0 0 0 2em;}
	 #contact-us .column              {margin-right: 2em;}
	 #contact-us p                    {font-size: 1em;}
	 .line1                           {font-size: 2.1em;}
	 .line2                           {font-size: 5em;}
	 .line3                           {font-size: 1.8em;}
	 .line4                           {width: 50%;}
}

@media screen and (max-width: 790px) {
  #timeline .gear5-container       {top: 6em;}
  #timeline .gear3-container       {top: 30em;}
  #contact-us .content             {width: 90%;}
}

@media screen and (max-width: 720px) {
  #contact-us .content             {text-align: center;}
  #contact-us .column              {display: block; margin: 0 auto 2em; width: 40%;}
  #contact-us .column:last-child   {margin: 0 auto 0;}
  #contact-us p                    {text-align: center;}
  .nav_categories a                {font-size: 1em;}
  #hero .gear1-container, #hero .gear5-container, #timeline .gear1-container, #timeline .gear3-container, #timeline .gear4-container, #timeline .gear5-container         {display: none;}
  .line1                           {font-size: 1.8em;}
  .line2                           {font-size: 4em;}
  .line3                           {font-size: 1.5em;}
  #about-us .column                {display: block; margin: 0 auto 3em; width: 80%; padding: 0;}
  #about-us .column:last-child     {margin: 0 auto; border-left: none; padding: 0;}
  nav                              {width: 2em; height: 1.3em; border-top: 4px solid #bbb; border-bottom: 4px solid #bbb; position: absolute; right: 0; top: 1.5em; cursor: pointer;}
  nav:after                        {width: 100%; height: 4px; background-color: #bbb; content: ''; position: absolute; top: 0; bottom: 0; left: 0; margin: auto;}
 .nav-wrapper                      {width: 100%; height: 0; position: fixed; left: 0; top: 0; background: #fff; z-index: 9999999; overflow: hidden; top: 80px; -webkit-transition: height 0.5s; transition: height 0.5; overflow: auto;}
 .nav-wrapper.open                 {height: 100%; padding-bottom: 65px; border-top: 1px solid #bbb;}
 .nav-wrapper a                    {display: block; border-bottom: 1px solid #bbb; position: relative; margin: 0 !important; padding: 1.5em 2em; line-height: 1em !important;}
 .nav-wrapper a:after              {content: ''; position: absolute; right: 2em; top: 1.5em; width: 0; height: 0; border-top: 10px solid transparent; border-bottom: 10px solid transparent; border-left: 12px solid #bbb;}
 .cbp-af-header                    {height: 5em;}
 .logo                             {margin: 0.8em 0 0 0;}
 .cbp-af-header-shrink             {height: 5em !important;}
 .cbp-af-header-shrink .logo       {margin: 0.8em 0 0 0; -webkit-transform: scale(1); -moz-transform: scale(1); transform: scale(1);}
 .overlay h3                       {font-size: 1em;}
}

@media screen and (max-width: 550px) {
  .line1                           {font-size: 1.1em;}
  .line2                           {font-size: 2em;}
  .line3                           {font-size: 1em;}
  .line4                           {font-size: 1em;}
  a.button                         {padding: 10px 30px;}
  .disclaimer                      {font-size: 1em; width: 70%;}
  #contact-us .column              {width: 100%;}
  .nav_categories li               {display: block; margin: 0 auto 0.5em;}
  .og-details                      {width: 90%; overflow: auto;}
  .og-close:before, .og-close:after {top: 16%;}
  .logo                            {float: none; margin: -0.3em 0px 0px 0; -webkit-transform: scale(0.7); -moz-transform: scale(0.7); transform: scale(0.7);}
  .cbp-af-header                   {height: 3em;}
  .cbp-af-header-shrink            {height: 3em !important;}
  .cbp-af-inner                    {width: 100%; padding: 0;}
  .cbp-af-header-shrink .logo      {margin: -0.3em 0px 0px 0; -webkit-transform: scale(0.7); -moz-transform: scale(0.7); transform: scale(0.7);}
  .nav-wrapper                     {top: 3em;}
  nav                              {height: 1.3em; width: 2.2em; top: 0.5em; right: 2em;}
  .overlay h3                      {font-size: 1.2em;}
  .members-wrapper .member-item    {width: 40%;}
  .bio-wrapper .inner              {width: 80%;}
}