section {
  position: relative;
}
.topic {
  margin-bottom: 2rem;
}
.topic * {
  position: relative;
}
.topic .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.topic .content {
  max-width: 34.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  
  padding-bottom: 1rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
.topic--gray .content,
.topic--dark .content {
  padding-top: 1rem;
}
.topic .content h1,
.topic .content h2 {
}
.topic h3 {
  text-align: center;
}
.topic p {
  margin-bottom: 1rem;
}

.topic--gray {
  background-color: rgba( 0, 34, 51, 0.08);
}
.topic--dark, .topic--dark h2, .topic--dark h3 {
  color: #fff;
  background-color: rgb(var(--gt-blue), rgb(var(--gt-black), black));
}
.topic--dark .bg img {
  filter: saturate(1.78);
}
@media screen and (min-width: 40rem) {
  .topic {
    margin-bottom: 3rem;
  }
  .topic--gray .content,
  .topic--dark .content {
    padding-top: 2rem;
  }
}

/*
   Flex based grid alignment for graphic link boxes in a grouping
*/
.boxgrid {
  margin: 0 auto;
  padding: 0;

  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
      align-content:   center;
  -webkit-align-items: stretch;
       -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-justify-content: space-around;
          justify-content: space-around;
}
.boxgrid > div {
  flex: 0 1 calc(100% - 2rem);
  width: calc(100% - 2rem);
}

/* .boxgrid picture.intrinsic, */
.boxgrid.links--outline > a,
.topic--stats .boxgrid a,
.topic--buttons .boxgrid a,
.topic--video .boxgrid div {
  margin-right: 0.25rem;
}

.topic .boxgrid div picture,
.topic .boxgrid div p {
  margin-bottom: 1rem;
}

.topic--stats p {
  text-align: center;
}

.topic--video .boxgrid {
  max-width: 75%;
}
.topic--video .boxgrid > div {
  flex: 0 1 100%;
  width: 100%;
  margin-bottom: 1rem;
}

.boxgrid--max3.links--outline {
  max-width: 48rem;
}
.boxgrid--max2 {
  max-width: 40%;
}

@media screen and (min-width: 40rem) {
  .boxgrid > div {
    flex: 0 1 calc((100% - 2rem) / 3);
    width: calc((100% - 2rem) / 3);
  }

  .boxgrid.boxgrid--max2 > div {
    flex: 0 1 calc((100% - 1rem) / 2);
    width: calc((100% - 1rem) / 2);
  }

  .boxgrid.boxgrid--4wide > div {
    flex: 0 1 calc((100% - 2rem) / 4);
    width: calc((100% - 2rem) / 4);
  }

  .boxgrid.boxgrid--5wide > div {
    flex: 0 1 calc((100% - 2rem) / 5);
    width: calc((100% - 2rem) / 5);
  }
}
@media screen and (min-width: 56.25rem) {

  .boxgrid--indent {
    max-width: 67%;
  }

  .topic--video .boxgrid > div {
    flex: 0 1 calc((100% - 2rem) / 3);
    width: calc((100% - 2rem) / 3);
    margin-bottom: 0;
  }

  .boxgrid.boxgrid--4wide > div {
    flex: 0 1 calc(100%/4);
    width: calc(100%/4);
  }

  .boxgrid.boxgrid--5wide > div {
    flex: 0 1 calc((100% / 5) - 1rem);
    width: calc((100% / 5) - 1rem);
  }

  .boxgrid--mod2  {
    max-width: 100%;
  }
}



/** New links  styles **/
.links--outline a {
  display: block;
  width: 15rem;
  min-height: 5rem;
  margin-bottom: 1rem;
  padding: 0.5rem 1rem;

  font-weight: 700;
  white-space: normal;
  text-align: center;
  border-radius: 3px;
}
.links--outline a span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.links--outline a:link, .links--outline a:visited {
  color: #b19142;
  text-decoration: none;
  border: 3px solid rgba( 0, 34, 51, 0.16);
}
.links--outline a:hover, .links--outline a:focus {
  color: #ebb728;
  background-color: #023;
  text-decoration: underline;
  border: 3px solid #ebb728;
}
.links--outline a:active {
  color: #fff;
  background-color: #023;
  text-decoration: underline;
  border: 3px solid rgba( 0, 34, 51, 0.16);
}

/* dark outlines */
.topic--dark .links--outline a {
}
.topic--dark .links--outline a:link, .topic--dark .links--outline a:visited {
  color: #fff;
  background-color: rgba(0, 34, 51, 0.6);
  text-decoration: none;
  border: 3px solid #fff;
}
.topic--dark .links--outline a:hover, .topic--dark .links--outline a:focus {
  color: #ebb728;
  background-color: #023;
  text-decoration: underline;
  border: 3px solid #ebb728;
}
.topic--dark .links--outline a:active {
  color: #023;
  background-color: #ebb728;
  text-decoration: underline;
  border: 3px solid #023;
}


.topic--video {
  background-color: rgba( 177, 145, 66, 0.2);
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.topic--introduction .content {
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%,-25%);
  transform: translate(-50%,25%);
  max-width: 50rem;
}


.topic--introduction,
#research, #academics {
  min-height: 26.625rem;
  display: block;
}
.topic--dark .bg:after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(24,24,24,0.75);
}
.topic--introduction .content {
  color: #fff;
}
.topic--introduction h1 { text-align: center; }
.topic .jumplink,
.topic--introduction .jumplink {
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

#info-research h3, #info-degrees h3, #info-visit h3 {
  padding-top: 6.5rem;
  margin-top: 0;
  margin-bottom: 0.75rem;
}
#info-research {
  background: url(../i/icon-research-tree-50-78-92.gif) center top no-repeat;
}
#info-degrees {
  background: url(../i/icon-academics.gif) center top no-repeat;
}
#info-visit {
  background: url(../i/icon-visit.gif) center top no-repeat;
}
#design-info .c-jumplink {
  margin-top: 0;
}

/*
  Contacts boxes
*/
#contacts { margin-bottom: 4rem; }
#contacts ul {
  padding: 0;
}
.topic--contacts h4 {
  text-align: center;
}
#contactschools {
  margin-bottom: 0;
}

.topic--ad {
}
.topic--ad p {
  text-align: left;
}
.topic--ad-2col {
}
.topic--ad img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 1rem;
  padding-left: 1rem;
  text-align: center;
}
@media screen and (min-width: 56.25rem) {
.topic--ad {
  width: 92%;
  margin-left: auto;
  margin-right: auto;
}
.topic--ad-2col {
  display: flex;
}
.topic--ad-2col div {
    width: 50%;
}
.topic--ad-2col h2, .topic--ad-2col h3 {
  margin-top: 1rem;
}
.topic--ad-2col img {
/*  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
*/
}
}

.topic--ad-2col h1 {
  text-align: center;
}
.topic.topic--ad-2col .content {
  left: 0;
  --webkit-transform: translateX(0);
          transform: translateX(0);
}