@font-face {
  font-family: 'socialicon';
  src: url('/font/socialicon.eot');
  src: url('/font/socialicon.eot#iefix') format('embedded-opentype'),
       url('/font/socialicon.woff') format('woff'),
       url('/font/socialicon.ttf') format('truetype'),
       url('/font/socialicon.svg#socialicon') format('svg');
  font-weight: normal;
  font-style: normal;
}

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {display: block;}

input.text,
input[type="text"],
input[type="button"],
input[type="submit"],
.input-checkbox {
-webkit-appearance: none;
}

body {
  color: #54657e;
  font: 400 16px 'Roboto', sans-serif; /* 'Titillium Web', sans-serif; */
  background: #ecedee;
  -webkit-text-size-adjust: none;
  padding: 0;
  margin: 0;	
}

header {position: relative; background: #3d4d65;}
header section {background: none;}


#masthead_slides {
  position: relative;
  width: 100%;
  max-height: 490px !important;
  overflow: hidden;	
  margin-top: 0;
  -webkit-transition:margin 0.5s; transition:margin 0.5s;
}
.masthead_slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 490px !important;
  opacity: 0;
}
#masthead_slides .masthead_slide:first-child {
  position: relative;	
}


.masthead_slide img {
  position: relative;
  display: block;
  width: 100%;
  max-width: 100% !important;
  height: auto;
  margin: auto;	
}
.masthead_slide-content {
  position: absolute;
  bottom: 20px;
  left: 0;
  width: 100%;
}
hgroup {
  position: relative;
  width: 100%;
  padding: 0 25px;
  max-width: 1280px;
  font-size: 38px;
  margin: auto;
  box-sizing: border-box;
  z-index: 1;	
}
hgroup h1, hgroup h2, hgroup h3 {
  color: #fff;
  line-height: 1.2em;
  text-transform: none;
  margin: 0;
  -webkit-transition:all 0.3s; transition:all 0.3s;	
}
hgroup h1 {
  font-size: 1em;	
}
hgroup h2 {
  font-family: 'Roboto', sans-serif;
  font-size: 0.632em;
  margin-top: 0.526em;	
}
hgroup h3 {
  font-family: 'Roboto', sans-serif;
  font-size: 0.579em;	
}
hgroup h3 a {
  color: #fff;	
}

#header_img {
  position: relative;
  max-height: 490px;
  background: #3d4d65;
  text-align: center;
  overflow: hidden;	
}
#header_img img {
  position: relative;
  display: block;
  width: 100%;
  /*max-width: 1280px !important;*/
  max-width: 100% !important;
  height: auto;
  margin: auto;	
}
#header_text {
  position: absolute;
  left: 0;
  bottom: 40px;
  width: 100%;
  padding: 0 25px;
  color: #fff;
  font-family: 'Titillium Web', sans-serif;
  font-size: 38px;
  font-weight: 300;	
  line-height: 1em;
  box-sizing: border-box;
  -webkit-transition:font-size 0.3s; transition:font-size 0.3s;
}
#header_text:hover {color: rgba(255,255,255,0.5);}
#photo_credit {
  position: absolute;
  right: 25px;
  bottom: 10px;
  color: #fff;
  font-size: 12px;
  text-transform: uppercase;	
}
.slide_credit {
  position: relative;
  width: 100%;
  padding: 0 25px;
  max-width: 1280px;
  margin: -14px auto 0;
  box-sizing: border-box;
  color: #fff;
  font-size: 12px;
  text-align: right;
  text-transform: uppercase;	
}



#header_bar {
  position: fixed; /*position: absolute;*/
  top: 0;
  left: 0;
  width: 100%;
  color: #fff;
  text-transform: uppercase;
  text-align: right;
  background: rgba(61,77,101,0.9);
  z-index: 99;
  -webkit-transition:background 0.3s; transition:background 0.3s;
}
#logo {
  position: absolute;
  top: 0;
  left: 25px;
  /*width: 15.625%;*/  width: 230px;
  text-align: left;
  text-indent: -9999px;
  background-image: url(/img/immp_logo.svg);
  background-color: rgb(61,77,101);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 80% auto;
  -webkit-transition:all 0.3s; transition:all 0.3s;
}
#logo.shrink {
  top: 5px;
  width: 100px !important;
  height: 40px !important;
  background-image: url(/img/immp_logo-compact.svg);
  background-color: transparent;
  background-size: 100% auto;
  overflow: hidden;
  -webkit-transition:all 0.3s; transition:all 0.3s;
}

#header_bar a {
  display: inline-block;
  color: #fff;
}
#header_bar a:hover {color: #adb9ca;}

#header_bar a#menuBtn {
  font-weight: 700;
  margin: 12px 0;
  display: none;	
}

#main_nav {
  display: inline-block;
  width: 64%;
  list-style: none;
  padding: 0;
  margin: 12px 0;
  vertical-align: middle;
  -webkit-transition:all 0.3s; transition:all 0.3s;	
}
#main_nav.shrink {
  margin: 0;
  -webkit-transition:all 0.3s; transition:all 0.3s;		
}
#main_nav li {
  position: relative;
  display: inline-block;
  margin-left: 20px;
}
#main_nav li:first-child {margin-left: 0;}
#main_nav li:last-child {margin-left: 10px;}
#main_nav li a {
  padding: 8px 0 5px;
  border-bottom: 3px solid transparent;	
}
#main_nav li a.active, #main_nav li.here a {
  border-bottom: 3px solid #fff;	
}
#main_nav li a.active:hover {color: #fff;}
#main_nav .social {
  font-size: 24px;
  margin-left: 10px;
}



#main_nav ul.drop_menu {
  position: absolute;
  left: 0;
  top: 100%;
  padding: 13px 0 0 0;
  font-size: 12px;
  text-align: left;
  text-transform: none;
  margin: 0;
  display: none;
  -webkit-transition:padding-top 0.3s; transition:padding-top 0.3s;
}

#main_nav ul.drop_menu li {
  display: block;
  margin: 0;
  padding: 5px 20px;
  background: rgba(61,77,101,0.9);
  white-space: nowrap;	
}
#main_nav ul.drop_menu li a {border-bottom: none;}
#main_nav ul.drop_menu li a.active {color: #adb9ca; font-weight: 700;}
#main_nav.shrink ul.drop_menu {padding-top: 1px;}

#header_bar img {vertical-align: middle;}

#head_search {
  display: inline-block;
  width: 245px; width: 19.919%;
  height: 45px;
  margin: 0 0 0 20px;
  padding: 0;
  white-space: nowrap;
  -webkit-transition:all 0.3s; transition:all 0.3s;
}
#head_search input[type="text"] {
   width: 81.63265%;
  height: 100%;
  padding: 0 10px;
  border: none;
  vertical-align: middle;
  border-radius: 5px 0 0 5px;
  background-color: rgba(255,255,255,0.8);/*#eceff4*/
  box-sizing: border-box;
  -webkit-transition:all 0.3s; transition:all 0.3s;
}
#head_search input[type="text"]:hover, #header_bar input[type="text"]:focus {background-color: #fff;}
#head_search input[type="submit"] {
  width: 18.36734%;
  height: 100%;
  border: none;
  vertical-align: middle;
  background: #0082d5 url(/img/icon-search.png) center center no-repeat;
  background-size: 16px 16px;
  margin-left: -4px;
  border-radius: 0 5px 5px 0;
  cursor: pointer;
  box-sizing: border-box;
}

#head_search.shrink {
  height: 27px;	
}

#subhold {
  position: relative;
  width: 100%;
  max-width: 1280px;
  overflow: hidden;
  margin: auto;	
}
#subnav {
  width: 100%;
  z-index: 3;
  -webkit-transition:all 0.3s ease; 
  -moz-transition:all 0.3s ease;
  transition:all 0.3s ease;
}
#subnav.fixed {
  position: fixed;
  background: rgba(255,255,255,0.9);
  box-shadow: 0 0px 10px rgba(0,0,0,0.75);
  left: 0;
}
#subnav section {
  display: block;
  padding: 45px 35px 25px;
  -webkit-transition:all 0.3s ease; 
  -moz-transition:all 0.3s ease;
  transition:all 0.3s ease;	
}
#subnav.fixed section {
  background: none; 
  padding: 0px 25px;
}

#subnav.fixed .button {
  padding: 3px 10px;
  border-radius: 3px;
  -webkit-transition:all 0.3s ease; 
  -moz-transition:all 0.3s ease;
  transition:all 0.3s ease;		
}

#subinner {display: table; width: 100%;}

#camp_logo {
  display: table-cell;
  width: 24.793388%;
  min-width: 99px;
  padding: 10px 0;
  vertical-align: middle;
  text-align: left;	
}
#camp_logo img {
  display: inline-block;
  width: 100%;
  height: auto;
  vertical-align: middle;
  -webkit-transition:all 0.3s ease; 
  -moz-transition:all 0.3s ease;
  transition:all 0.3s ease;
}

#subnav.fixed #camp_logo img {
  width: 75px;
  height: auto;
  -webkit-transition:all 0.3s ease; 
  -moz-transition:all 0.3s ease;
  transition:all 0.3s ease;
}

#subnav ul {
  position: relative;
  display: table-cell;
  /* width: 87.8049%; */
  list-style: none;
  margin: 0; padding: 0;
  text-align: right;
  vertical-align: middle;
}
#subnav li {
  display: inline-block;
  text-align: center;
  margin-left: 3%;
}
#subnav a {
  color: #54657e;
  font-family: 'Titillium Web', sans-serif;
  font-size: 15px;
  text-transform: uppercase;	
}
#subnav a:hover, #subnav a.active, #subnav a.here {color: #0781d4;}

section {
  position: relative;
  width: 100%;
  padding: 0 25px;
  max-width: 1280px;
  background: #fff;
  margin: auto;
  box-sizing: border-box;	
}
section:after {
  content: "";
  display: table;
  clear: both;	
}
#no_subnav {
  padding-top: 25px;	
}

.top_rule { border-top: 1px solid #cccccc; padding-top:40px; }
.gap {margin: 25px auto;}
#after_subnav.gap {margin-top: 0;}
.nobg {background: none; padding: 0; margin: 25px auto;}
.fullwhite {background: #fff; padding: 25px 0;}

footer {
  position: relative;
  color: #adb9ca;
  font-family: 'Titillium Web', sans-serif;
  background: #3d4d65;	
}
footer a {color: #fff;}
footer a:hover {color: #adb9ca;}
footer section {
  padding: 0;
  background: transparent;
}
.footer_box {
  width: 25%;
  padding: 40px 1.953125%;
  float: left;
  overflow: hidden;
  box-sizing: border-box;
}
.footer_box:first-child {padding-left: 25px;}
.footer_box:last-child {padding-right: 25px;}
.footer_box-header {
  color: #fff;
  font-family: 'Titillium Web', sans-serif;
  font-size: 22px;
  text-transform: uppercase;
  margin-bottom: 30px;	
} 
.footer_news {
  display: block;
  text-decoration: none;
  margin-bottom: 10px;
  overflow: hidden;	
}
.footer_news-pic {
  display: block;
  width: 29.6296%;
  max-width: 80px;
  float: left;
  opacity: 1;
  -webkit-transition:opacity 0.3s; transition:opacity 0.3s;
}
.footer_news-pic img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 5px;	
}
.footer_news-story {
  display: block;
  width: 62.9629%;
  color: #fff;
  margin-bottom: 20px;
  float: right;
  -webkit-transition:color 0.3s; transition:color 0.3s;	
}
.footer_news-date {
  display: block;
  width: 62.9629%;
  color: #adb9ca;
  font-size: 13px;
  float: right;
  -webkit-transition:color 0.3s; transition:color 0.3s;
}
.footer_news:hover .footer_news-story {color: #adb9ca;}
.footer_news:hover .footer_news-date {color: #fff;}
.footer_news:hover .footer_news-pic {opacity: 0.5; -webkit-transition:opacity 0.3s; transition:opacity 0.3s;}
.footer_tweet-date {
  margin: 20px 0;	
}
.footer_tweet-follow {
  display: inline-block;
  padding: 10px 14.8148% 10px 10px;
  color: #adb9ca;
  font-size: 13px;
  line-height: 20px;
  text-transform: uppercase;
  border: 1px solid #adb9ca;
  border-radius: 5px;
  -webkit-transition:color 0.3s, border-color 0.3s; transition:color 0.3s, border-color 0.3s;	
}
.footer_tweet-follow .social {
  font-size: 22px;
  vertical-align: middle;
  margin-right: 8px;
}
.footer_tweet-follow:hover {
  color: #fff;
  border-color: #fff;
  -webkit-transition:color 0.3s, border-color 0.3s; transition:color 0.3s, border-color 0.3s;	
}
.footer_gallery-tmb {
  display: block;
  width: 29.6296%;
  max-width: 80px;
  margin: 0 3.7037% 3.7037% 0;
  float: left;
  opacity: 1;
  -webkit-transition:opacity 0.3s; transition:opacity 0.3s;	
}
.footer_gallery-tmb:hover {opacity: 0.5;-webkit-transition:opacity 0.3s; transition:opacity 0.3s;}
.footer_gallery-tmb img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 5px;
}
.view_all { display: block; clear: both;}

#foot_nav {
  position: relative;
  width: 100%;
  padding: 25px 12px;
  max-width: 1280px;
  border-top: 1px solid #54657e;
  margin: auto;
  box-sizing: border-box;	
}
#foot_nav a {display: inline-block; margin: 0 12px;}
#foot_nav ul {
  display: inline-block;
  list-style: none;
  margin: 0;
  padding: 0;	
}
#foot_nav li {
  display: inline-block;	
}

a {
  color: #006bab;
  text-decoration: none;
  outline: none;
   -webkit-transition:color 0.3s; transition:color 0.3s;
}
a:hover {color: #0781D4;}

.center {text-align: center;}

.button {
  display: inline-block;
  padding: 10px 30px;
  font-family: 'Titillium Web', sans-serif;
  color: #fff !important;
  font-size: 16px;
  line-height: 1em;
  text-transform: uppercase;
  vertical-align: middle;
  background-color: #339933;
  border-radius: 10px;
  -webkit-transition:background-color 0.3s; transition:background-color 0.3s;	
}

.button-blue { background-color: #0099CC; }

.button:hover {
  background-color: #64bb64;
  -webkit-transition:background-color 0.3s; transition:background-color 0.3s;	
}
.social {
  font-family: 'socialicon';
  font-weight: normal !important;
  font-variant: normal;
  text-transform: lowercase;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;	
}
.icon {
  display: inline-block;
  width: 36px !important;
  height: 36px !important;
  color: #fff !important;
  font-size: 20px;
  line-height: 36px;
  text-align: center;
  border-radius: 20px;
  margin-right: 3px;
}
.t {background: #55acee;}
.f {background: #3b5998;}
.g {background: #dd4b39;}
.u {background: #cf2302;}
.i {background: #6e5541;}
.n {background: #6f553e;}

.caps {text-transform:uppercase;}

p {margin-top: 0;}

img {
  width: 100%;
  height: auto;
  border: 0;
  outline: 0;	
}

.img-right {
  position: relative;
  margin-left: 20px;
  float: right;	
}
.img-left {
  position: relative;
  margin-right: 20px;
  float: left;	
}
.img-center {
  position: relative;
  display: block;
  margin: 20px auto;
  clear: both;
}
.img-right img, .img-left img, .img-center img {display: block;}
.img-caption {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 10px;
  color: #fff;
  font-size: 14px;
  background: rgba(55,67,85,0.7);
  box-sizing: border-box;	
}

h1, h2, h3, h4, h5 {margin-top: 0; margin-bottom: 10px; line-height:1em; }
h1 {
  font-family: 'Titillium Web', sans-serif;
  font-size: 30px;
  font-weight: 400;
  text-transform: uppercase;	
}
h2 {
  font-family: 'Titillium Web', sans-serif;
  font-size: 30px;
  font-weight: 400;
  text-transform: uppercase;	
}
h3 {
  font-family: 'Titillium Web', sans-serif;
  font-size: 24px;
  font-weight: 400;
  text-transform: uppercase;	
}
h4 {
  font-size: 20px;
  font-weight: 400;
  text-transform: uppercase;
  margin-bottom: 10px;	
}
h5 {
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 10px;	
}






#carousel_container {
  position: relative;
  width: 1110px;
  background: #fff;
  margin: auto;
  box-sizing: border-box;	
}
#carousel {
  position: relative;
  margin: auto;
  overflow: hidden;
}
#carousel_slider {
  position: relative;
  top: 0;
  left: 0;
  overflow: hidden;
}
.carousel_slide {
  position: relative;
  float: left;
  width: 220px;
  margin: 0 10px;
  box-sizing: border-box;
}

.carousel_slide img {display: block;}
.slide_inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 10%;
  color: #fff;
  background: rgba(0,0,0,0.75);
  opacity: 0;
  box-sizing: border-box;
  -webkit-transition:opacity 0.5s; transition:opacity 0.5s;	
}
.slide_inner:hover {opacity: 0.95;}
.slide_title {
  font: 300 20px/1.2em "Titillium Web",sans-serif;
  text-transform: uppercase;
}
.slide_description {padding-bottom: 34px;}
.slide_social {
  position: absolute;
  left: 10%;
  bottom: 10%;	
}
.slide_social a {
  display: inline-block;
  width: 32px;
  height: 32px;
  font-family: 'socialicon';
  font-weight: normal !important;
  font-variant: normal;
  text-transform: lowercase;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 32px;
  font-size: 18px;
  color: #fff;
  text-align: center;
  border: 1px solid #fff;
  border-radius: 20px;	
}

#carousel_nav {
  text-align: center;
  margin-top: 20px;	
}
#carousel_nav a {
  display: inline-block;
  width: 10px;
  height: 10px;
  border: 1px solid #777;
  border-radius: 10px;
  background: #fff;
  margin: 3px;
  -webkit-transition:background 0.75s; transition:background 0.75s;
}
#carousel_nav a:hover {background: #0082d5;}
#carousel_nav a.activeSlide {
  background: #777;
  -webkit-transition:background 0.2s; transition:background 0.2s;
}

#carousel_prev, #carousel_next {
  display: block;
  position: absolute;
  top: 53px;
  width: 50px;
  height: 106px;
  text-indent: -9999px;
  overflow: hidden;	
}
#carousel_prev {
  left: 0;
  background: url(/img/arrow-prev.png) center top no-repeat;	
}
#carousel_next {
  right: 0;
  background: url(/img/arrow-next.png) center top no-repeat;	
}
#carousel_prev:hover, #carousel_next:hover {background-position: center bottom;}


#fader {
  position: relative;
  padding: 7.317% 7.317% calc(7.317% - 32px);
}
#fader_slides {
  position: relative;
}
.fade_slide {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  color: #4b4b4b;
  font-size: 34px;
  text-align: center;
  -webkit-transition:font-size 0.3s; transition:font-size 0.3s;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  opacity: 0;
  z-index: 0;
  -moz-transition: opacity 1s ease-in-out;
  -webkit-transition: opacity 1s ease-in-out;
  transition: opacity 1s ease-in-out;
}
.fade_slide.visible_slide {
  opacity: 1;
  z-index: 1;
  -moz-transition: opacity 1s ease-in-out;
  -webkit-transition: opacity 1s ease-in-out;
  transition: opacity 1s ease-in-out;	
}
.fade_slide a {
  display: inline-block;
  width: 100%;
  color: #4b4b4b;
}
.slide_tag {
  display: block;
  color: #777;
  font-size: 0.588em;
  text-transform: uppercase;
  padding-top: 1.75em;	
}

#fader_nav {
  text-align: center;
  margin-top: 20px;	
}
#fader_nav a {
  display: inline-block;
  width: 10px;
  height: 10px;
  border: 1px solid #777;
  border-radius: 10px;
  background: #fff;
  margin: 3px;
  -webkit-transition:background 0.75s; transition:background 0.75s;
}
#fader_nav a:hover {background: #0082d5;}
#fader_nav a.activeFadeSlide {
  background: #777;
  -webkit-transition:background 0.2s; transition:background 0.2s;
}





.story_block {
  padding: 20px 0;
  clear: both;
  overflow: hidden;	
}
.story_block-img {
  width: 27.6422%;
  padding-top: 10px;
  float: left;	
}
.story_block-text {
  width: 69.9187%;
  float: right;	
}
.story_block-text h2 {margin-bottom: 0;}
.attribution {
  font-style: italic;
  font-size: 20px;	
}

.third_boxes {
  display: table;
  width: 100%;
  -webkit-transition:width 0.5s; transition:width 0.5s;
}
.third-sp {
  display: table-cell;
  width: 6.25%;
  opacity: 0;
  overflow: hidden;
}
.third {
  display: table-cell;
  width: 29.1666%;
  background: #fff;
  overflow: hidden;
  box-sizing: border-box;
  vertical-align: top;
  border: 1px solid #ecedee;
}

.third-img {position: relative; }
.third-img .tag {
  position: absolute;
  top: 6.7%;
  right: 6.7%;
  padding: 5px 10px;
  color: #fff;
  font-size: 12px;
  text-transform: uppercase;
  background: #339933;
  z-index: 1;
}
.third-text {
  position: relative;
  padding: 3.35% 6.7% 6.7%;	
}
.third-text-date {
  color: #8493a8;
  font-size: 12px;
  text-transform: uppercase;	
}
.third-text .button {
  position: absolute;
  left: 6.7%;
  bottom: 6.7%;	
}

.half_boxes {
  width: 100%;
  overflow: hidden;	
}
.half {
  width: 48.78%;
  overflow: hidden;
  float: left;
  box-sizing: border-box;
}
.half_boxes .half:nth-child(2) {float: right;}

.action_block {
  display: table;
  width: 100%;
  border: 1px solid #ccc;	
}
.action_text {
  display: table-cell;
  width: 50%;
  /*padding-right: 10%;*/
  padding: 2% 5%;
  vertical-align: middle;
}
.action_text h2 {
  font-size: 48px;
  line-height: 1em;
  margin-bottom: 10px;
  -webkit-transition:all 0.3s; transition:all 0.3s;
}
.action_pic {
  display: table-cell;
  width: 50%;
  vertical-align: middle;	
}
.action_pic img {display: block;}

.feed, .social_feed {
  list-style: none;
  margin: 0; padding: 20px;	
}
.feed li, .social_feed li {
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px dotted #dedede;
  overflow: hidden;	
}
.feed a {font-weight: 700;}
.feed em, .feed i, .social_feed em, .social_feed i {display: block;}
.social_feed {
  background: #f5f5f5;	
}
.social_feed p {margin: 0;}
.social_feed li:first-child {
  border-bottom: none;	
}
.social_feed li:first-child .social {font-size: 1.3em;}
.feed li:last-child, .social_feed li:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;	
}



#news_blocks {
  width: 65%;
  background: #fff;
  padding: 25px;
  float: left;
  box-sizing: border-box;	
}
.news_block {overflow: hidden; margin-bottom: 40px;}
#news_blocks .news_block:last-child {margin-bottom: 0;}
.news_block-pic {
  width: 38.3632%;
  float: left;	
}
.news_block-body {
  width: 61.6368%;
  padding-left: 25px;
  float: left;
  box-sizing: border-box;
}
.news_block-body a {font-weight: 700;}
.topics {font-size: 14px; text-transform: uppercase; margin: 16px 0;}
.topics a {font-weight: 400; margin-left: 5px;}




#campaign_news {
  width: 35%;
   padding: 25px;
  float: right;
  box-sizing: border-box;	
}
#campaign_news h2 {margin-bottom: 10px;}
#campaign_news ul {
  list-style: none;
  padding: 0; margin: 0;	
}
#campaign_news li {margin-bottom: 15px;}



dl, dt, dd {margin: 0;}
dl {padding-bottom: 10px;}
dt {
  color: #065ec8;
  font: 400 17px 'Titillium Web', sans-serif;
  text-transform: uppercase;
  cursor: pointer;	
  -webkit-transition:color 0.5s; transition:color 0.5s;
}
dt span {
  display: inline-block;
  height: 26px;
  width: 24px;
  font: 400 26px monospace;
  text-align: center;
  line-height: 24px;
  overflow: hidden;
  vertical-align: middle;
  margin-top: -2px;
  -webkit-transition:all 0.4s; -moz-transition:all 0.4s; transition:all 0.4s;
}

dt:hover span {
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);	
}

dt span.arrowDown {
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);	
}
dt.opened:hover span.arrowDown {
  -webkit-transform: rotate(-90deg);
  -moz-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);	
}


dd {display: none;}
.dl-title {
 font-weight: 700;
 font-size: 14px;	
}
.dl-text {
  font-size: 14px;
}
.dl-attr {
  font-size: 14px;
  font-style: italic;	
}
.more_articles a {
  font-size: 14px;
  font-weight: 700;	
}

#newsletter {
  border: 1px solid #dbdbdb;
  border-radius: 5px;
  padding: 5px 5px 5px 10px;
  background: #fff;	
}
#newsletter input[type="text"] {
  display: inline-block;
  width: calc(100% - 45px);
  vertical-align: middle;
  padding: 0;
  border: none;
  font-size: 16px;	
}
#newsletter input[type="submit"] {
  display: inline-block;
  width: 38px;
  height: 38px;
  border: 0;
  padding: 0;
  background: #312626;
  border-radius: 20px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  vertical-align: middle;
  cursor: pointer;	
}

#get_newsletter {
  background: #fff;
  padding: 10px;
  margin-top: 25px;	
}

.share {margin: 16px 0;}

#gallery_nav {
  list-style: none;
  margin: 0; padding: 0;
  text-align: center;	
}
#gallery_nav li {
  display: inline-block;
  margin: 0;
  font-size: 24px;	
}

#gallery_nav li a {font-size: 16px; margin: 0 10px;}
#gallery_nav li.current { border-bottom:1px solid gray; }


#photo_gallery {
  width: 100%;
  max-width: 1130px;
  margin: auto;
  overflow: hidden;
}
#photo_gallery a {
  display: inline-block;
  width: 19.646%;
  background: #ecedee;
  padding: 10px;
  margin: 2.677%  2.677%  2.677%  calc(2.677% - 3.5px);
  vertical-align: middle;
  box-sizing: border-box;
  -webkit-transition:all 0.5s; transition:all 0.5s;	
}
#photo_gallery a:hover {
  padding: 0;
  -webkit-transition:all 0.5s; transition:all 0.5s;
}
#photo_gallery a img {
  display: inline-block;
  width: 100%;
  max-width: 100% !important;
  height: auto;
  vertical-align: middle;
}

#mask, #fg_mask {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(61,77,101,0.7);
  z-index: 999;
  display: none;	
}
#modal, #fg_modal {
  display: table;
  width: 100%;
  height: 100%;	
}
#modal_cell, #fg_modal_cell {
  display: table-cell;
  width: 100%;
  height: 100%;
  text-align: center;
  vertical-align: middle;	
}
#modal_cell-inner, #fg_modal_cell-inner {
  position: relative;
  display: inline-block;
  max-width: 1100px;
  min-width: 80px;
  min-height: 80px;
  background: #fff url(/img/load.gif) center center no-repeat;
  background-size: 32px auto;
  box-sizing: border-box;
}
#imgCaption, #fg_imgCaption {
  position: absolute;
  left: 20px;
  bottom: 20px;
  padding: 5px 10px;
  color: rgb(61,77,101);
  font-size: 14px;
  background: rgba(255,255,255,0.7);
  z-index: 9;
  display: none;	
}
#imgCaption:empty, #fg_imgCaption:empty {opacity: 0;}
#closer, #fg_closer {
  position: absolute;
  top: 2%;
  right: 0;
  padding: 5px 15px;
  color: white;
  text-transform: uppercase;
  font-size: 16px;
  line-height: 1em;
  text-decoration: none;
  outline: none;
  background-color: #5d6262;
  display: none;
  opacity: .9;
}
#closer span, #fg_closer span {
  display: inline-block;
  width: 16px;
  height: 16px;
  padding-left: 1px;
  color: white;
  font-family: sans-serif; font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  line-height: 17px;
  text-transform: lowercase;
  text-align: center;
  border: 2px solid white;
  border-radius: 30px;
  margin-left: 3px;	
  vertical-align: text-bottom;
  /*box-sizing: border-box;*/
}
#modal_prev, #modal_next, #fg_modal_prev, #fg_modal_next {
  position: absolute;
  top: calc(50% - 25px);
  height: 50px;
  padding: 0 15px;
  background-color: rgba(0,0,0,0.5);
  /*color: #0082d5;*/ color: #fff;
  font-family: sans-serif;
  font-size: 25px;
  line-height: 50px;
  text-transform: lowercase;
  text-decoration: none;
  z-index: 99;
  display: none;
  -webkit-transition:all 0.5s; transition:all 0.5s;	
}
#modal_prev:hover, #modal_next:hover, #fg_modal_prev:hover, #fg_modal_next:hover {color: #fff; background-color: #0082d5;}
#modal_prev, #fg_modal_prev {left: 0; border-radius: 0 5px 5px 0;}
#modal_next, #fg_modal_next {right: 0; border-radius: 5px 0 0 5px;}

#modal_img, #modal_caption, #fg_modal_img, #fg_modal_caption {display: none;}
#modal_img, #fg_modal_img {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
#modal_img img, #fg_modal_img img {
  position: relative;
  width: 100%;
  height: auto;
  margin: auto;	
}




.video-left {
  width: 50%;
  padding-right: 25px;
  margin-bottom: 25px;
  float: left;
  box-sizing: border-box;	
}
.video-right {
  width: 50%;
  padding-left: 25px;
  margin-bottom: 25px;
  float: right;
  box-sizing: border-box;	
}
.video-center {
  width: 70%;
  margin: 25px auto;
  clear: both;	
}

.video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 0px;
  height: 0; 
  overflow: hidden;
}
 
.video-container iframe, .video-container object, .video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}



@media only screen and (max-width:1300px){
	.third_boxes {width: calc(100% - 50px); margin: auto;}	
}


@media only screen and (max-width:1000px){
	#masthead_slides {margin-top: 45px}	
	#logo, #logo.shrink {top: 5px; width: 100px !important; height: 40px !important; background-image: url(../img/immp_logo-compact.svg); background-color: transparent; background-size: 100% auto; overflow: hidden; -webkit-transition:all 0.3s; transition:all 0.3s;}
	#header_bar {background: rgba(61,77,101,1);}
	#header_img {margin-top: 45px;}
	#header_bar a#menuBtn {display: inline-block;}
	#head_search {display: none;}
	hgroup {font-size: 30px;}

	#main_nav {position: absolute; top: 100%; left: 0; width: 100%; padding: 0 25px; margin: 0; background: rgba(61,77,101,0.95); box-sizing: border-box; -webkit-transition:all 0s; transition:all 0s; display: none;}
	#main_nav li {display: block; text-align: left; padding: 5px 0; margin: 5px 0; border-bottom: 1px solid #ecedee;}
	#main_nav.shrink {margin: 0; -webkit-transition:all 0s; transition:all 0s;}
	#main_nav li:last-child {border-bottom: none;}
	#main_nav li a {display: block; font-size: 13px; padding: 0; border-bottom: none;}
	#main_nav li a.active {border-bottom: none; color: #adb9ca; font-weight: 700;}
	#main_nav li:last-child {text-align: center;}
	#main_nav li:last-child a {display: inline-block;}
	#main_nav li a.active:hover {color: #adb9ca;}
	#main_nav .social {font-size: 20px; margin: 0 10px;}
	#main_nav ul.drop_menu {position: relative; left: auto; top: auto; padding: 0 20px;}
	#main_nav ul.drop_menu li {background: none; white-space: normal; font-size: 12px; padding: 5px 0; border-bottom: 1px solid rgba(236,237,238,0.2);}
	#main_nav ul.drop_menu li:last-child {text-align: left; border-bottom: none;}	
}

@media only screen and (max-width:960px){
	#header_text {font-size: 24px;}
	hgroup {font-size: 30px;}
}


@media only screen and (max-width:850px){	
	.action_text h2 {font-size: 30px;}
	#news_blocks, #campaign_news {width: 100%; float: none;}
	.footer_box {width: 50%; padding: 20px 1.95313%; float: left; box-sizing: border-box;}
	#photo_gallery a {width: 27.979%;}
	.fade_slide {font-size: 28px;}
}


@media only screen and (max-width:810px){
	#subnav ul {text-align: center;}
	#subnav li {margin-bottom: 5px;}
	#subnav ul li:last-child {display: block;}
}

@media only screen and (max-width:700px){
	.img-caption {font-size: 10px; padding: 5px 10px;}	
	.third_boxes {display: block;}	
	.third {display: block; width: 100%; border-radius: 0; margin-bottom: 20px;}	
	.third-sp {display: block; width: 100%;}
	.third-img {display: block; width: 40%; float: left;}
	.third-img img {vertical-align: middle;}
	.third-text {display: inline-block;width: 60%; padding: 20px;  float: left; box-sizing: border-box;}
	.masthead_slide-content {bottom: 5px;}
	.slide_credit {margin: auto; font-size: 10px;}	
	hgroup h2 {display: none;}
	hgroup h3 {font-size: 0.75em;}
}

@media only screen and (max-width:600px){
	h1 {font-size: 24px;}
	h2 {font-size: 24px;}
	h3 {font-size: 20px;}
	.half {width: 100%; float: none; margin-bottom: 30px;}
	.half_boxes .half:nth-child(2) {float: none;}
	.story_block-img {width: 27.6422%; padding-top: 10px;margin-right: 20px; float: left;}	
	.story_block-text {width: auto; float: none;}	
	.attribution {font-size: 14px;}	
	.news_block-pic {margin-right: 20px;}	
	.news_block-body {width: 100%; padding: 0; float: none;}	
	.news_block-share {clear: both;}	
	.footer_box {width: 100%; float: none; text-align: center;}	
	.footer_box:first-child {padding-left: 0;}
	.footer_news {margin-bottom: 20px;}
	.footer_news-pic {width: 80px;}
	.footer_news-story, .footer_news-date {width: calc(100% - 100px); text-align: left;}
	.footer_gallery-tmb {display: inline-block; float: none;}
	.fade_slide {font-size: 22px;}
}

@media only screen and (max-width:500px){
	#header_text {font-size: 20px;}
	hgroup {font-size: 20px;}
	#photo_gallery a {width: 44.646%;}
}

@media only screen and (max-width:425px){
	.third-img {width: 100%; float: none;}
	.third-text {width: 100%; float: none;}	
	.news_block-pic {width: 100%; float: none; text-align: center; margin: 0 auto 20px;}
	.video-left, .video-right, .video-center {width: 100%; padding: 0; margin: 25px auto; float: none; clear: both;}				
}
@media only screen and (max-width:400px){
	#subnav ul {padding: 10px 0;}
	#subnav li {display: block; text-align: right; margin-bottom: 0;}
	#gallery_nav {text-align: left;}
	#gallery_nav li {display: block; margin: 0 10px;}
	#gallery_nav li a {margin: 0;}
}