*,
::after,
::before {
  box-sizing: border-box
}

a,
button {
  cursor: revert
}

menu,
ol,
ul {
  list-style: none
}

img {
  height: auto;
  max-width: 100%
}

table {
  border-collapse: collapse
}

textarea {
  white-space: revert
}

meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
  appearance: revert
}

:-ms-input-placeholder {
  color: unset
}

::placeholder {
  color: unset
}

:where([hidden]) {
  display: none
}

:where([contenteditable]) {
  -webkit-line-break: after-white-space;
  overflow-wrap: break-word;
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write
}

:where([draggable=true]) {
  -webkit-user-drag: element
}

.layout-container {
  margin: 0 auto;
  max-width: 100%;
  width: 100%
}

@media screen and (min-width:767px) {
  .layout-container {
    margin: 0 auto;
    max-width: 100%;
    width: 767px
  }
}

@media screen and (min-width:900px) {
  .layout-container {
    margin: 0 auto;
    max-width: 100%;
    width: 900px
  }
}

@media screen and (min-width:1200px) {
  .layout-container {
    margin: 0 auto;
    max-width: 100%;
    width: 1150px
  }
}

@media screen and (min-width:1600px) {
  .layout-container {
    margin: 0 auto;
    max-width: 1280px;
    width: 100%
  }
}

#main .layout-container {
  margin: 0 auto;
  max-width: 100%;
  overflow: hidden;
  width: 100%
}

@media screen and (min-width:767px) {
  #main .layout-container {
    margin: 0 auto;
    max-width: 90%;
    overflow: hidden
  }
}

.layout-content.has-sidebar {
  display: block
}

@media screen and (min-width:767px) {
  .layout-content.has-sidebar {
    display: inline-block;
    width: 68%
  }
}

@media screen and (min-width:767px) {
  .layout-sidebar-second {
    display: inline-block;
    margin-left: 2%;
    overflow: auto;
    width: 27%
  }
}

.fc-button-primary {
  background-color: transparent;
  border: none
}

.fc-button-primary span.fc-icon {
  color: red
}

.fc-row.fc-week.fc-widget-content:nth-of-type(6),
.fc-row.fc-week.fc-widget-content:nth-of-type(7) {
  display: none
}

.calendar-filters header a {
  border-bottom: solid 1px #ddd;
  color: #b42b36;
  display: block
}

.calendar-filters header a .fc-button-primary {
  background-color: transparent
}

.page__content.has-sidebar article {
  background-color: #eee
}

.page__content.no-sidebar article {
  background-color: #fff
}

.page__content.has-sidebar,
.page__content.has-sidebar article.news-teaser {
  background-color: #fff
}

.fc-button-primary:focus,
.fc-button-primary:hover {
  background-color: #eee
}

.sidebar__content {
  background-color: #eee;
  height: 100%;
  margin-bottom: 15px
}

@media screen and (min-width:767px) {
  .sidebar__content {
    padding-bottom: 50%
  }
}

.sidebar-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%
}

.sidebar-menu ul li {
  border-bottom: solid 1px #ccc;
  line-height: 1.3;
  margin: 0;
  padding: 0
}

.sidebar-menu ul li a {
  border-bottom: none;
  display: block;
  padding: 10px 15px
}

.sidebar-menu ul li a.is-active,
.sidebar-menu ul li a:focus,
.sidebar-menu ul li a:focus-within,
.sidebar-menu ul li a:hover {
  background-color: #15356f;
  color: #fff
}

.sidebar-menu ul li ul li a {
  font-size: 85%;
  padding-left: 30px
}

html {
  box-sizing: border-box;
  scroll-behavior: smooth
}

*,
:after,
:before {
  box-sizing: inherit;
  margin: 0;
  vertical-align: top
}

body {
  background-color: #fbfbfb;
  color: #000;
  font-family: Inter, sans-serif;
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  font-style: normal;
  margin: 0;
  position: relative
}

a {
  color: #15356f;
  font-weight: 700;
  text-decoration: none
}

main a {
  overflow-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  word-break: break-all;
  word-break: break-word;
  -ms-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto
}

main a[href^="http:"]:after,
main a[href^="https:"]:after {
  border-bottom: none;
  content: "\f2d2";
  font-family: FontAwesome !important;
  font-size: 80%;
  font-weight: 100;
  margin-left: 5px
}

a img,
a+img,
a~img,
img~a {
  border-bottom: none !important;
  text-decoration: none !important
}

header {
  margin-bottom: 25px
}

a.feed-icon {
  display: none
}

.page__content {
  margin: 0;
  padding: 0;
  width: 100%
}

.page__content.has-sidebar {
  clear: both;
  display: block
}

@media screen and (min-width:767px) {
  .page__content.has-sidebar {
    display: inline-block;
    margin-right: 2%;
    width: 75%
  }
}

.sidebar__content {
  clear: both;
  display: block;
  width: 100%
}

@media screen and (min-width:767px) {
  .sidebar__content {
    display: inline-block;
    margin: 0;
    min-width: 22%;
    width: 22%
  }
}

.sidebar__content p {
  margin-left: 1em
}

article {
  margin: 0;
  padding: 0
}

article li,
article p,
article ul {
  font-family: "Open Sans", sans-serif;
  font-size: 1em;
  font-weight: 400;
  line-height: 1.7em;
  margin: 1em 0
}

article p {
  margin-bottom: 25px
}

article p a {
  border-bottom: solid 1px rgba(21, 53, 111, .3)
}

article p a:focus,
article p a:hover {
  background-color: rgba(242, 184, 68, .5);
  border-bottom: none
}

article .introtext p {
  font-size: 130%;
  line-height: 1.5;
  margin: 10px 0
}

/* article li {
  line-height: 1em
} */

article li a {
  border-bottom: solid 1px #15356f
}

article ul {
  list-style: disc
}

article ol {
  list-style: decimal
}

article blockquote {
  margin: 2em 6em
}

article h1 {
  font-size: 3em;
  font-size: 250%;
  font-weight: 700;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1.3;
  text-wrap: balance;
}

article h2 {
  font-size: 2.4em;
  font-weight: 700;
  margin: 2em 0 .4em 0
}

article h2:first-of-type {
  margin-top: .5em
}

article h3 {
  font-size: 1.9em;
  margin-bottom: 20px
}

article h4 {
  font-size: 1.56em;
  margin-bottom: 20px
}

article h5 {
  font-size: 1.25em
}

article h6 {
  font-size: .9em
}

article .boxed {
  border: solid 1px #ccc;
  margin-bottom: 30px;
  padding: 10px
}

article .boxed h2 {
  color: #6d6e71;
  font-size: 1.5em;
  line-height: 1em
}

article .boxed p {
  font-size: 1em;
  line-height: 1.5em
}

article .paragraph__intro p {
  font-size: 1.8em;
  line-height: 1.3em
}

article .hero {
  height: 300px;
  overflow: hidden;
  position: relative;
  width: 100%
}

article .hero__background {
  height: 300px;
  object-fit: cover;
  position: relative;
  width: 100%
}

article .hero__title {
  bottom: 10px;
  color: #000;
  font-size: .8em;
  letter-spacing: 1px;
  padding: 0;
  padding-left: 0;
  position: absolute;
  text-transform: uppercase;
  z-index: 2
}

@media screen and (min-width:767px) {
  article .hero__title {
    background: rgba(0, 0, 0, .3);
    bottom: 0;
    color: #fff;
    display: block;
    font-size: 1em;
    text-transform: uppercase;
    width: 100%;
    padding: 0 1em
  }
}

article .hero__title h1 {
  font-size: 250%
}

#block-csd-primary-local-tasks {
  background-color: #15356f;
  margin: 25px 0;
  padding: 5px 0;
  width: 100%
}

#block-csd-primary-local-tasks ul li {
  display: inline-block
}

#block-csd-primary-local-tasks ul li a {
  border: none;
  border-right: solid 1px #000;
  color: #fff;
  display: block;
  padding: 0 20px
}

div#block-csd-site-branding {
  margin-top: 10px
}

@media screen and (min-width:767px) {
  div#block-csd-site-branding {
    display: inline-block;
    width: 25%
  }
}

#block-csd-main-menu {
  display: inline-block;
  margin-right: 0;
  text-align: right;
  width: 74%
}

#block-csd-main-menu ul {
  -ms-flex-line-pack: right;
  align-content: right;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  list-style: none;
  margin-top: 25px
}

#block-csd-main-menu ul li {
  font-size: 1em;
  margin: .5em
}

@media screen and (min-width:767px) {
  #block-csd-main-menu ul li {
    text-align: center
  }
}

#block-csd-main-menu ul li a {
  color: #6b6b6b
}

#block-csd-main-menu ul li a.is-active {
  color: #b42b36
}

.pre--footer-wrapper {
  background-color: rgba(0, 0, 0, .03);
  clear: both;
  display: block;
  padding: 1em
}

@media screen and (min-width:767px) {
  .pre--footer-wrapper {
    margin: 0 calc(50% - 50vw);
    padding: 30px
  }
}

@media screen and (min-width:767px) {
  .pre--footer-wrapper ul {
    column-count: 2;
    margin: 0;
    padding: 0
  }
}

footer {
  background-color: #221f20;
  padding: 1em;
  width: 100%
}

footer a,
footer div,
footer h2,
footer h3,
footer li,
footer p,
footer ul {
  color: #fff
}

footer h2 {
  padding-bottom: 20px
}

footer ul {
  list-style: none;
  margin: 15px 0;
  padding-left: 5px
}

footer ul li {
  margin: 0;
  padding: 5px 0
}

footer .left,
footer .right {
  width: 99%
}

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

  footer .left,
  footer .right {
    display: inline-block;
    width: 77%
  }
}

@media screen and (min-width:767px) {
  footer .right {
    width: 20%
  }
}

footer .social-icons {
  margin: 20px 0
}

@media screen and (min-width:767px) {
  footer {
    padding: 50px
  }
}

.date-placard {
  background: #fff;
  display: block;
  line-height: 1;
  margin-right: 1.125rem;
  position: relative;
  text-align: center;
  transition: box-shadow .25s;
  width: 4.5rem
}

.date-placard__month {
  line-height: 1.125rem
}

.date-placard__day {
  color: #900;
  font-size: 2.28069rem;
  font-weight: 700;
  margin-bottom: 1.125rem
}

.date-placard__time {
  background: #666;
  color: #fff;
  font-size: .62431rem;
  line-height: 1.125rem;
  line-height: 1.75rem;
  text-align: center;
  transition: background-color .25s
}

.upcoming-event {
  line-height: 1.125rem
}

main {
  padding: .5em
}

.path-frontpage h1 {
  display: none
}

.path-frontpage #block-csd-content article h2 {
  color: #fff;
  font-size: 2em;
  line-height: 1.3;
  margin-top: 10%
}

.homepagehero {
  position: relative
}

#block-csd-content article div .frontpage-news {
  background-image: radial-gradient(circle 610px at 5.2% 51.6%, #050872 0, #070335 97.5%);
  clear: both;
  display: block;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  padding: 50px 0;
  position: relative;
  right: 50%;
  width: 100vw
}

#block-csd-content article div .frontpage-news header {
  margin: 0 auto;
  padding: 20px 0;
  width: 100%
}

#block-csd-content article div .frontpage-news header p a {
  color: #fff;
  font-size: 1.3em
}

@media screen and (min-width:767px) {
  #block-csd-content article div .frontpage-news header {
    margin: 0 auto;
    max-width: 1310px;
    width: 100%
  }
}

@media screen and (min-width:767px) {
  #block-csd-content article div .frontpage-news header .button {
    display: inline-block;
    float: right;
    text-align: right
  }
}

#block-csd-content article div .frontpage-news header .button a {
  background-color: #fff;
  border: solid 1px #ccc;
  border-radius: 5px;
  padding: 4px 20px
}

#block-csd-content article div .frontpage-news header .button a:focus,
#block-csd-content article div .frontpage-news header .button a:hover {
  background-color: #15356f;
  color: #fff
}

#block-csd-content article div .frontpage-news .item-list {
  border: solid 2px #fff;
  margin: 0 auto;
  margin-bottom: 50px;
  overflow: hidden;
  width: 100%
}

@media screen and (min-width:767px) {
  #block-csd-content article div .frontpage-news .item-list {
    height: 700px;
    margin: 0 auto;
    max-width: 1310px;
    padding: 0;
    width: 100%
  }
}

#block-csd-content article div .frontpage-news .item-list h2 {
  color: #fff;
  padding: 50px 0 0 50px
}

#block-csd-content article div .frontpage-news .item-list ul {
  list-style: none;
  margin: 0;
  padding: 0
}

@media screen and (min-width:767px) {
  #block-csd-content article div .frontpage-news .item-list ul {
    display: -ms-grid;
    display: grid;
    grid-column-gap: 0;
    grid-row-gap: 0;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    -ms-grid-rows: (1fr)[2];
    grid-template-rows: repeat(2, 1fr)
  }
}

#block-csd-content article div .frontpage-news .item-list ul li {
  margin: 0 !important;
  overflow: hidden;
  padding: 0;
  position: relative
}

#block-csd-content article div .frontpage-news .item-list ul li h3 {
  font-size: 1.2rem;
}

#block-csd-content article div .frontpage-news .item-list ul li:first-of-type {
  display: block
}

@media screen and (min-width:767px) {
  #block-csd-content article div .frontpage-news .item-list ul li:first-of-type {
    grid-area: 1/1/3/2;
    height: 700px;
    overflow: hidden
  }
}

@media screen and (min-width:767px) {
  #block-csd-content article div .frontpage-news .item-list ul li:nth-of-type(2) {
    grid-area: 1/2/2/3;
    height: 360px;
    overflow: hidden
  }
}

@media screen and (min-width:767px) {
  #block-csd-content article div .frontpage-news .item-list ul li:nth-of-type(3) {
    grid-area: 2/2/3/3;
    height: 340px;
    overflow: hidden
  }
}

#block-csd-content article div .frontpage-news .item-list ul li img {
  height: 100%;
  margin: 0;
  object-fit: cover;
  opacity: .7;
  overflow: hidden;
  padding: 0;
  width: 110%
}

#block-csd-content article div .frontpage-news .item-list ul li .text-overlay {
  bottom: 25px;
  left: 5%;
  position: absolute;
  width: 75%;
  z-index: 2
}

#block-csd-content article div .frontpage-news .item-list ul li h3,
#block-csd-content article div .frontpage-news .item-list ul li p {
  color: #fff;
  line-height: 1.2
}

#block-csd-content article div .frontpage-news .item-list ul li h3 a,
#block-csd-content article div .frontpage-news .item-list ul li p a {
  border: none;
  color: #fff
}

#block-csd-content article div .frontpage-news .item-list h3 {
  color: #fff;
  line-height: 1.5;
  margin-right: 15%
}

#block-csd-content article div .frontpage-news .item-list p {
  font-size: 105%;
  letter-spacing: 1.5px;
  margin-bottom: 10px
}

#block-csd-content article div .frontpage-news footer {
  left: 0;
  margin: 0 auto;
  max-width: 1310px;
  padding: 10px 0;
  background-color: transparent;
  right: 0;
  width: 100%
}

.front-page-events .views-row article.event-teaser {
  border-bottom: none !important
}

.fc-dayGrid-view.fc-body.fc-row {
  min-height: 3em
}

#block-csd-content article div .frontpage-news {
  padding: 1.5em
}

#block-csd-content article .graybox {
  background-color: #333;
  padding: 50px
}

#block-csd-content article .graybox h2,
#block-csd-content article .graybox p {
  color: #fff
}

#block-csd-content article .graybox .button {
  display: inline-block;
  text-align: right
}

@media screen and (min-width:767px) {
  #block-csd-content article .graybox .button {
    float: right
  }
}

#block-csd-content article .graybox .button a {
  background-color: transparent;
  border: solid 1px #ccc;
  border-radius: 5px;
  color: #fff;
  padding: 4px 20px
}

#block-csd-content article .graybox .button a:focus,
#block-csd-content article .graybox .button a:hover {
  background: #fff;
  border: #fff;
  color: #333
}

#block-csd-content article .research-areas-wrapper,
#block-csd-content article .three-group-wrapper {
  clear: both;
  display: block;
  margin: 0;
  margin-bottom: 100px;
  padding: 0;
  position: relative;
  position: relative
}

#block-csd-content article .three-group {
  background-color: #fff;
  clear: both;
  display: block;
  margin: 0 auto;
  padding: 1em 0;
  width: 100%
}

@media screen and (min-width:767px) {
  #block-csd-content article .three-group {
    padding: 20px 50px;
    backdrop-color: orange;
    max-width: 1400px;
    width: 100%
  }
}

#block-csd-content article .three-group h2 {
  color: #000;
  font-size: 1.9em;
  line-height: 1em;
  margin: 0 0 20px 0;
  padding: 0
}

#block-csd-content article .three-group .groupitems {
  display: block
}

@media screen and (min-width:1000px) {
  #block-csd-content article .three-group .groupitems {
    display: -ms-grid;
    display: grid;
    gap: 1.5em;
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    height: 570px
  }
}

@media screen and (min-width:1200px) {
  #block-csd-content article .three-group .groupitems {
    display: -ms-grid;
    display: grid;
    gap: 1.5em;
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    height: 540px
  }
}

@media screen and (min-width:1340px) {
  #block-csd-content article .three-group .groupitems {
    display: -ms-grid;
    display: grid;
    gap: 1.5em;
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    height: 510px
  }
}

@media screen and (min-width:1024px) {
  #block-csd-content article .three-group .groupitems .group .secondary-info {
    bottom: 30px;
    position: absolute
  }
}

#block-csd-content article .three-group .groupitems .group .imgtitle {
  height: 150px;
  margin: 0;
  padding: 0;
  position: relative
}

#block-csd-content article .three-group .groupitems .group .imgtitle img {
  height: 150px;
  object-fit: cover;
  width: 100%
}

#block-csd-content article .three-group .groupitems .group .imgtitle h3 {
  background-color: rgba(0, 0, 0, .4);
  bottom: 0;
  color: #fff;
  display: block;
  font-size: 1.3em;
  margin: 0;
  padding: 5px 10px;
  position: absolute;
  text-transform: uppercase;
  width: 100%;
  z-index: 4
}

#block-csd-content article .three-group .groupitems .group p {
  font-size: .9em;
  line-height: 1.7;
  padding-right: 25px
}

#block-csd-content article .three-group .groupitems .group .button {
  margin-bottom: 20px
}

#block-csd-content article .three-group .groupitems .group .button a {
  background-color: #fff;
  border: solid 1px #ccc;
  border-radius: 5px;
  padding: 4px 20px
}

#block-csd-content article .three-group .groupitems .group .button a:focus,
#block-csd-content article .three-group .groupitems .group .button a:hover {
  background-color: #15356f;
  color: #fff
}

#block-csd-content article .research-areas {
  clear: both;
  display: block;
  margin: 0 auto;
  max-width: 1400px;
  padding: 20px 0;
  width: 100%
}

#block-csd-content article .research-areas h3 {
  color: #ccc
}

#block-csd-content article .research-areas p {
  color: #ccc
}

#block-csd-content article .research-areas .leftside,
#block-csd-content article .research-areas .rightside {
  display: block;
  padding: 10px
}

#block-csd-content article .research-areas .leftside {
  display: none
}

#block-csd-content article .rightside {
  display: block;
  margin: 0 auto;
  margin-right: 0;
  padding: 0;
  width: 100%
}

#block-csd-content article .rightside .views-row {
  padding: 15px;
  position: relative
}

@media screen and (min-width:1024px) {
  #block-csd-content article .rightside .views-row {
    display: inline-block;
    padding: 0;
    width: 45%;
    margin: 15px
  }
}

#block-csd-content article .rightside .views-row img {
  height: auto;
  margin: 0;
  padding: 0;
  width: 100%
}

#block-csd-content article .rightside .views-row h3 {
  background-color: rgba(0, 0, 0, .4);
  color: #fff;
  color: #fff;
  display: block;
  font-size: 1.3em;
  padding: 5px 10px;
  position: absolute;
  text-transform: uppercase;
  bottom: -6px;
  z-index: 4;
  width: 92%
}

@media screen and (min-width:767px) {
  #block-csd-content article .rightside .views-row h3 {
    bottom: -20px;
    width: 100%
  }
}

#block-csd-content article .rightside .views-row h3 a {
  color: #fff
}

.path-taxonomy .header-image {
  position: relative
}

@media screen and (min-width:767px) {
  .path-taxonomy .header-image {
    height: 350px;
    max-width: 99.35%;
    overflow: hidden
  }
}

.path-taxonomy .header-image img {
  height: auto;
  position: relative;
  width: 100%
}

.path-taxonomy h1 {
  background-color: rgba(0, 0, 0, .3);
  bottom: 0;
  color: #fff;
  display: block;
  padding: 15px;
  padding-left: 25px;
  position: absolute;
  text-transform: uppercase;
  width: 100%
}

@media screen and (min-width:767px) {
  .path-taxonomy .has-sidebar {
    display: inline-block;
    margin-right: 2%;
    width: 75%
  }
}

.path-taxonomy .sidebar {
  background-color: rgba(0, 0, 0, .03);
  margin: 0;
  padding: 25px
}

@media screen and (min-width:767px) {
  .path-taxonomy .sidebar {
    display: inline-block;
    width: 22%
  }
}

.path-taxonomy .left-50 img {
  float: none;
  width: 100%
}

@media screen and (min-width:767px) {
  .path-taxonomy .left-50 img {
    float: left;
    height: auto;
    padding: 20px 30px 20px 0;
    width: 40%
  }
}

.path-taxonomy p {
  font-size: 120%;
  line-height: 1.5;
  margin: 10px 0
}

.path-taxonomy .introtext p {
  font-size: 150%;
  line-height: 1.4;
  margin: 15px 0
}

.path-taxonomy .introtext p:first-of-type {
  margin-top: 30px
}

.path-frontpage .research-areas-wrapper,
.path-frontpage .three-group-wrapper {
  background-color: #1d1e1f
}

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

  .path-frontpage #block-csd-content article .research-areas .leftside,
  .path-frontpage #block-csd-content article .research-areas .rightside {
    display: inline-block;
    margin: 0 0% 0 3.5%;
    padding: 10px 10px 10px 45px;
    width: 27%
  }
}

.path-frontpage #block-csd-content article .research-areas .leftside a {
  color: #fff
}

@media screen and (min-width:1024px) {
  .path-frontpage #block-csd-content article .research-areas .rightside {
    display: inline-block;
    margin-right: 0;
    width: 64%
  }
}

.paragraph--type--multi-column-content .fourcol {
  display: block;
  margin: 1em 0;
  padding: 1em
}

@media screen and (min-width:960px) {
  .paragraph--type--multi-column-content .fourcol {
    border: solid 1px #ccc;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr
  }
}

.paragraph--type--multi-column-content .threecol {
  display: block;
  margin: 1em 0
}

@media screen and (min-width:960px) {
  .paragraph--type--multi-column-content .threecol {
    border: solid 1px #ccc;
    display: -ms-grid;
    display: grid;
    gap: 1em;
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr
  }
}

.paragraph--type--multi-column-content .threecol div ul {
  margin-left: .5em;
  padding-left: 0
}

.paragraph--type--multi-column-content .threecol div p {
  line-height: 1.3
}

.paragraph--type--multi-column-content .twocol {
  display: block;
  margin: 1em 0
}

@media screen and (min-width:960px) {
  .paragraph--type--multi-column-content .twocol {
    border: solid 1px #ccc;
    display: -ms-grid;
    display: grid;
    gap: 1em;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr
  }
}

.paragraph--type--multi-column-content .onecol {
  border: solid 1px #ccc;
  display: block;
  margin: 1em 0;
  padding: 1em
}

@media screen and (min-width:960px) {
  .paragraph--type--multi-column-content .onecol {
    display: -ms-grid;
    display: grid;
    gap: 1em;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr
  }
}

.paragraph--type--multi-column-content div {
  border: none
}

@media screen and (min-width:960px) {
  .paragraph--type--multi-column-content div {
    border-right: solid 1px #ccc;
    padding: 15px
  }
}

.paragraph--type--multi-column-content div h3 {
  font-size: 1.4em
}

.paragraph--type--multi-column-content div p {
  font-size: .9em;
  line-height: 1.5
}

.paragraph--type--multi-column-content .fourcol div:last-of-type,
.paragraph--type--multi-column-content .onecol div:last-of-type,
.paragraph--type--multi-column-content .threecol div:last-of-type,
.paragraph--type--multi-column-content .twocol div:last-of-type {
  border-right: none
}

.path-frontpage #block-csd-content article .research-areas-wrapper,
.path-frontpage #block-csd-content article .three-group-wrapper {
  clear: both;
  display: block;
  margin: 0;
  margin-bottom: 100px;
  padding: 0;
  position: relative;
  position: relative
}

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

  .path-frontpage #block-csd-content article .research-areas-wrapper,
  .path-frontpage #block-csd-content article .three-group-wrapper {
    margin: 0 calc(50% - 50vw)
  }
}

.path-frontpage #block-csd-content article .research-areas .leftside {
  display: block;
  clear: both;
  padding: 1em
}

@media screen and (min-width:767px) {
  .path-frontpage #block-csd-content article .research-areas .leftside {
    display: inline-block;
    clear: none;
    padding: 0
  }
}

#block-csd-content .event-listings .item-list ul li {
  margin-bottom: 30px
}

#block-csd-content .event-listings .item-list ul li h2 {
  font-size: 100%;
  margin-bottom: 2px
}

#block-csd-content .event-listings .item-list ul li h2 a {
  color: #000
}

.courses .views-exposed-form {
  border-bottom: solid 1px #ccc;
  margin-bottom: 20px;
  padding-bottom: 30px
}

@media screen and (min-width:767px) {
  .courses .views-exposed-form div {
    display: inline
  }
}

.courses .views-exposed-form label {
  clear: both;
  display: inline-block;
  font-size: 120%;
  font-weight: 700;
  margin-right: 6px
}

.courses .views-exposed-form input,
.courses .views-exposed-form select {
  clear: both;
  display: block;
  font-size: 120%;
  padding: 2px 10px;
  vertical-align: middle;
  width: 100%
}

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

  .courses .views-exposed-form input,
  .courses .views-exposed-form select {
    clear: none;
    display: inline-block;
    margin-right: 1%;
    width: 15%
  }
}

.courses .views-row summary {
  background-color: #15356f;
  color: #fff;
  font-size: 120%;
  margin-bottom: 15px;
  padding: 5px 10px 5px 10px
}

.courses .views-row details {
  border-bottom: none;
  margin-bottom: 5px;
  padding-bottom: 20px;
  padding-left: 5px
}

.courses .views-row details p {
  margin: 5px auto
}

.views-element-container .boxed {
  border: solid 1px #ccc;
  margin-bottom: 30px;
  padding: 10px
}

.tablefield,
table,
table.cols-3 {
  display: table;
  margin: 20px 0;
  width: 100%
}

.tablefield caption,
table caption,
table.cols-3 caption {
  font-weight: 700;
  margin: 20px 0 10px 0;
  font-size: 1.75rem;
  color: #6d6e71
}

.tablefield thead,
table thead,
table.cols-3 thead {
  display: none
}

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

  .tablefield thead,
  table thead,
  table.cols-3 thead {
    display: table-row-group
  }
}

.tablefield th,
table th,
table.cols-3 th {
  background-color: transparent;
  border: none;
  display: none
}

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

  .tablefield th,
  table th,
  table.cols-3 th {
    background-color: #bcbec0;
    border: solid 1px #fff;
    color: #fff;
    display: table-cell;
    padding: 5px;
    position: sticky;
    top: 0
  }
}

.tablefield th p,
table th p,
table.cols-3 th p {
  color: #fff;
  font-weight: 700
}

.tablefield tr,
table tr,
table.cols-3 tr {
  border: solid 1px #ccc;
  border-radius: 20px;
  clear: both;
  display: block;
  margin: 15px 5%;
  padding: 10px;
  width: 90%
}

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

  .tablefield tr,
  table tr,
  table.cols-3 tr {
    border: none;
    display: table-row
  }
}

.tablefield td,
table td,
table.cols-3 td {
  border-bottom: solid 1px #eee;
  display: block;
  padding-right: 25px;
  text-align: right
}

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

  .tablefield td,
  table td,
  table.cols-3 td {
    border: solid 1px #ccc;
    display: table-cell;
    padding: 5px;
    text-align: left
  }
}

.tablefield td:before,
table td:before,
table.cols-3 td:before {
  color: #000;
  content: attr(data-label);
  display: block;
  font-size: 75%;
  letter-spacing: 1px;
  padding: 5px 0 0 14px;
  text-align: left;
  text-transform: uppercase
}

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

  .tablefield td:before,
  table td:before,
  table.cols-3 td:before {
    display: none
  }
}

thead tr {
  border: none;
  display: none
}

@media screen and (min-width:767px) {
  thead tr {
    display: table-row
  }
}

.red .tablefield th {
  background-color: #981b1d;
  color: #fff;
  font-family: Inter, sans-serif;
  font-weight: 700
}

.gray .tablefield th {
  background-color: #eee;
  border: solid 1px #000;
  color: #000;
  font-family: Inter, sans-serif;
  font-weight: 700
}

.gray .tablefield th p {
  color: #000
}

.tablefield td ul {
  max-width: auto;
  width: auto
}

.tablefield td ul li {
  margin-right: 5px;
  width: auto
}

table.cols-3 th {
  padding: 4px
}

@media screen and (min-width:767px) {
  table.cols-3 th {
    padding: 8px
  }
}

table.cols-3 td {
  padding: 5px
}

@media screen and (min-width:767px) {
  table.cols-3 td {
    padding: 10px
  }
}

#block-csd-content article div .fullwidth {
  clear: both;
  display: block
}

@media screen and (min-width:767px) {
  #block-csd-content article div .fullwidth {
    margin: 0 calc(50% - 50vw)
  }
}

#block-csd-content article div .fullwidth.homepagehero img {
  height: 350px;
  margin: 0 auto;
  max-height: 350px;
  min-width: 100%;
  object-fit: cover;
  position: relative
}

@media screen and (min-width:767px) {
  #block-csd-content article div .fullwidth.homepagehero img {
    height: 475px;
    max-height: 475px
  }
}

#block-csd-content article div .fullwidth.homepagehero .dimmer {
  background-color: #15356f;
  display: block;
  height: auto;
  height: 350px;
  left: 0;
  opacity: .4;
  position: absolute;
  top: 0;
  width: 100%
}

@media screen and (min-width:767px) {
  #block-csd-content article div .fullwidth.homepagehero .dimmer {
    background-color: #15356f;
    display: block;
    height: 475px;
    left: 0;
    margin: 0;
    opacity: .2;
    padding: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2
  }
}

#block-csd-content article div .fullwidth.homepagehero .content-container {
  display: block;
  left: 0;
  margin: 0 auto;
  max-height: 350px;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 3
}

@media screen and (min-width:767px) {
  #block-csd-content article div .fullwidth.homepagehero .content-container {
    bottom: 0;
    left: 0;
    margin: 0 calc(50% - 50vw);
    max-height: 475px;
    right: 0;
    top: 0;
    width: 100vw
  }
}

#block-csd-content article div .fullwidth.homepagehero .layout-container {
  -ms-flex-align: center;
  align-items: center;
  clear: both;
  display: block;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
  height: 350px;
  -ms-flex-pack: center;
  justify-content: center;
  max-height: 350px;
  width: 100%
}

@media screen and (min-width:767px) {
  #block-csd-content article div .fullwidth.homepagehero .layout-container {
    -ms-flex-align: center;
    align-items: center;
    border-bottom: solid 50px #fff;
    display: -ms-grid;
    display: grid;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: 1fr;
    grid-template-rows: 1fr;
    height: 475px;
    -ms-flex-pack: center;
    justify-content: center;
    max-height: 475px;
    max-width: 1400px;
    padding: 0;
    width: 100%
  }
}

#block-csd-content article div .fullwidth.homepagehero .layout-container h2 {
  font-size: 1.7rem;
  line-height: 1.1;
  margin: 0 auto;
  width: 90%
}

@media screen and (min-width:767px) {
  #block-csd-content article div .fullwidth.homepagehero .layout-container h2 {
    font-size: 2rem;
    line-height: 1.4;
    width: 66%
  }
}

#block-csd-content article div .fullwidth.homepagehero .layout-container h1 {
  color: #fff
}

#block-csd-content article div .fullwidth.homepagehero .layout-container p {
  color: #fff
}

footer {
  clear: both;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  position: relative;
  right: 50%;
  width: 100vw
}

#block-csd-content .views-row .event-teaser,
#block-csd-content article div .event-teaser {
  clear: both;
  display: block;
  margin-bottom: 35px
}

#block-csd-content .views-row .event-teaser .date-placard,
#block-csd-content article div .event-teaser .date-placard {
  background: #fff;
  box-shadow: 1px 1px 5px -3px rgba(0, 0, 0, .57);
  display: inline-block;
  line-height: 1;
  margin-right: 3%;
  max-width: 90px;
  min-width: 4.5rem;
  min-width: 90px;
  position: relative;
  text-align: center;
  transition: box-shadow .25s;
  width: 90px
}

#block-csd-content .views-row .event-teaser .date-placard__month,
#block-csd-content article div .event-teaser .date-placard__month {
  color: #3e3e3e;
  font-size: .70231rem;
  font-weight: 400;
  margin-top: 5px;
  text-transform: uppercase
}

#block-csd-content .views-row .event-teaser .date-placard__day,
#block-csd-content article div .event-teaser .date-placard__day {
  color: #900;
  font-size: 2.28069rem;
  font-size: 1.7em;
  font-weight: 700;
  line-height: 1;
  margin: 15px 0
}

#block-csd-content .views-row .event-teaser .date-placard__time,
#block-csd-content article div .event-teaser .date-placard__time {
  background: #666;
  color: #fff;
  font-size: .62431rem;
  transition: background-color .25s
}

#block-csd-content .views-row .event-teaser .date-placard span.divider,
#block-csd-content article div .event-teaser .date-placard span.divider {
  margin: 0 3px
}

#block-csd-content .views-row .event-teaser .event-info,
#block-csd-content article div .event-teaser .event-info {
  border-left: solid 1px #ddd;
  display: inline-block;
  margin-left: 5px;
  min-height: 120px;
  padding-left: 15px;
  width: 60%
}

#block-csd-content .views-row .event-teaser .event-info h3,
#block-csd-content article div .event-teaser .event-info h3 {
  color: #000;
  font-size: 70%;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 10px
}

#block-csd-content .views-row .event-teaser .event-info h3 a,
#block-csd-content article div .event-teaser .event-info h3 a {
  color: #000;
  font-weight: 600;
  text-decoration: none
}

#block-csd-content .views-row .event-teaser .event-info h4,
#block-csd-content article div .event-teaser .event-info h4 {
  color: #000;
  font-size: 95%;
  font-weight: 700;
  margin-bottom: 5px;
  text-decoration: none
}

#block-csd-content .views-row .event-teaser .event-info h4 a,
#block-csd-content article div .event-teaser .event-info h4 a {
  color: #000;
  font-weight: 600;
  text-decoration: none
}

#block-csd-content .views-row .event-teaser .event-info p,
#block-csd-content article div .event-teaser .event-info p {
  color: #000;
  font-size: 80%;
  font-weight: 400;
  line-height: 1.7;
  margin: 0;
  text-decoration: none
}

#block-csd-content .views-row .event-teaser .event-info p span.talktitle,
#block-csd-content article div .event-teaser .event-info p span.talktitle {
  color: #15356f;
  display: block;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 10px
}

#block-csd-content .views-row .event-teaser .event-info p a,
#block-csd-content article div .event-teaser .event-info p a {
  color: #000;
  font-weight: 600;
  text-decoration: none
}

#block-csd-content .views-row .event-teaser:focus .date-placard,
#block-csd-content .views-row .event-teaser:hover .date-placard,
#block-csd-content article div .event-teaser:focus .date-placard,
#block-csd-content article div .event-teaser:hover .date-placard {
  box-shadow: 4px 7px 5px -3px rgba(0, 0, 0, .57)
}

#block-csd-content .views-row .front-page-events,
#block-csd-content article div .front-page-events {
  margin: 20px
}

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

  #block-csd-content .views-row .front-page-events,
  #block-csd-content article div .front-page-events {
    margin: 50px
  }
}

#block-csd-content .views-row .front-page-events h2,
#block-csd-content article div .front-page-events h2 {
  color: #000;
  display: inline-block;
  width: 80%
}

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

  #block-csd-content .views-row .front-page-events .button,
  #block-csd-content article div .front-page-events .button {
    display: inline-block;
    text-align: right;
    white-space: nowrap;
    width: 19%
  }
}

#block-csd-content .views-row .front-page-events .button a,
#block-csd-content article div .front-page-events .button a {
  background-color: #fff;
  border: solid 1px #ccc;
  border-radius: 5px;
  padding: 4px 20px
}

#block-csd-content .views-row .front-page-events .button a:focus,
#block-csd-content .views-row .front-page-events .button a:hover,
#block-csd-content article div .front-page-events .button a:focus,
#block-csd-content article div .front-page-events .button a:hover {
  background-color: #15356f;
  color: #fff
}

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

  #block-csd-content .views-row .front-page-events .views-row,
  #block-csd-content article div .front-page-events .views-row {
    display: inline-block;
    width: 33%
  }
}

@media screen and (max-width:767px) {
  #block-csd-main-menu {
    clear: both;
    display: block;
    margin: 0;
    padding: 0;
    width: 100%
  }

  #block-csd-main-menu ul {
    clear: both;
    display: block;
    float: none;
    margin: 0;
    padding: 0;
    text-align: left;
    width: 100%
  }

  #block-csd-main-menu ul li {
    border-bottom: solid 1px #ccc;
    clear: both;
    display: block;
    width: 100%
  }

  #block-csd-main-menu ul li a {
    display: block;
    padding: 10px
  }
}

.path-taxonomy #block-csd-content h3 {
  margin: 0 0 25px 0
}

.ckeditor-accordion-container>dl {
  border: 1px solid #0091ea;
  position: relative
}

.ckeditor-accordion-container>dl {
  border: solid 1px #ccc
}

.ckeditor-accordion-container>dl dt a {
  background-image: radial-gradient(circle farthest-corner at 90% 20%, #5a5c6a 0, #202d3a 270.3%);
  border-bottom: 1px solid #fff
}

.ckeditor-accordion-container>dl dt a:focus,
.ckeditor-accordion-container>dl dt a:hover {
  background-color: #08b;
  background-image: radial-gradient(circle farthest-corner at 30% 20%, #5a5c6a 0, #202d3a 270.3%)
}

.ckeditor-accordion-container>dl dt.active a {
  background-image: radial-gradient(circle farthest-corner at 100% 20%, rgba(56, 75, 94, .98) .1%, #000780 99.8%)
}

.event-full h1,
.news-full h1 {
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 8px
}

.event-full h2,
.news-full h2 {
  font-size: 110%;
  font-weight: 600
}

.event-full .newsimg,
.news-full .newsimg {
  float: right;
  margin: 25px;
  width: 30%
}

.event-full .newsimg img,
.news-full .newsimg img {
  height: auto;
  width: 100%
}

.event-full .caption,
.news-full .caption {
  background-color: #eee;
  font-size: 90%;
  font-style: italic;
  font-weight: 500;
  line-height: 2;
  padding: 15px
}

.event-full p,
.news-full p {
  font-size: 115%;
  line-height: 1.7;
  max-width: 75ch
}

.event-full p em,
.news-full p em {
  font-size: 90%
}

.person-full h2 {
  color: #6d6e71;
  font-size: 140%;
  font-weight: 700;
  margin: 0;
  text-transform: uppercase
}

.person-full .info-cell0 {
  border-right: solid 1px #ccc
}

.person-full .info-cell0 p {
  line-height: 1.3
}

.person-full .info-cell1 {
  border-right: solid 1px #ccc
}

.person-full .info-cell2 {
  border-right: solid 1px #ccc
}

.person-full .info-group {
  border-bottom: solid 1px #ccc;
  margin-bottom: 25px;
  width: 100%
}

@media screen and (min-width:767px) {
  .person-full .info-group {
    display: -ms-grid;
    display: grid;
    gap: 2em;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr)
  }
}

.person-full .award-teasers,
.person-full .pub-teasers {
  margin-bottom: 20px;
  padding-bottom: 20px
}

.person-full .award-teasers h2,
.person-full .pub-teasers h2 {
  font-size: 120%
}

.person-full footer {
  background-color: transparent;
  left: 0;
  margin: 0 auto;
  max-width: 1400px;
  padding: 0;
  right: 0;
  width: 100%
}

.person-full footer p {
  color: #000
}

.person-full footer p a {
  color: #15356f
}

#block-csd-breadcrumbs {
  margin-bottom: 15px
}

#block-csd-breadcrumbs ol {
  list-style: none;
  margin: 0;
  padding: 0
}

#block-csd-breadcrumbs ol li {
  display: inline-block
}

#block-csd-breadcrumbs ol li:after {
  content: '>';
  font-weight: 600
}

#block-csd-breadcrumbs ol li:last-of-type a {
  color: #000;
  font-weight: 400
}

#block-csd-breadcrumbs ol li:last-of-type:after {
  content: ''
}

.publication-teaser p {
  border-bottom: solid 1px #dce4ea;
  line-height: 1.5;
  margin: 15px 0;
  padding-bottom: 15px
}

.award-teaser h3 {
  font-size: 130%;
  margin: 15px 0 0 0
}

.award-teaser p {
  border-bottom: solid 1px #dce4ea;
  margin: 0;
  padding: 4px 0 25px 0
}

.news-teaser {
  border-bottom: solid 1px #dce4ea;
  clear: both;
  display: block;
  margin-bottom: 25px;
  padding-bottom: 25px
}

.news-teaser h2 {
  font-size: 140%;
  line-height: 1.35;
  margin: 35px 0 5px 0
}

.news-teaser h3 {
  font-size: 100%;
  margin: 0
}

.news-teaser .newsimg {
  float: right;
  height: auto;
  margin: 15px;
  width: 200px
}

.news-teaser p {
  margin: 0 0 20px 0
}

.clearfix:after {
  clear: both;
  content: "";
  display: table
}

.twitterblock {
  display: block;
  margin: 0 2%;
  min-width: 100%;
  padding-right: 0;
  text-align: center;
  width: 100%
}

.calendar-month-block {
  margin-top: 60px
}

.calendar-filters {
  border: solid 1px #ccc;
  margin: 20px 0 50px 0;
  padding: 15px
}

.calendar-filters header h3 {
  font-size: 100%;
  letter-spacing: 1.5px;
  margin-bottom: 20px;
  text-transform: uppercase
}

.calendar-filters .views-row {
  margin: 15px 0
}

.calendar-filters .views-row:first-of-type {
  margin-top: 5px;
  padding-top: 0
}

#block-csd-content article.event-teaser {
  border-bottom: solid 1px #ddd;
  margin-bottom: 5px;
  padding-bottom: 5px
}

#webform-submission-submit-a-calendar-event-add-form input,
#webform-submission-submit-a-calendar-event-add-form textarea {
  display: block;
  font-size: 18px;
  margin: 10px 0 25px 0;
  padding: 15px;
  width: 100%
}

#webform-submission-submit-a-calendar-event-add-form input[type=submit] {
  background-color: #1d944f;
  color: #fff
}

#webform-submission-submit-a-calendar-event-add-form select {
  width: 100%
}

#webform-submission-submit-a-calendar-event-add-form label {
  font-weight: 700;
  margin: 0;
  padding: 0
}

#webform-submission-submit-a-calendar-event-add-form fieldset {
  background-color: #eee;
  font-size: 110%;
  font-weight: 700;
  margin-bottom: 45px;
  padding: 10px 20px
}

.event-textonly-teaser {
  border-bottom: solid 1px #ccc;
  margin-bottom: 15px
}

.event-textonly-teaser h4 {
  font-size: 100%;
  margin-bottom: 4px;
  padding: 0
}

.event-textonly-teaser h5 {
  font-size: 90%
}

#block-views-block-test-calendar-view-block-1 .js-drupal-fullcalendar .fc-toolbar {
  display: block;
  display: block;
  position: relative
}

#block-views-block-test-calendar-view-block-1 .js-drupal-fullcalendar .fc-toolbar.fc-header-toolbar {
  margin-bottom: 5px
}

#block-views-block-test-calendar-view-block-1 .js-drupal-fullcalendar .fc-button-group {
  display: block;
  position: relative
}

#block-views-block-test-calendar-view-block-1 .js-drupal-fullcalendar .fc-left {
  clear: both;
  display: block;
  width: 100%
}

#block-views-block-test-calendar-view-block-1 .js-drupal-fullcalendar .fc-right {
  display: none
}

#block-views-block-test-calendar-view-block-1 .js-drupal-fullcalendar .fc-next-button.fc-button.fc-button-primary {
  float: right
}

#block-views-block-test-calendar-view-block-1 .js-drupal-fullcalendar .fc-center {
  left: 0;
  margin: 10px 50px;
  position: absolute;
  top: 0;
  width: calc(100% - 100px)
}

#block-views-block-test-calendar-view-block-1 .js-drupal-fullcalendar .fc-center h2 {
  display: block;
  font-size: 100%;
  margin: 0 auto;
  text-align: center
}

#block-views-block-test-calendar-view-block-1 .fc-scroller.fc-day-grid-container {
  height: auto !important;
  overflow: auto !important
}

.fc-content,
.fc-event,
.fc-event:focus,
.fc-event:hover,
td.fc-more-cell a,
td.fc-more-cell:focus,
td.fc-more-cell:hover {
  background-color: #15356f;
  border: none;
  color: #15356f
}

.fc-button .fc-icon {
  font-weight: 700;
  vertical-align: middle
}

.fc-row.fc-week.fc-widget-content {
  min-height: 3em
}

.pastevents-container {
  opacity: .7
}

h2.pastevents {
  margin-top: 40px
}

ul.pager__items.js-pager__items {
  margin: 40px;
  text-align: center
}

ul.pager__items.js-pager__items .pager__item {
  border: solid 1px #ccc;
  display: inline-block;
  margin: 0 5px
}

ul.pager__items.js-pager__items .pager__item a {
  display: block;
  padding: 8px 15px
}

ul.pager__items.js-pager__items .pager__item a:focus,
ul.pager__items.js-pager__items .pager__item a:hover {
  background-color: #15356f;
  color: #fff
}

ul.pager__items.js-pager__items .pager__item.is-active {
  background-color: #15356f
}

ul.pager__items.js-pager__items .pager__item.is-active a {
  color: #fff
}

ul.pager__items.js-pager__items .pager__item--ellipsis {
  display: none
}

.path-directory .tablefield a.current,
.path-directory .tablefield a:focus,
.path-directory .tablefield a:hover {
  background-color: #15356f;
  color: #fff
}

.path-frontpage #block-csd-content .paragraph--type--views.hp-upcoming-events h2,
.path-frontpage #block-csd-content .paragraph--type--views.hp-upcoming-news h2 {
  line-height: 1.3;
  margin-top: 20px
}

.node {
  padding-left: 5%;
  padding-right: 5%
}

form {
  margin-bottom: 25px;
  max-width: 72ch;
  width: 100%
}

form label {
  clear: both;
  display: block;
  font-weight: 700;
  margin: 1em 0 5px 0
}

form input,
form textarea {
  font-size: 1em;
  padding: 10px
}

form .js-form-type-checkbox {
  display: block;
  margin: 1em 10px 1em 0
}

form .js-form-type-checkbox input.form-checkbox {
  display: inline-block;
  font-size: 2em;
  margin: 0 5px 0 0
}

form .js-form-type-checkbox input.form-checkbox:checked {
  background-color: green
}

form .js-form-type-checkbox label {
  display: inline-block;
  margin: 9px 0 0 0
}

form .button {
  background-color: #15356f;
  border: solid 1px #15356f;
  color: #fff;
  font-weight: 700;
  margin: 20px 10px 10px 0
}

form .button:focus,
form .button:hover {
  background-color: #fff;
  color: #15356f
}

#search-form {
  display: block
}

#search-form input {
  -webkit-appearance: none;
  display: inline-block;
  margin: 10px 5px
}

.path-search h2 {
  margin-bottom: 1em
}

.path-search ol {
  margin: 0;
  padding: 0
}

.path-search ol li {
  border-bottom: solid 1px #ddd;
  margin-bottom: 1.5em;
  max-width: 75ch;
  padding-bottom: 1em
}

#block-csd-content article div .fullwidth {
  clear: both;
  display: block
}

@media screen and (min-width:767px) {
  #block-csd-content article div .fullwidth {
    margin: 0 calc(50% - 50vw)
  }
}

#block-csd-content article div .fullwidth.homepagehero img {
  height: 350px;
  margin: 0 auto;
  max-height: 350px;
  min-width: 100%;
  object-fit: cover;
  position: relative
}

@media screen and (min-width:767px) {
  #block-csd-content article div .fullwidth.homepagehero img {
    height: 475px;
    max-height: 475px
  }
}

#block-csd-content article div .fullwidth.homepagehero .dimmer {
  background-color: #15356f;
  display: block;
  height: auto;
  height: 350px;
  left: 0;
  opacity: .4;
  position: absolute;
  top: 0;
  width: 100%
}

@media screen and (min-width:767px) {
  #block-csd-content article div .fullwidth.homepagehero .dimmer {
    background-color: #15356f;
    display: block;
    height: 475px;
    left: 0;
    margin: 0;
    opacity: .2;
    padding: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2
  }
}

#block-csd-content article div .fullwidth.homepagehero .content-container {
  display: block;
  left: 0;
  margin: 0 auto;
  max-height: 350px;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 3
}

@media screen and (min-width:767px) {
  #block-csd-content article div .fullwidth.homepagehero .content-container {
    bottom: 0;
    left: 0;
    margin: 0 calc(50% - 50vw);
    max-height: 475px;
    right: 0;
    top: 0;
    width: 100vw
  }
}

#block-csd-content article div .fullwidth.homepagehero .layout-container {
  -ms-flex-align: center;
  align-items: center;
  clear: both;
  display: block;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
  height: 350px;
  -ms-flex-pack: center;
  justify-content: center;
  max-height: 350px;
  width: 100%
}

@media screen and (min-width:767px) {
  #block-csd-content article div .fullwidth.homepagehero .layout-container {
    -ms-flex-align: center;
    align-items: center;
    border-bottom: solid 20px #fff;
    display: -ms-grid;
    display: grid;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: 1fr;
    grid-template-rows: 1fr;
    height: 475px;
    -ms-flex-pack: center;
    justify-content: center;
    max-height: 475px;
    max-width: 1400px;
    padding: 0;
    width: 100%
  }
}

#block-csd-content article div .fullwidth.homepagehero .layout-container h2 {
  font-size: 1.7rem;
  line-height: 1.1;
  margin: 0 auto;
  width: 90%
}

@media screen and (min-width:767px) {
  #block-csd-content article div .fullwidth.homepagehero .layout-container h2 {
    font-size: 2rem;
    line-height: 1.4;
    width: 66%
  }
}

#block-csd-content article div .fullwidth.homepagehero .layout-container h1 {
  color: #fff
}

#block-csd-content article div .fullwidth.homepagehero .layout-container p {
  color: #fff
}

footer {
  clear: both;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  position: relative;
  right: 50%;
  width: 100vw
}

#block-csd-content .views-row .event-teaser,
#block-csd-content article div .event-teaser {
  clear: both;
  display: block;
  margin-bottom: 35px
}

#block-csd-content .views-row .event-teaser .date-placard,
#block-csd-content article div .event-teaser .date-placard {
  background: #fff;
  box-shadow: 1px 1px 5px -3px rgba(0, 0, 0, .57);
  display: inline-block;
  line-height: 1;
  margin-right: 3%;
  max-width: 90px;
  min-width: 4.5rem;
  min-width: 90px;
  position: relative;
  text-align: center;
  transition: box-shadow .25s;
  width: 90px
}

#block-csd-content .views-row .event-teaser .date-placard__month,
#block-csd-content article div .event-teaser .date-placard__month {
  color: #3e3e3e;
  font-size: .70231rem;
  font-weight: 400;
  margin-top: 5px;
  text-transform: uppercase
}

#block-csd-content .views-row .event-teaser .date-placard__day,
#block-csd-content article div .event-teaser .date-placard__day {
  color: #900;
  font-size: 2.28069rem;
  font-size: 1.7em;
  font-weight: 700;
  line-height: 1;
  margin: 15px 0
}

#block-csd-content .views-row .event-teaser .date-placard__time,
#block-csd-content article div .event-teaser .date-placard__time {
  background: #666;
  color: #fff;
  font-size: .62431rem;
  transition: background-color .25s
}

#block-csd-content .views-row .event-teaser .date-placard span.divider,
#block-csd-content article div .event-teaser .date-placard span.divider {
  margin: 0 3px
}

#block-csd-content .views-row .event-teaser .event-info,
#block-csd-content article div .event-teaser .event-info {
  border-left: solid 1px #ddd;
  display: inline-block;
  margin-left: 5px;
  min-height: 120px;
  padding-left: 15px;
  width: 60%
}

#block-csd-content .views-row .event-teaser .event-info h3,
#block-csd-content article div .event-teaser .event-info h3 {
  color: #000;
  font-size: 70%;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 10px
}

#block-csd-content .views-row .event-teaser .event-info h3 a,
#block-csd-content article div .event-teaser .event-info h3 a {
  color: #000;
  font-weight: 600;
  text-decoration: none
}

#block-csd-content .views-row .event-teaser .event-info h4,
#block-csd-content article div .event-teaser .event-info h4 {
  color: #000;
  font-size: 95%;
  font-weight: 700;
  margin-bottom: 5px;
  text-decoration: none
}

#block-csd-content .views-row .event-teaser .event-info h4 a,
#block-csd-content article div .event-teaser .event-info h4 a {
  color: #000;
  font-weight: 600;
  text-decoration: none
}

#block-csd-content .views-row .event-teaser .event-info p,
#block-csd-content article div .event-teaser .event-info p {
  color: #000;
  font-size: 80%;
  font-weight: 400;
  line-height: 1.7;
  margin: 0;
  text-decoration: none
}

#block-csd-content .views-row .event-teaser .event-info p span.talktitle,
#block-csd-content article div .event-teaser .event-info p span.talktitle {
  color: #15356f;
  display: block;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 10px
}

#block-csd-content .views-row .event-teaser .event-info p a,
#block-csd-content article div .event-teaser .event-info p a {
  color: #000;
  font-weight: 600;
  text-decoration: none
}

#block-csd-content .views-row .event-teaser:focus .date-placard,
#block-csd-content .views-row .event-teaser:hover .date-placard,
#block-csd-content article div .event-teaser:focus .date-placard,
#block-csd-content article div .event-teaser:hover .date-placard {
  box-shadow: 4px 7px 5px -3px rgba(0, 0, 0, .57)
}

#block-csd-content .views-row .front-page-events,
#block-csd-content article div .front-page-events {
  margin: 20px
}

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

  #block-csd-content .views-row .front-page-events,
  #block-csd-content article div .front-page-events {
    margin: 50px auto;
    max-width: 1310px
  }
}

#block-csd-content .views-row .front-page-events h2,
#block-csd-content article div .front-page-events h2 {
  color: #000;
  display: inline-block;
  width: 80%
}

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

  #block-csd-content .views-row .front-page-events .button,
  #block-csd-content article div .front-page-events .button {
    display: inline-block;
    text-align: right;
    white-space: nowrap;
    width: 19%
  }
}

#block-csd-content .views-row .front-page-events .button a,
#block-csd-content article div .front-page-events .button a {
  background-color: #fff;
  border: solid 1px #ccc;
  border-radius: 5px;
  padding: 4px 20px
}

#block-csd-content .views-row .front-page-events .button a:focus,
#block-csd-content .views-row .front-page-events .button a:hover,
#block-csd-content article div .front-page-events .button a:focus,
#block-csd-content article div .front-page-events .button a:hover {
  background-color: #15356f;
  color: #fff
}

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

  #block-csd-content .views-row .front-page-events .views-row,
  #block-csd-content article div .front-page-events .views-row {
    display: inline-block;
    width: 33%
  }
}

@media screen and (max-width:767px) {
  #block-csd-main-menu {
    clear: both;
    display: block;
    margin: 0;
    padding: 0;
    width: 100%
  }

  #block-csd-main-menu ul {
    clear: both;
    display: block;
    float: none;
    margin: 0;
    padding: 0;
    text-align: left;
    width: 100%
  }

  #block-csd-main-menu ul li {
    border-bottom: solid 1px #ccc;
    clear: both;
    display: block;
    width: 100%
  }

  #block-csd-main-menu ul li a {
    display: block;
    padding: 10px
  }
}

.path-taxonomy #block-csd-content h3 {
  margin: 0 0 25px 0
}

.ckeditor-accordion-container>dl {
  border: 1px solid #0091ea;
  position: relative
}

.ckeditor-accordion-container>dl {
  border: solid 1px #ccc
}

.ckeditor-accordion-container>dl dt a {
  background-image: radial-gradient(circle farthest-corner at 90% 20%, #5a5c6a 0, #202d3a 270.3%);
  border-bottom: 1px solid #fff
}

.ckeditor-accordion-container>dl dt a:focus,
.ckeditor-accordion-container>dl dt a:hover {
  background-color: #08b;
  background-image: radial-gradient(circle farthest-corner at 30% 20%, #5a5c6a 0, #202d3a 270.3%)
}

.ckeditor-accordion-container>dl dt.active a {
  background-image: radial-gradient(circle farthest-corner at 100% 20%, rgba(56, 75, 94, .98) .1%, #000780 99.8%)
}

.event-full h1,
.news-full h1 {
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 8px
}

.event-full h2,
.news-full h2 {
  font-size: 110%;
  font-weight: 600
}

.event-full .newsimg,
.news-full .newsimg {
  display: block;
  width: 100%;
  float: none;
  margin: 0
}

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

  .event-full .newsimg,
  .news-full .newsimg {
    float: right;
    margin: 25px;
    width: 30%
  }
}

.event-full .newsimg img,
.news-full .newsimg img {
  height: auto;
  width: 100%
}

.event-full .caption,
.news-full .caption {
  background-color: #eee;
  font-size: 90%;
  font-style: italic;
  font-weight: 500;
  line-height: 2;
  padding: 15px
}

.event-full p,
.news-full p {
  font-size: 115%;
  line-height: 1.7;
  max-width: 75ch
}

.event-full p em,
.news-full p em {
  font-size: 90%
}

.person-full h2 {
  color: #6d6e71;
  font-size: 140%;
  font-weight: 700;
  margin: 2em 0 0 0;
  text-transform: uppercase
}

.person-full h2:first-of-type {
  margin: 1em 0 0 0
}

.person-full .info-cell0 p {
  line-height: 1.3
}

.person-full .award-teasers,
.person-full .pub-teasers {
  margin-bottom: 20px;
  padding-bottom: 20px
}

.person-full .award-teasers h2,
.person-full .pub-teasers h2 {
  font-size: 120%
}

.person-full footer {
  background-color: transparent;
  left: 0;
  margin: 0 auto;
  max-width: 1400px;
  padding: 0;
  right: 0;
  width: 100%
}

.person-full footer p {
  color: #000
}

.person-full footer p a {
  color: #15356f
}

#block-csd-breadcrumbs {
  margin-bottom: 15px
}

#block-csd-breadcrumbs ol {
  list-style: none;
  margin: 0;
  padding: 0
}

#block-csd-breadcrumbs ol li {
  display: inline-block
}

#block-csd-breadcrumbs ol li:after {
  content: '>';
  font-weight: 600
}

#block-csd-breadcrumbs ol li:last-of-type a {
  color: #000;
  font-weight: 400
}

#block-csd-breadcrumbs ol li:last-of-type:after {
  content: ''
}

.publication-teaser p {
  border-bottom: solid 1px #dce4ea;
  line-height: 1.5;
  margin: 15px 0;
  padding-bottom: 15px
}

.award-teaser h3 {
  font-size: 130%;
  margin: 15px 0 0 0
}

.award-teaser p {
  border-bottom: solid 1px #dce4ea;
  margin: 0;
  padding: 4px 0 25px 0
}

.news-teaser {
  border-bottom: solid 1px #dce4ea;
  clear: both;
  display: block;
  margin-bottom: 25px;
  padding-bottom: 25px
}

.news-teaser h2 {
  font-size: 140%;
  line-height: 1.35;
  margin: 35px 0 5px 0
}

.news-teaser h3 {
  font-size: 100%;
  margin: 0
}

.news-teaser .newsimg {
  width: 100%;
  float: none;
  margin: 0
}

@media screen and (min-width:767px) {
  .news-teaser .newsimg {
    float: right;
    height: auto;
    margin: 15px;
    width: 200px
  }
}

.news-teaser p {
  margin: 0 0 20px 0
}

.clearfix:after {
  clear: both;
  content: "";
  display: table
}

.twitterblock {
  display: block;
  margin: 0 2%;
  min-width: 100%;
  padding-right: 0;
  text-align: center;
  width: 100%
}

.calendar-month-block {
  margin-top: 60px
}

.calendar-filters {
  border: solid 1px #ccc;
  margin: 20px 0 50px 0;
  padding: 15px
}

.calendar-filters header h3 {
  font-size: 100%;
  letter-spacing: 1.5px;
  margin-bottom: 20px;
  text-transform: uppercase
}

.calendar-filters .views-row {
  margin: 15px 0
}

.calendar-filters .views-row:first-of-type {
  margin-top: 5px;
  padding-top: 0
}

#block-csd-content article.event-teaser {
  border-bottom: solid 1px #ddd;
  margin-bottom: 5px;
  padding-bottom: 5px
}

#webform-submission-submit-a-calendar-event-add-form input,
#webform-submission-submit-a-calendar-event-add-form textarea {
  display: block;
  font-size: 18px;
  margin: 10px 0 25px 0;
  padding: 15px;
  width: 100%
}

#webform-submission-submit-a-calendar-event-add-form input[type=submit] {
  background-color: #1d944f;
  color: #fff
}

#webform-submission-submit-a-calendar-event-add-form select {
  width: 100%
}

#webform-submission-submit-a-calendar-event-add-form label {
  font-weight: 700;
  margin: 0;
  padding: 0
}

#webform-submission-submit-a-calendar-event-add-form fieldset {
  background-color: #eee;
  font-size: 110%;
  font-weight: 700;
  margin-bottom: 45px;
  padding: 10px 20px
}

.event-textonly-teaser {
  border-bottom: solid 1px #ccc;
  margin-bottom: 15px
}

.event-textonly-teaser h4 {
  font-size: 100%;
  margin-bottom: 4px;
  padding: 0
}

.event-textonly-teaser h5 {
  font-size: 90%
}

#block-views-block-test-calendar-view-block-1 .js-drupal-fullcalendar .fc-toolbar {
  display: block;
  display: block;
  position: relative
}

#block-views-block-test-calendar-view-block-1 .js-drupal-fullcalendar .fc-toolbar.fc-header-toolbar {
  margin-bottom: 5px
}

#block-views-block-test-calendar-view-block-1 .js-drupal-fullcalendar .fc-button-group {
  display: block;
  position: relative
}

#block-views-block-test-calendar-view-block-1 .js-drupal-fullcalendar .fc-left {
  clear: both;
  display: block;
  width: 100%
}

#block-views-block-test-calendar-view-block-1 .js-drupal-fullcalendar .fc-right {
  display: none
}

#block-views-block-test-calendar-view-block-1 .js-drupal-fullcalendar .fc-next-button.fc-button.fc-button-primary {
  float: right
}

#block-views-block-test-calendar-view-block-1 .js-drupal-fullcalendar .fc-center {
  left: 0;
  margin: 10px 50px;
  position: absolute;
  top: 0;
  width: calc(100% - 100px)
}

#block-views-block-test-calendar-view-block-1 .js-drupal-fullcalendar .fc-center h2 {
  display: block;
  font-size: 100%;
  margin: 0 auto;
  text-align: center
}

#block-views-block-test-calendar-view-block-1 .fc-scroller.fc-day-grid-container {
  height: auto !important;
  overflow: auto !important
}

.fc-content,
.fc-event,
.fc-event:focus,
.fc-event:hover,
td.fc-more-cell a,
td.fc-more-cell:focus,
td.fc-more-cell:hover {
  background-color: #15356f;
  border: none;
  color: #15356f
}

.fc-button .fc-icon {
  font-weight: 700;
  vertical-align: middle
}

.fc-row.fc-week.fc-widget-content {
  min-height: 3em
}

.pastevents-container {
  opacity: .7
}

h2.pastevents {
  margin-top: 40px
}

ul.pager__items.js-pager__items {
  margin: 40px;
  text-align: center
}

ul.pager__items.js-pager__items .pager__item {
  border: solid 1px #ccc;
  display: inline-block;
  margin: 0 5px
}

ul.pager__items.js-pager__items .pager__item a {
  display: block;
  padding: 8px 15px
}

ul.pager__items.js-pager__items .pager__item a:focus,
ul.pager__items.js-pager__items .pager__item a:hover {
  background-color: #15356f;
  color: #fff
}

ul.pager__items.js-pager__items .pager__item.is-active {
  background-color: #15356f
}

ul.pager__items.js-pager__items .pager__item.is-active a {
  color: #fff
}

ul.pager__items.js-pager__items .pager__item--ellipsis {
  display: none
}

.path-directory .tablefield a.current,
.path-directory .tablefield a:focus,
.path-directory .tablefield a:hover {
  background-color: #15356f;
  color: #fff
}

.path-frontpage #block-csd-content .paragraph--type--views.hp-upcoming-events h2,
.path-frontpage #block-csd-content .paragraph--type--views.hp-upcoming-news h2 {
  line-height: 1.3;
  margin-top: 20px
}

.node {
  padding-left: 5%;
  padding-right: 5%
}

form {
  margin-bottom: 25px;
  max-width: 72ch;
  width: 100%
}

form fieldset,
form label,
form legend {
  clear: both;
  display: block;
  font-weight: 700;
  margin: 1em 0 5px 0
}

form input,
form select,
form textarea {
  -webkit-appearance: none;
  font-size: 1em;
  padding: 10px
}

form .js-form-type-checkbox {
  display: block;
  margin: 1em 10px 1em 0
}

form .js-form-type-checkbox input.form-checkbox {
  -webkit-appearance: none;
  border: solid 1px #000;
  display: inline-block;
  font-size: 2em;
  margin: 10px 5px 0 0
}

form .js-form-type-checkbox label {
  display: inline-block;
  margin: 9px 0 0 0
}

form .button {
  background-color: #15356f;
  border: solid 1px #15356f;
  color: #fff;
  font-weight: 700;
  margin: 20px 10px 10px 0
}

form .button:focus,
form .button:hover {
  background-color: #fff;
  color: #15356f
}

#search-form {
  display: block
}

#search-form input {
  display: inline-block;
  margin: 10px 5px
}

.path-search h2 {
  margin-bottom: 1em
}

.path-search ol {
  margin: 0;
  padding: 0
}

.path-search ol li {
  border-bottom: solid 1px #ddd;
  margin-bottom: 1.5em;
  max-width: 75ch;
  padding-bottom: 1em
}

#block-csd-breadcrumbs ol li:last-of-type a:after {
  content: ''
}

.layout-container {
  margin: 0 2%;
  width: 95%
}

@media screen and (min-width:767px) {
  .layout-container {
    margin: 0 auto;
    padding: 0 2.5%;
    width: 95%
  }
}

#block-csd-breadcrumbs {
  width: 95%
}

@media screen and (min-width:767px) {
  #block-csd-breadcrumbs {
    padding: 0;
    width: 100%;
    margin: 1em auto
  }
}

#views-exposed-form-all-courses-block-1,
#views-exposed-form-search-results-page-1,
#views-exposed-form-search-results-page-1 input,
#views-exposed-form-search-results-page-1 label,
#views-exposed-form-search-results-page-1 select,
#views-exposed-form-all-courses-block-2 {
  max-width: 100%
}

#views-exposed-form-all-courses-block-1,
#views-exposed-form-all-courses-block-2 input,
#views-exposed-form-all-courses-block-1,
#views-exposed-form-all-courses-block-2 label,
#views-exposed-form-all-courses-block-1,
#views-exposed-form-all-courses-block-2 select {
  -webkit-appearance: none;
  display: block
}

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

  #views-exposed-form-all-courses-block-1 input,
  #views-exposed-form-all-courses-block-1 label,
  #views-exposed-form-all-courses-block-1 select {
    display: inline-block;
    font-size: 100%;
    margin: 4px 5px 4px 0;
    padding: 2px
  }
}

#views-exposed-form-all-courses-block-1 select {
  width: 95%
}

@media screen and (min-width:767px) {
  #views-exposed-form-all-courses-block-1 select {
    width: 120px
  }
}

#block-csd-site-branding img {
  margin-top: 10px;
  width: 80%
}

@media screen and (min-width:767px) {
  #block-csd-site-branding img {
    width: 100%
  }
}

.more-link {
  display: inline
}

.more-link a {
  display: inline-block;
  text-transform: lowercase
}

.more-link a:before {
  content: '...'
}

.more-link a:after {
  content: '->'
}

iframe {
  margin: 25px auto;
  max-width: 90%
}

#block-csd-main-menu ul li:last-of-type a {
  visibility: hidden
}

#block-csd-main-menu ul li:last-of-type a:before {
  content: '\f002';
  font-family: FontAwesome;
  font-size: 1.5em;
  visibility: visible
}

.path-search #block-csd-breadcrumbs li:nth-of-type(2) {
  display: none
}

.path-taxonomy .sidebar .sidebar-menu {
  margin-left: -22px
}

.sitemap-item ul li {
  margin-top: 20px;
  font-size: 1.4em;
  line-height: 1
}

.sitemap-item ul li ul li {
  font-size: 1em;
  line-height: 1.2;
  margin-top: 10px
}

.sitemap-item ul li ul li {
  font-size: .8em;
  line-height: 1.4;
  margin-top: 5px
}

.sitemap-item li,
.sitemap-item ul {
  list-style: disc
}

.sitemap-item li>ul {
  margin-left: 0;
  padding-left: 20px
}

#edit-lang-fieldset {
  display: none
}

.form-item-send-me-a-copy-of-my-submission label {
  margin: -6px 0 0 0 !important
}

.path-search .form-item-type-announcements,
.path-search .form-item-type-award,
.path-search .form-item-type-publication,
.path-search .form-item-type-webform {
  display: none
}

article .hero__background img {
  width: 99.35%
}

article .hero__title {
  width: 99.35%
}

#block-footer .layout-container {
  margin: 20px auto;
  max-width: 1310px;
  padding: 0
}

section.accordion-group {
  background-color: #fff;
  border: solid 1px #ccc;
  margin-bottom: 30px;
  padding-bottom: 1em
}

section.accordion-group ul {
  margin: 0;
  padding: 0
}

section.accordion-group li {
  clear: both;
  display: block;
  margin: 0;
  width: 100%
}

section.accordion-group li button {
  -webkit-appearance: none;
  background-image: radial-gradient(circle farthest-corner at 90% 20%, #5a5c6a 0, #202d3a 270.3%);
  border: solid 1px #fff;
  color: #fff;
  display: block;
  font-size: 1.25em;
  font-weight: 600;
  margin: 0;
  padding: 5px 25px;
  text-align: left;
  width: 100%
}

section.accordion-group li button[aria-expanded=false]:before {
  content: '\f0da';
  font-family: "FontAwesome";
  font-size: 1em;
  padding-right: 15px;
  visibility: visible
}

section.accordion-group li button[aria-expanded=true]:before {
  content: '\f0d7';
  font-family: "FontAwesome";
  font-size: 1em;
  padding-right: 12px;
  visibility: visible
}

section.accordion-group li button:focus,
section.accordion-group li button:hover {
  cursor: pointer
}

section.accordion-group li button[aria-expanded=true] {
  background-image: radial-gradient(circle farthest-corner at 100% 20%, rgba(56, 75, 94, .98) .1%, #000780 99.8%)
}

section.accordion-group h2 {
  color: #6d6e71;
  font-size: 1.5em;
  line-height: 1em;
  padding: 15px 0 0 15px
}

section.accordion-group div[aria-hidden=true] {
  height: 0;
  max-height: 0;
  overflow: hidden;
  padding: 0 15px
}

section.accordion-group div[aria-hidden=false] {
  height: auto;
  overflow: auto;
  padding: 15px
}

article section.accordion-group div li,
article section.accordion-group div p {
  font-family: 'Open Sans', sans-serif;
  font-size: 1em;
  font-weight: 400;
  line-height: 2em
}

article section.accordion-group div ul {
  margin-left: 1em;
  padding: 0
}

article section.accordion-group div ul li {
  display: list-item;
  list-style: disc outside none;
  margin: .3em 0 .3em 1em
}

article section.accordion-group div ol {
  margin-left: 1em;
  padding: 0
}

article section.accordion-group div ol li {
  display: list-item;
  list-style: decimal;
  margin-left: 1em;
  padding: 0
}

.page__content.has-sidebar .course--full {
  background-color: #fff
}

@media screen and (max-width:767px) {

  .fc-body tr,
  .fc-head,
  .fc-head tr {
    border: none;
    padding: 0;
    margin: 0;
    empty-cells: hide;
    width: 100%
  }

  .fc-event-container td,
  .fc-event-container td:before {
    padding: 0;
    margin: 0;
    empty-cells: hide
  }

  .fc-widget-content {
    border: none;
    height: auto
  }

  .fc-widget-content .fc-content-skeleton,
  .fc-widget-content .fc-day,
  .fc-widget-content .fc-row,
  .fc-widget-content td,
  .fc-widget-content tr {
    empty-cells: hide;
    border: none
  }

  .fc-content {
    display: block;
    clear: both;
    width: 100%;
    border: none
  }

  .fc-content tr {
    padding: 0
  }

  span.fc-title {
    color: #fff
  }

  span.fc-time {
    color: #fff
  }

  .fc-unthemed .fc-content,
  .fc-unthemed .fc-divider,
  .fc-unthemed .fc-list-heading td,
  .fc-unthemed .fc-list-view,
  .fc-unthemed .fc-popover,
  .fc-unthemed .fc-row,
  .fc-unthemed tbody,
  .fc-unthemed td,
  .fc-unthemed th,
  .fc-unthemed thead {
    border: none;
    padding: 0;
    margin: 0;
    empty-cells: hide
  }

  .fc-unthemed td.fc-today {
    background: 0 0;
    empty-cells: hide
  }

  .fc td.fc-today {
    border: none;
    empty-cells: hide
  }

  .fc-content-skeleton table {
    margin: 0;
    empty-cells: hide
  }

  .fc-day-grid-event .fc-content {
    overflow: auto;
    white-space: inherit
  }

  .fc-day-grid-event .fc-content {
    padding: 1em;
    text-align: left;
    background-color: transparent
  }

  .fc-day-grid-event .fc-content a {
    background-color: transparent
  }

  .fc-view-container:before {
    content: 'Events this month';
    text-align: center;
    font-weight: 700;
    display: block;
    clear: both
  }

  span.fc-time {
    display: none
  }
}

.page-node-type-course .views-element-container header {
  font-size: 1.2em;
  font-weight: bold;
  margin: 25px 10px 10px 10px;
  padding: 0;
}

.page-node-type-course .views-element-container header p {
  margin: 0;
  padding: 0;
}

.page-node-type-course .views-element-container h3 {
  font-size: 1em;
  font-weight: bold;
  margin: 5px 10px;
}

.page-node-type-course .views-element-container div {
  font-size: 1em;
  margin: 2px 10px;
}

.page-node-type-course .views-element-container div:last-of-type {
  margin-bottom: 25px;
}

.info-cell2 .views-element-container header,
.info-cell2 .views-element-container header p {
  margin-bottom: 0;
}

.info-cell2 .views-element-container div p {
  margin: 5px 0;
}


@media screen and (min-width: 767px) {
  #block-csd-content article div .frontpage-news .item-list ul li h3 {
    font-size: 1.9rem;
  }
}

/*# sourceMappingURL=style.css.map */

.all-courses {
  display: block;
  margin: 2em 0;
}

@media screen and (min-width: 600px) {
  .all-courses {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1em;
    margin: 0;
  }
}

@media screen and (min-width: 900px) {
  .all-courses {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1em;
    margin: 0;
  }
}


.course-card {
  border: solid 1px #ddd;
  background-color: #dde9ff;
  height: 300px;
  position: relative;
}

.undergrad {
  border: solid 1px #ddd;
  background-color: #bbdadb;
  height: 300px;
}

.masters {
  border: solid 1px #ddd;
  background-color: #f4babb;
  height: 300px;
}

.course-header {
  font-weight: 700;
  font-size: 1rem;
  padding: .5em;
  background-color: #111;
  color: #FFF;
  display: grid;
  grid-template-columns: 60px 2fr 50px;
  gap: 0.25em;
}

.course-units,
.course-id {
  text-align: center;
}

.course-last-offered {
  text-align: right;
  display: block;
  /* margin-right: 2em; */
  position: absolute;
  bottom: 1em;
  right: 1em;
}

.course-last-offered::before {
  /* content: 'Last Offered: ';
  color: #666;
  font-style: italic; */
}

.course-details {
  font-size: 1rem;
  padding: 0.5em 2em;
  line-height: 1.75;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0.5em 0.25em;
}

.course-readmore {
  font-size: 1rem;
  padding: 0.5em 2em;
  line-height: 1.75;
  margin: 0.5em 0.25em;
  font-weight: 700;
  opacity: 0;
}

.course-id::before {
  content: 'Course ID';
  display: block;
  color: #aaa;
  font-style: italic;
  font-size: .7rem;
}

.course-title {
  text-wrap: balance;
}

.course-title::before {
  content: 'Course Title';
  display: block;
  color: #aaa;
  font-style: italic;
  font-size: .7rem;
}

.course-units::before {
  content: 'Units';
  display: block;
  color: #aaa;
  font-style: italic;
  font-size: .7rem;
}

.course-card-fulllink {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  display: block;
  z-index: 3;
  width: 100%;
}

.course-card-fulllink::hover,
.course-card-fulllink::focus {
  border: solid 2px #000;
}

.all-courses div:hover .course-readmore,
.all-courses div:focus .course-readmore,
.all-courses div:focus-within .course-readmore {
  text-decoration: underline;
  opacity: 1;
}

a:[href$="https://"]::after,
a:[href$="http://"]::after {
  border-bottom: none;
  content: "\f2d2";
  font-family: FontAwesome !important;
  font-size: 80%;
  font-weight: 100;
  margin-left: 5px
}

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

  #views-exposed-form-all-courses-block-2 input,
  #views-exposed-form-all-courses-block-2 label,
  #views-exposed-form-all-courses-block-2 select {
    display: inline-block;
    font-size: 100%;
    margin: 4px 5px 4px 0;
    padding: 2px
  }
}

#views-exposed-form-all-courses-block-2 select {
  width: 95%
}

@media screen and (min-width:767px) {
  #views-exposed-form-all-courses-block-2 select {
    width: 120px
  }
}


.search-results .views-row {
  margin-bottom: 1em;
  padding-bottom: 1em;
  border-bottom: solid 1px #eee;
  max-width: 72ch;
}

.search-results .views-row h2 {
  font-size: 1em;
  line-height: 1.3;
  margin-bottom: 0;
}

.search-results .views-row div {
  font-size: .9rem;
  line-height: 1.5;
  margin: 0;
  padding: 0;
}

input::placeholder {
  color: #aaa;
  font-style: italic;
}


#views-exposed-form-search-results-page-1 input,
#views-exposed-form-search-results-page-1 select,
#views-exposed-form-search-results-page-1 div,
#views-exposed-form-search-results-page-1 label
{
  display: inline-block;
  margin-right 20px;
}

#views-exposed-form-search-results-page-1 input, #views-exposed-form-search-results-page-1 select {
  padding: 2px;
}

#views-exposed-form-search-results-page-1 input#edit-submit-search-results, #views-exposed-form-search-results-page-1 input#edit-reset {
  margin-top: -3px;
  padding: 5px 10px;
}
#views-exposed-form-search-results-page-1 label {
  margin-top: 2px;
}

.path-people main .views-element-container header a.current {
  color: #981b1d;
}
/* .news-full h1, .course--full h1 {
  font-size: 2.3rem;
  text-transform: none;
} */
.pub-teasers {
  margin-top: 1em;
}
.publication-teaser h3 {
  font-size: .7rem;
  color: #ccc;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin: 1em 0 .25em 0;
  padding: 0;
  font-weight: 400;
}
.publication-teaser h3 a {
  font-weight: 400;
  color: red;

}

.publication-teaser p {
  margin: 0;
  font-size: 1rem;
  border: none;
  padding:0;
}
.publication-teaser .meta {
  font-size: .9rem;
  line-height: 1.7;
  margin-bottom: 1.5em;
}

/* people list */
.views-field-views-conditional-field img {
  border-radius: 50%;
  width: 200px;
  max-width: 200px;
  height: 200px;
  object-fit: cover;
  padding: 5%;
  aspect-ratio: 1 / 1;
}

td.views-field.views-field-views-conditional-field {
  text-align: center;
}

@media screen and (max-width: 768px) {
.tablefield td, table td, table.cols-3 td {
  border-bottom: solid 1px #eee;
  display: block;
  padding-right: 25px;
  text-align: center;
  }
  .tablefield.directory-people td:before {
    color: #ccc;
  }
}

.page-node-type-course h1, .event-full h1, .page-node-type-event h1,  .news-full h1, .person-full h1 {
  font-size: 2rem;
  text-transform: none;
}
sup, sub {
font-size: .6em;
}
sup {
  vertical-align: super;
}

sub {
  vertical-align: sub;
}
span.red {
  color: #990000;
}
span.green {
  color: #009900;
}
