/* ---- Main Body ---- */

.fullpage {
  margin:0;
  height:100%;
  width: 100%;
  /* overflow:hidden; */
}

.container {
   background-color: white;
   margin-left:auto;
   margin-right:auto;
   min-width: 650px;
   max-width: 1920px;
   width:expression(document.body.clientWidth < 650? "650px" : document.body.clientWidth > 1920? "1920px" : "auto");
}

.narrow {
   margin-left:auto;
   margin-right:auto;
   width: 100%;
   min-width: 100px;
   max-width: 600px;
   width:expression(document.body.clientWidth < 100? "100px" : document.body.clientWidth > 600? "600px" : "auto");
}

.midwide {
   margin-left:auto;
   margin-right:auto;
   width: 100%;
   min-width: 200px;
   max-width: 1000px;
   width:expression(document.body.clientWidth < 200? "200px" : document.body.clientWidth > 1000? "1000px" : "auto");
}

.content {
   background: inherit;
   margin: 0 auto;
   color: black;
   padding: 0;
   width: 100%;
   max-width: 1425px;
   width:expression(document.body.clientWidth > 1425? "1425px" : "auto");
   /* z-index: 2; */
}

.middle {
   position: relative;
   padding: 0 48px 0 64px;
}

.body {
   padding: 0;
   border: none;
}

.bodytext {
   margin: 0;
   padding: 0 1em;
   min-width: 200px;
   max-width: 900px;
   width:expression(document.body.clientWidth < 200? "200px" : document.body.clientWidth > 900? "900px" : "auto");
   border: none;
}

.bodywide {
   margin: 0;
   padding: 0 1em;
   border: none;
}

/* ---- Page Layout ---- */

.fullwidth {
   width: 100%;
}

.margined {
   margin: 1ex 1em;
}

.wrapped {
   word-break: break-all;
}

.double li {
   margin: 2ex 2em;
}

.bottom {
   position: relative;
   bottom: 0;
   margin-top: 1ex;
}

.hidden {
   display: none;
}

.clear {
   clear: both;
   display: block;
}

.block {
   display: block;
}

.block:after {
    clear: both;
}

.inlineblock {
  display: inline-block;
}

.scaled {
   max-width: 96%;
   width: auto;
   height: auto;
}

.halfscaled {
   max-width: 50%;
   width: auto;
   height: auto;
}

.left {
   float: left;
   padding-right: 1em;
}

.leftPad {
   float: left;
   padding-right: 8em;
}

.right {
   float: right;
   padding-left: 1em;
}

.other {
   margin-left: 2em;
   vertical-align: top;
}

.novborder {
   padding-top: 0;
   padding-bottom: 0;
   margin-top: 0;
   margin-bottom: 0;
}

.notlrborder {
   padding-top: 0;
   padding-left: 0;
   padding-right: 0;
   margin-top: 0;
   margin-left: 0;
   margin-right: 0;
}

.notborder {
   padding-top: 0;
   margin-top: 0;
}

.left25 {
   float: left;
   width: 25%;
}
.left30 {
   float: left;
   width: 30%;
}
.left50 {
   float: left;
   width: 50%;
}

.right50 {
   float: right;
   min-width: 30%;
   max-width: 50%;
}

.maxw100 {
   max-width: 100%;
}

.centred {
   text-align: center;
}

.justified {
   text-align: justify;
}

.lefttext {
   text-align: left;
}

.righttext {
   text-align: right;
}

@media screen {
   .right50 {
      padding-left: 2em;
   }
}

.main_caption {
  font-style: italic;
  font-size: 80%;
  margin: 0ex 2em 4ex 2em;
  color: blue;
  border: 1px;
}

.caption {
  font-size: smaller;
  font-style: italic;
  margin: 0ex 2em 4ex 2em;
}

.address {
   margin: 2ex 3em;
}

.blackborder {
   border: 1px solid black;
}

.tbbordered {
   padding-top: 1ex;
   margin-bottom: 1ex;
   border: 0;
   border-top: 1px solid black;
   border-bottom: 1px solid black;
}

/* ---- Left Bar ---- */

.leftBar {
   /* position: relative; */
   position: sticky;
   left: 0;
   top: 0;
   width: auto;
   line-height: 3ex;
   padding: 1ex 0 1ex 0;
   float: none ;
   /* background-color: #f2f3ed; */
   background-color: white;
   margin: 0 0 1ex 0;
   /* z-index: 0; */
   border: none;
   text-align: left;
}

.leftBar ul {
   list-style-type: none;
   margin: 0;
   border-collapse: collapse;
}

.leftBar ul li {
   display: inline;
   padding: 0.5ex 1.5em;
   border: none;
   border-collapse: collapse;
   margin: 0;
   white-space: nowrap;
}

/* 
.leftBar ul li:hover {
  background-color: #ccf;
}
 */

.leftBar li.extra {
   display: inline;
}

.leftBar a {
  font-weight: normal;
  text-decoration: none;
}

.leftBar a:hover {
  text-decoration: underline;
}

.leftBar h4 {
   padding: 0.5ex 1.5em;
   margin: 0;
   text-align: center;
}

.leftBar h4:hover {
  background-color: #ccf;
}

/* ---- Right Bar ---- */

.rightbar {
   display: none;
   font-size: 95%; /* Sized for 10.5pt (down from 11pt) */
/*   font-size: 91%; /* Sized for 10pt (down from 11pt) */
   background-color: #fff;
   color: #000;
   border: 0;
   border-left: 1px solid black;
   border: 0;
   border-collapse: collapse;
   width: 250px;
   margin: 0;
   margin-left: 1em;
   margin-bottom: 1ex;
   padding-top: 0ex;
   padding-right: 0.5em;
   padding-left: 20px;
   padding-bottom: 0.5ex;
   float: right;
}

div.rightbar h3 {
   margin-top: 0.25ex;
}

#box{
   text-align:center;
   margin: 0 0 0px 0px;
   padding: 0;
   position: relative;
   width: 220px;
   height: auto;
}

/* ---- News Bar ---- */

.newsbar {
   display: inline-block;
/*   font-size: 95%; /* Sized for 10.5pt (down from 11pt) */
   font-size: 91%; /* Sized for 10pt (down from 11pt) */
   background-color: #fff;
   color: #000;
   border: 0;
   width: auto;
   padding: 0.5ex 0.5em;
}

div.newsbar h3 {
   margin-top: 0.25ex;
}

#box{
   text-align:center;
   margin: 0 0 0px 0px;
   padding: 0;
   position: relative;
   width: auto;
   height: auto;
}

/* ---- Summary boxes ---- */

section.summary, section.widesummary {
    /* padding: 1.5ex 1em; */
    padding: 3ex 2em;
    margin: 0;
    margin-bottom: 1em;
    /* font-weight: 500; */
    font-weight: normal;
    /* font-size: 1.3em; */
    font-size: 1.5em;
    /* background-color: #f2f3ed; */
    background-color: #34c6c6;
}

.summary h1 {
   font-size: 3em;
   font-weight: 700;
   margin-bottom: 0.5ex;
}

/* ---- Gallery Flex Panels ---- */

.gallery-grid {
  box-sizing: border-box;
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-gap: 1rem;

}

.gallery-frame {
  /*padding: .05rem;*/
  /*font-size: 1.2rem;*/
  text-align: left;
  background-color: #f2f3ed;
  border: 0;
  /* font-size: 2rem; */
  /*color: #d9d9d9;*/
}

.gallery-img {
  max-width: 100%;
  height: auto;
  /* height: 25vh; */
  object-fit: cover;
  transition: opacity 0.2s ease-in-out;
  padding: 0;
}

.gallery-img:hover {
  opacity: .7;
}

.gallery-frame figcaption {
  font-style: normal;
  font-size: inherit;
  text-align: left;
  padding-bottom: 1ex;
  margin: 1ex 1em;
}

.box-text {
  font-style: normal;

}

/* ---- Staff/Student Photo Board Flex Panels ---- */

.bg-container {
  background-image: url("https://www.hep.ucl.ac.uk/people/hep_photos/vp1_3dcocktail_run215589_evt68639953_4k-2.gif");
  width:100%;
  /* height:100%; */
  border: 0;
  margin: 0;
  box-sizing:border-box;
  background-size:cover;
  background-repeat: no-repeat;
  background-position:center center;
}

.whiteoverlay {
  margin: 0;
  width:100%;
  height:100%;
  /* Fallback for web browsers that doesn't support RGBa */
  background: rgb(255, 255, 255);
  /* RGBa with 0.6 opacity */
  background: rgba(255, 255, 255, 0.6);
  /* For IE 5.5 - 7*/
  filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);
  /* For IE 8*/
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)";
}

.photogall {
  margin: 0;
  padding: 1em;
  box-sizing: border-box;
  /* display: -ms-grid; */
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  grid-gap: 1rem;
}

.photogall figure {
  /*padding: .05rem;*/
  /*font-size: 1.2rem;*/
  text-align: center;
  background-color: white;
  border: 1px solid black;
  border-collapse: collapse;
  /* font-size: 2rem; */
  /*color: #d9d9d9;*/
}

.photogall img {
  max-width: 100%;
  height: auto;
  /* height: 25vh; */
  object-fit: cover;
  transition: opacity 0.2s ease-in-out;
  padding: 0;
  border-bottom: 1px solid black;

}

.photogall figcaption {
  font-style: normal;
  font-size: 8pt;
  text-align: center;
/*   padding-bottom: 1ex; */
  margin: 0;
  padding: 0.2ex 0.2em 0.5ex 0.2em;
  border: 0;
  border-collapse: collapse;
}

/* ---- Photo Gallery Flex Panels ---- */

.photoheader {
  font-size: 3em;
  text-align: center;
  font-weight: bold;
}

.photogrid {
  margin: 0;
  padding: 1em;
/*   box-sizing: border-box; */
  /* display: -ms-grid; */
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
  justify-content: space-evenly;
  grid-gap: 1rem;

}

.centralims {
  align-items: center;
}

.tight {
  padding: 0;
  grid-gap: 0;
}

.photogrid figure {
  text-align: center;
  background-color: white;
/*   border: 1px solid black; */
  border: none;
  border-collapse: collapse;
/*   max-width: 300px; */
  width: 300px;
  margin: 1ex 1em;
}

.tight figure {
  margin: 1ex 0;
}

.photogrid div.image {
  width: 300px;
  height: 150px;
/*   border: 1px solid black; */
  border: none;
  background-color: inherit;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1.5ex;
}

.tight div.image {
  width: 100%;
  max-width: 160px;
  max-height: 80px;
}

.tight figure {
  width: 100%;
  max-width: 160px;
}

.image250 div.image {
  width: 250px;
  height: 120px;
}

.image250 figure {
  width: 250px;
}

.image350 div.image {
  width: 350px;
  height: 200px;
}

.image350 figure {
  width: 350px;
}

.photogrid img {
  max-width: 100%;
  max-height: 100%;
  height: auto;
  /* height: 25vh; */
  object-fit: cover;
  transition: opacity 0.2s ease-in-out;
  padding: 0;
  border: 1px solid black;
/*   margin-bottom: 1ex; */
  margin: auto;
}

.noborders img {
  border: none;
}

.photogrid figcaption {
  font-style: normal;
  font-size: 100%;
  text-align: left;
/*   padding-bottom: 1ex; */
  margin: 0;
  padding: 0.2ex 0.2em 0.5ex 0.2em;
  border: 0;
  border-collapse: collapse;
}

.photogrid figcaption.uppertitle {
  text-align: center;
  text-transform: uppercase;
}

.photogrid figcaption.centred {
  text-align: center;
}

.photogrid figcaption.uppertitle sup {
  text-transform: none;
}

/* ---- News items ---- */

div.news {
   background-color: #fff;
   color: #000;
   border-left: 1px solid black;
   border-right: 1px solid black;
   border-collapse: collapse;
   width: 15em;
   margin-top: 0;
   margin-left: 1em;
   margin-bottom: 1ex;
   padding-top: 0ex;
   padding-right: 0.5em;
   padding-left: 0.5em;
   padding-bottom: 0.5ex;
   float: right;
}

.newsHeader {
   background-color: #f5f8fb;
   border: 0;
   border-top: 5px solid #a5bfd7;
   padding: 10px;
}

div.news h3 {
   margin-top: 0.25ex;
}

p.news, p.newNews {
   padding: 0.2em;
}

p.newNews {
   background-color: #fff;
}

p.newNews span.important { /* , p,newNews span.important a { */
/*   font-weight: bold; */
   color: red;
}

p.feed__snippet {
   overflow: hidden;
}

article.feed__item, article.news {
   background-color: #f5f8fb;
   border: 0;
   border-top: 5px solid #a5bfd7;
   padding: 1ex 1em;
   margin-bottom: 1ex;
}

article.news img {
   height: 80px;
   float: left;
   padding: 0;
   padding-right: 10px;
}

.hideIms img {
   display: none;
}

@media only print and (min-width: 400mm) {

   .head h1 {
      font-size: 96pt;
   }

   .head h1.bolder {
      padding-top: 10mm;
   }

   .compacthead {
      min-height: 65mm;
   }

}

@media only screen and (min-width: 900px) {
   .body {
      padding-top: 0;
      border: none;
      border-collapse: collapse;
      padding-right: 0;
      padding-left: 28%;
      width: 72%;
      margin-left: auto;
   }

   .leftBar {
      text-align: left;
      position: relative;
      left: -5px;
      top: 0;
      width: 24%;
      max-width: 260px;
      width:expression(document.body.clientWidth > 260? "260px" : "auto");
      padding: 0.5ex 0;
      float: left ;
      /* margin: 0 10px 1ex 10px; */
      margin: 0 0 1ex 0;
      /* z-index: 1; */
      /* border: none; */
      border: 5px solid white;
      border-collapse: collapse;
   }

   .leftBar, .leftBar h4, .leftBar a {
      text-align: left;
   }

   .leftBar h4 {
      padding: 0.5ex 1em 0.5ex 0;
   }

   .leftBar h4 a {
      font-weight: bold;
   }

   .leftBar ul {
      text-align: left;
      list-style-type: none;
      margin: 0;
      padding-left: 1em;
      border-left: 2px solid black;
   }

   .leftBar ul li {
      text-align: left;
      display: list-item;
      border: 0;
      margin: 0;
      padding: 0.5ex 1em;
      white-space: normal;
   }

   .leftBar ul li:last-child {
      border: 0;
   }

  .leftBar ul li.extra {
      display: list-item;
   }

   .leftBar a {
     display: block;
   }

   table.people td {
      -ms-word-break: normal;
      word-break: normal;

 /* Non standard for webkit */
      word-break: normal;
	  padding: 0.5ex 0.5em;
   }

}

@media screen, print and (min-width: 600px) {

/*
   .menu {
      display: inline;
   }
 */

  .leftBar ul li.extra {
      display: none;
   }

   .head h1, .imageHead h1 {
      font-size: 2em;
   }
   .head h2, .imageHead h2 {
      font-size: 1.5em;
   }
   .head h3, .imageHead h3 {
      font-size: 1.17em;
   }
   .head h4, .head h5, .head h6, .imageHead h4, .imageHead h5, .imageHead h6 {
      font-size: 1em;
   }

}

@media only screen and (min-width: 715px) {

  div.topBar {
      height: 52px;
  }

}

@media only screen and (min-width: 1060px) {

   .body {
     padding-left: 285px;
     margin-left: 0;
     width: auto;
   }

   .rightbar {
      display: inline;
      float: right;
   }

}
