/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%
}

body {
  margin: 0
}

main {
  display: block
}

h1 {
  font-size: 2em;
  margin: .67em 0
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible
}

pre {
  font-family: monospace;
  font-size: 1em
}

a {
  background-color: transparent
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted
}

b, strong {
  font-weight: bolder
}

code, kbd, samp {
  font-family: monospace;
  font-size: 1em
}

small {
  font-size: 80%
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sub {
  bottom: -.25em
}

sup {
  top: -.5em
}

img {
  border-style: none
}

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0
}

button, input {
  overflow: visible
}

button, select {
  text-transform: none
}

[type=button], [type=reset], [type=submit], button {
  -webkit-appearance: button
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
  outline: 1px dotted ButtonText
}

fieldset {
  padding: .35em .75em .625em
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal
}

progress {
  vertical-align: baseline
}

textarea {
  overflow: auto
}

[type=checkbox], [type=radio] {
  box-sizing: border-box;
  padding: 0
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}

details {
  display: block
}

summary {
  display: list-item
}

[hidden], template {
  display: none
}

@font-face {
  font-family: Open Sans;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: local("Open Sans Light"), local("OpenSans-Light"), url(/media/tcd/site-assets/fonts/open-sans-latin-300.woff2) format("woff2"), url(/media/tcd/site-assets/fonts/open-sans-latin-300.woff) format("woff")
}

@font-face {
  font-family: Open Sans;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local("Open Sans Regular"), local("OpenSans-Regular"), url(/media/tcd/site-assets/fonts/open-sans-latin-regular.woff2) format("woff2"), url(/media/tcd/site-assets/fonts/open-sans-latin-regular.woff) format("woff")
}

@font-face {
  font-family: Open Sans;
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: local("Open Sans Italic"), local("OpenSans-Italic"), url(/media/tcd/site-assets/fonts/open-sans-latin-italic.woff2) format("woff2"), url(/media/tcd/site-assets/fonts/open-sans-latin-regular.woff) format("woff")
}

@font-face {
  font-family: Open Sans;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local("Open Sans Bold"), local("OpenSans-Bold"), url(/media/tcd/site-assets/fonts/open-sans-latin-700.woff2) format("woff2"), url(/media/tcd/site-assets/fonts/open-sans-latin-700.woff) format("woff")
}

@font-face {
  font-family: Source Sans Pro;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: local("Source Sans Pro Light"), local("SourceSansPro-Light"), url(/media/tcd/site-assets/fonts/source-sans-pro-latin-300.woff2) format("woff2"), url(/media/tcd/site-assets/fonts/source-sans-pro-latin-300.woff) format("woff")
}

@font-face {
  font-family: Source Sans Pro;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local("Source Sans Pro Regular"), local("SourceSansPro-Regular"), url(/media/tcd/site-assets/fonts/source-sans-pro-latin-regular.woff2) format("woff2"), url(/media/tcd/site-assets/fonts/source-sans-pro-latin-regular.woff) format("woff")
}

@font-face {
  font-family: Source Sans Pro;
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: local("Source Sans Pro Italic"), local("SourceSansPro-Italic"), url(/media/tcd/site-assets/fonts/source-sans-pro-latin-italic.woff2) format("woff2"), url(/media/tcd/site-assets/fonts/source-sans-pro-latin-italic.woff) format("woff")
}

body {
  font-family: Open Sans, serif;
  font-size: 17px;
  line-height: 1.25;
  letter-spacing: .3px
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  font-family: Source Sans Pro, sans-serif;
  font-weight: 700;
  margin: 0 0 10px;
  color: #36434d;
  line-height: normal
}

.h1, h1 {
  font-size: 33px
}

.h2, h2 {
  font-size: 30px
}

.h3, h3 {
  font-size: 25px
}

.h4, h4 {
  font-size: 21px
}

.h5, h5 {
  font-size: 17px
}

.h6, h6, p {
  font-size: 1pc
}

p {
  line-height: 1.75;
  letter-spacing: .3px;
  color: #53565a;
  margin: 0 0 30px
}

small {
  font-size: 15px
}

main a {
  color: #0569b9;
  text-decoration: underline;
  cursor: pointer
}

main a:hover {
  text-decoration: none
}

main ul {
  margin-bottom: 30px
}

main ul li {
  color: #53565a;
  margin-bottom: 8px
}

:-ms-input-placeholder, ::-moz-placeholder, ::-ms-input-placeholder, ::-webkit-input-placeholder, ::placeholder {
  color: #355458
}

@media (min-width:992px) {
  .h1, .h2, .h3, .h4, .h5, .h6, body, h1, h2, h3, h4, h5, h6 {
    line-height: 1.25
  }

  .h1, h1 {
    font-size: 38px
  }

  .h2, h2 {
    font-size: 33px
  }

  .h3, h3 {
    font-size: 28px
  }

  .h4, h4 {
    font-size: 23px
  }

  .h5, h5 {
    font-size: 18px
  }

  .h6, h6, p {
    font-size: 17px
  }
}

/*!
 * Bootstrap Grid v4.5.2 (https://getbootstrap.com/)
 * Copyright 2011-2020 The Bootstrap Authors
 * Copyright 2011-2020 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
html {
  box-sizing: border-box;
  -ms-overflow-style: scrollbar
}

*, :after, :before {
  box-sizing: inherit
}

.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto
}

@media (min-width:576px) {
  .container, .container-sm {
    max-width: 540px
  }
}

@media (min-width:768px) {
  .container, .container-md, .container-sm {
    max-width: 45pc
  }
}

@media (min-width:992px) {
  .container, .container-lg, .container-md, .container-sm {
    max-width: 60pc
  }
}

@media (min-width:1200px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl {
    max-width: 855pt
  }
}

.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px
}

.no-gutters {
  margin-right: 0;
  margin-left: 0
}

.no-gutters>.col, .no-gutters>[class*=col-] {
  padding-right: 0;
  padding-left: 0
}

.col, .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col-auto, .col-lg, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-auto, .col-md, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md-auto, .col-sm, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-auto {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px
}

.col {
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -ms-flex-positive: 1;
  flex-grow: 1;
  max-width: 100%
}

.row-cols-1>* {
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%
}

.row-cols-2>* {
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%
}

.row-cols-3>* {
  -ms-flex: 0 0 33.333333%;
  flex: 0 0 33.333333%;
  max-width: 33.333333%
}

.row-cols-4>* {
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%
}

.row-cols-5>* {
  -ms-flex: 0 0 20%;
  flex: 0 0 20%;
  max-width: 20%
}

.row-cols-6>* {
  -ms-flex: 0 0 16.666667%;
  flex: 0 0 16.666667%;
  max-width: 16.666667%
}

.col-auto {
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: auto;
  max-width: 100%
}

.col-1 {
  -ms-flex: 0 0 8.333333%;
  flex: 0 0 8.333333%;
  max-width: 8.333333%
}

.col-2 {
  -ms-flex: 0 0 16.666667%;
  flex: 0 0 16.666667%;
  max-width: 16.666667%
}

.col-3 {
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%
}

.col-4 {
  -ms-flex: 0 0 33.333333%;
  flex: 0 0 33.333333%;
  max-width: 33.333333%
}

.col-5 {
  -ms-flex: 0 0 41.666667%;
  flex: 0 0 41.666667%;
  max-width: 41.666667%
}

.col-6 {
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%
}

.col-7 {
  -ms-flex: 0 0 58.333333%;
  flex: 0 0 58.333333%;
  max-width: 58.333333%
}

.col-8 {
  -ms-flex: 0 0 66.666667%;
  flex: 0 0 66.666667%;
  max-width: 66.666667%
}

.col-9 {
  -ms-flex: 0 0 75%;
  flex: 0 0 75%;
  max-width: 75%
}

.col-10 {
  -ms-flex: 0 0 83.333333%;
  flex: 0 0 83.333333%;
  max-width: 83.333333%
}

.col-11 {
  -ms-flex: 0 0 91.666667%;
  flex: 0 0 91.666667%;
  max-width: 91.666667%
}

.col-12 {
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%
}

.order-first {
  -ms-flex-order: -1;
  order: -1
}

.order-last {
  -ms-flex-order: 13;
  order: 13
}

.order-0 {
  -ms-flex-order: 0;
  order: 0
}

.order-1 {
  -ms-flex-order: 1;
  order: 1
}

.order-2 {
  -ms-flex-order: 2;
  order: 2
}

.order-3 {
  -ms-flex-order: 3;
  order: 3
}

.order-4 {
  -ms-flex-order: 4;
  order: 4
}

.order-5 {
  -ms-flex-order: 5;
  order: 5
}

.order-6 {
  -ms-flex-order: 6;
  order: 6
}

.order-7 {
  -ms-flex-order: 7;
  order: 7
}

.order-8 {
  -ms-flex-order: 8;
  order: 8
}

.order-9 {
  -ms-flex-order: 9;
  order: 9
}

.order-10 {
  -ms-flex-order: 10;
  order: 10
}

.order-11 {
  -ms-flex-order: 11;
  order: 11
}

.order-12 {
  -ms-flex-order: 12;
  order: 12
}

.offset-1 {
  margin-left: 8.333333%
}

.offset-2 {
  margin-left: 16.666667%
}

.offset-3 {
  margin-left: 25%
}

.offset-4 {
  margin-left: 33.333333%
}

.offset-5 {
  margin-left: 41.666667%
}

.offset-6 {
  margin-left: 50%
}

.offset-7 {
  margin-left: 58.333333%
}

.offset-8 {
  margin-left: 66.666667%
}

.offset-9 {
  margin-left: 75%
}

.offset-10 {
  margin-left: 83.333333%
}

.offset-11 {
  margin-left: 91.666667%
}

@media (min-width:576px) {
  .col-sm {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%
  }

  .row-cols-sm-1>* {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
  }

  .row-cols-sm-2>* {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
  }

  .row-cols-sm-3>* {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }

  .row-cols-sm-4>* {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
  }

  .row-cols-sm-5>* {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%
  }

  .row-cols-sm-6>* {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%
  }

  .col-sm-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%
  }

  .col-sm-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%
  }

  .col-sm-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%
  }

  .col-sm-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
  }

  .col-sm-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }

  .col-sm-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%
  }

  .col-sm-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
  }

  .col-sm-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%
  }

  .col-sm-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%
  }

  .col-sm-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%
  }

  .col-sm-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%
  }

  .col-sm-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%
  }

  .col-sm-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
  }

  .order-sm-first {
    -ms-flex-order: -1;
    order: -1
  }

  .order-sm-last {
    -ms-flex-order: 13;
    order: 13
  }

  .order-sm-0 {
    -ms-flex-order: 0;
    order: 0
  }

  .order-sm-1 {
    -ms-flex-order: 1;
    order: 1
  }

  .order-sm-2 {
    -ms-flex-order: 2;
    order: 2
  }

  .order-sm-3 {
    -ms-flex-order: 3;
    order: 3
  }

  .order-sm-4 {
    -ms-flex-order: 4;
    order: 4
  }

  .order-sm-5 {
    -ms-flex-order: 5;
    order: 5
  }

  .order-sm-6 {
    -ms-flex-order: 6;
    order: 6
  }

  .order-sm-7 {
    -ms-flex-order: 7;
    order: 7
  }

  .order-sm-8 {
    -ms-flex-order: 8;
    order: 8
  }

  .order-sm-9 {
    -ms-flex-order: 9;
    order: 9
  }

  .order-sm-10 {
    -ms-flex-order: 10;
    order: 10
  }

  .order-sm-11 {
    -ms-flex-order: 11;
    order: 11
  }

  .order-sm-12 {
    -ms-flex-order: 12;
    order: 12
  }

  .offset-sm-0 {
    margin-left: 0
  }

  .offset-sm-1 {
    margin-left: 8.333333%
  }

  .offset-sm-2 {
    margin-left: 16.666667%
  }

  .offset-sm-3 {
    margin-left: 25%
  }

  .offset-sm-4 {
    margin-left: 33.333333%
  }

  .offset-sm-5 {
    margin-left: 41.666667%
  }

  .offset-sm-6 {
    margin-left: 50%
  }

  .offset-sm-7 {
    margin-left: 58.333333%
  }

  .offset-sm-8 {
    margin-left: 66.666667%
  }

  .offset-sm-9 {
    margin-left: 75%
  }

  .offset-sm-10 {
    margin-left: 83.333333%
  }

  .offset-sm-11 {
    margin-left: 91.666667%
  }
}

@media (min-width:768px) {
  .col-md {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%
  }

  .row-cols-md-1>* {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
  }

  .row-cols-md-2>* {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
  }

  .row-cols-md-3>* {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }

  .row-cols-md-4>* {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
  }

  .row-cols-md-5>* {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%
  }

  .row-cols-md-6>* {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%
  }

  .col-md-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%
  }

  .col-md-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%
  }

  .col-md-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%
  }

  .col-md-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
  }

  .col-md-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }

  .col-md-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%
  }

  .col-md-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
  }

  .col-md-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%
  }

  .col-md-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%
  }

  .col-md-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%
  }

  .col-md-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%
  }

  .col-md-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%
  }

  .col-md-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
  }

  .order-md-first {
    -ms-flex-order: -1;
    order: -1
  }

  .order-md-last {
    -ms-flex-order: 13;
    order: 13
  }

  .order-md-0 {
    -ms-flex-order: 0;
    order: 0
  }

  .order-md-1 {
    -ms-flex-order: 1;
    order: 1
  }

  .order-md-2 {
    -ms-flex-order: 2;
    order: 2
  }

  .order-md-3 {
    -ms-flex-order: 3;
    order: 3
  }

  .order-md-4 {
    -ms-flex-order: 4;
    order: 4
  }

  .order-md-5 {
    -ms-flex-order: 5;
    order: 5
  }

  .order-md-6 {
    -ms-flex-order: 6;
    order: 6
  }

  .order-md-7 {
    -ms-flex-order: 7;
    order: 7
  }

  .order-md-8 {
    -ms-flex-order: 8;
    order: 8
  }

  .order-md-9 {
    -ms-flex-order: 9;
    order: 9
  }

  .order-md-10 {
    -ms-flex-order: 10;
    order: 10
  }

  .order-md-11 {
    -ms-flex-order: 11;
    order: 11
  }

  .order-md-12 {
    -ms-flex-order: 12;
    order: 12
  }

  .offset-md-0 {
    margin-left: 0
  }

  .offset-md-1 {
    margin-left: 8.333333%
  }

  .offset-md-2 {
    margin-left: 16.666667%
  }

  .offset-md-3 {
    margin-left: 25%
  }

  .offset-md-4 {
    margin-left: 33.333333%
  }

  .offset-md-5 {
    margin-left: 41.666667%
  }

  .offset-md-6 {
    margin-left: 50%
  }

  .offset-md-7 {
    margin-left: 58.333333%
  }

  .offset-md-8 {
    margin-left: 66.666667%
  }

  .offset-md-9 {
    margin-left: 75%
  }

  .offset-md-10 {
    margin-left: 83.333333%
  }

  .offset-md-11 {
    margin-left: 91.666667%
  }
}

@media (min-width:992px) {
  .col-lg {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%
  }

  .row-cols-lg-1>* {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
  }

  .row-cols-lg-2>* {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
  }

  .row-cols-lg-3>* {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }

  .row-cols-lg-4>* {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
  }

  .row-cols-lg-5>* {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%
  }

  .row-cols-lg-6>* {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%
  }

  .col-lg-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%
  }

  .col-lg-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%
  }

  .col-lg-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%
  }

  .col-lg-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
  }

  .col-lg-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }

  .col-lg-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%
  }

  .col-lg-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
  }

  .col-lg-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%
  }

  .col-lg-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%
  }

  .col-lg-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%
  }

  .col-lg-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%
  }

  .col-lg-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%
  }

  .col-lg-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
  }

  .order-lg-first {
    -ms-flex-order: -1;
    order: -1
  }

  .order-lg-last {
    -ms-flex-order: 13;
    order: 13
  }

  .order-lg-0 {
    -ms-flex-order: 0;
    order: 0
  }

  .order-lg-1 {
    -ms-flex-order: 1;
    order: 1
  }

  .order-lg-2 {
    -ms-flex-order: 2;
    order: 2
  }

  .order-lg-3 {
    -ms-flex-order: 3;
    order: 3
  }

  .order-lg-4 {
    -ms-flex-order: 4;
    order: 4
  }

  .order-lg-5 {
    -ms-flex-order: 5;
    order: 5
  }

  .order-lg-6 {
    -ms-flex-order: 6;
    order: 6
  }

  .order-lg-7 {
    -ms-flex-order: 7;
    order: 7
  }

  .order-lg-8 {
    -ms-flex-order: 8;
    order: 8
  }

  .order-lg-9 {
    -ms-flex-order: 9;
    order: 9
  }

  .order-lg-10 {
    -ms-flex-order: 10;
    order: 10
  }

  .order-lg-11 {
    -ms-flex-order: 11;
    order: 11
  }

  .order-lg-12 {
    -ms-flex-order: 12;
    order: 12
  }

  .offset-lg-0 {
    margin-left: 0
  }

  .offset-lg-1 {
    margin-left: 8.333333%
  }

  .offset-lg-2 {
    margin-left: 16.666667%
  }

  .offset-lg-3 {
    margin-left: 25%
  }

  .offset-lg-4 {
    margin-left: 33.333333%
  }

  .offset-lg-5 {
    margin-left: 41.666667%
  }

  .offset-lg-6 {
    margin-left: 50%
  }

  .offset-lg-7 {
    margin-left: 58.333333%
  }

  .offset-lg-8 {
    margin-left: 66.666667%
  }

  .offset-lg-9 {
    margin-left: 75%
  }

  .offset-lg-10 {
    margin-left: 83.333333%
  }

  .offset-lg-11 {
    margin-left: 91.666667%
  }
}

@media (min-width:1200px) {
  .col-xl {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%
  }

  .row-cols-xl-1>* {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
  }

  .row-cols-xl-2>* {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
  }

  .row-cols-xl-3>* {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }

  .row-cols-xl-4>* {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
  }

  .row-cols-xl-5>* {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%
  }

  .row-cols-xl-6>* {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%
  }

  .col-xl-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%
  }

  .col-xl-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%
  }

  .col-xl-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%
  }

  .col-xl-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
  }

  .col-xl-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }

  .col-xl-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%
  }

  .col-xl-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
  }

  .col-xl-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%
  }

  .col-xl-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%
  }

  .col-xl-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%
  }

  .col-xl-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%
  }

  .col-xl-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%
  }

  .col-xl-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
  }

  .order-xl-first {
    -ms-flex-order: -1;
    order: -1
  }

  .order-xl-last {
    -ms-flex-order: 13;
    order: 13
  }

  .order-xl-0 {
    -ms-flex-order: 0;
    order: 0
  }

  .order-xl-1 {
    -ms-flex-order: 1;
    order: 1
  }

  .order-xl-2 {
    -ms-flex-order: 2;
    order: 2
  }

  .order-xl-3 {
    -ms-flex-order: 3;
    order: 3
  }

  .order-xl-4 {
    -ms-flex-order: 4;
    order: 4
  }

  .order-xl-5 {
    -ms-flex-order: 5;
    order: 5
  }

  .order-xl-6 {
    -ms-flex-order: 6;
    order: 6
  }

  .order-xl-7 {
    -ms-flex-order: 7;
    order: 7
  }

  .order-xl-8 {
    -ms-flex-order: 8;
    order: 8
  }

  .order-xl-9 {
    -ms-flex-order: 9;
    order: 9
  }

  .order-xl-10 {
    -ms-flex-order: 10;
    order: 10
  }

  .order-xl-11 {
    -ms-flex-order: 11;
    order: 11
  }

  .order-xl-12 {
    -ms-flex-order: 12;
    order: 12
  }

  .offset-xl-0 {
    margin-left: 0
  }

  .offset-xl-1 {
    margin-left: 8.333333%
  }

  .offset-xl-2 {
    margin-left: 16.666667%
  }

  .offset-xl-3 {
    margin-left: 25%
  }

  .offset-xl-4 {
    margin-left: 33.333333%
  }

  .offset-xl-5 {
    margin-left: 41.666667%
  }

  .offset-xl-6 {
    margin-left: 50%
  }

  .offset-xl-7 {
    margin-left: 58.333333%
  }

  .offset-xl-8 {
    margin-left: 66.666667%
  }

  .offset-xl-9 {
    margin-left: 75%
  }

  .offset-xl-10 {
    margin-left: 83.333333%
  }

  .offset-xl-11 {
    margin-left: 91.666667%
  }
}

.d-none {
  display: none !important
}

.d-inline {
  display: inline !important
}

.d-inline-block {
  display: inline-block !important
}

.d-block {
  display: block !important
}

.d-table {
  display: table !important
}

.d-table-row {
  display: table-row !important
}

.d-table-cell {
  display: table-cell !important
}

.d-flex {
  display: -ms-flexbox !important;
  display: flex !important
}

.d-inline-flex {
  display: -ms-inline-flexbox !important;
  display: inline-flex !important
}

@media (min-width:576px) {
  .d-sm-none {
    display: none !important
  }

  .d-sm-inline {
    display: inline !important
  }

  .d-sm-inline-block {
    display: inline-block !important
  }

  .d-sm-block {
    display: block !important
  }

  .d-sm-table {
    display: table !important
  }

  .d-sm-table-row {
    display: table-row !important
  }

  .d-sm-table-cell {
    display: table-cell !important
  }

  .d-sm-flex {
    display: -ms-flexbox !important;
    display: flex !important
  }

  .d-sm-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important
  }
}

@media (min-width:768px) {
  .d-md-none {
    display: none !important
  }

  .d-md-inline {
    display: inline !important
  }

  .d-md-inline-block {
    display: inline-block !important
  }

  .d-md-block {
    display: block !important
  }

  .d-md-table {
    display: table !important
  }

  .d-md-table-row {
    display: table-row !important
  }

  .d-md-table-cell {
    display: table-cell !important
  }

  .d-md-flex {
    display: -ms-flexbox !important;
    display: flex !important
  }

  .d-md-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important
  }
}

@media (min-width:992px) {
  .d-lg-none {
    display: none !important
  }

  .d-lg-inline {
    display: inline !important
  }

  .d-lg-inline-block {
    display: inline-block !important
  }

  .d-lg-block {
    display: block !important
  }

  .d-lg-table {
    display: table !important
  }

  .d-lg-table-row {
    display: table-row !important
  }

  .d-lg-table-cell {
    display: table-cell !important
  }

  .d-lg-flex {
    display: -ms-flexbox !important;
    display: flex !important
  }

  .d-lg-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important
  }
}

@media (min-width:1200px) {
  .d-xl-none {
    display: none !important
  }

  .d-xl-inline {
    display: inline !important
  }

  .d-xl-inline-block {
    display: inline-block !important
  }

  .d-xl-block {
    display: block !important
  }

  .d-xl-table {
    display: table !important
  }

  .d-xl-table-row {
    display: table-row !important
  }

  .d-xl-table-cell {
    display: table-cell !important
  }

  .d-xl-flex {
    display: -ms-flexbox !important;
    display: flex !important
  }

  .d-xl-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important
  }
}

@media print {
  .d-print-none {
    display: none !important
  }

  .d-print-inline {
    display: inline !important
  }

  .d-print-inline-block {
    display: inline-block !important
  }

  .d-print-block {
    display: block !important
  }

  .d-print-table {
    display: table !important
  }

  .d-print-table-row {
    display: table-row !important
  }

  .d-print-table-cell {
    display: table-cell !important
  }

  .d-print-flex {
    display: -ms-flexbox !important;
    display: flex !important
  }

  .d-print-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important
  }
}

.flex-row {
  -ms-flex-direction: row !important;
  flex-direction: row !important
}

.flex-column {
  -ms-flex-direction: column !important;
  flex-direction: column !important
}

.flex-row-reverse {
  -ms-flex-direction: row-reverse !important;
  flex-direction: row-reverse !important
}

.flex-column-reverse {
  -ms-flex-direction: column-reverse !important;
  flex-direction: column-reverse !important
}

.flex-wrap {
  -ms-flex-wrap: wrap !important;
  flex-wrap: wrap !important
}

.flex-nowrap {
  -ms-flex-wrap: nowrap !important;
  flex-wrap: nowrap !important
}

.flex-wrap-reverse {
  -ms-flex-wrap: wrap-reverse !important;
  flex-wrap: wrap-reverse !important
}

.flex-fill {
  -ms-flex: 1 1 auto !important;
  flex: 1 1 auto !important
}

.flex-grow-0 {
  -ms-flex-positive: 0 !important;
  flex-grow: 0 !important
}

.flex-grow-1 {
  -ms-flex-positive: 1 !important;
  flex-grow: 1 !important
}

.flex-shrink-0 {
  -ms-flex-negative: 0 !important;
  flex-shrink: 0 !important
}

.flex-shrink-1 {
  -ms-flex-negative: 1 !important;
  flex-shrink: 1 !important
}

.justify-content-start {
  -ms-flex-pack: start !important;
  justify-content: flex-start !important
}

.justify-content-end {
  -ms-flex-pack: end !important;
  justify-content: flex-end !important
}

.justify-content-center {
  -ms-flex-pack: center !important;
  justify-content: center !important
}

.justify-content-between {
  -ms-flex-pack: justify !important;
  justify-content: space-between !important
}

.justify-content-around {
  -ms-flex-pack: distribute !important;
  justify-content: space-around !important
}

.align-items-start {
  -ms-flex-align: start !important;
  align-items: flex-start !important
}

.align-items-end {
  -ms-flex-align: end !important;
  align-items: flex-end !important
}

.align-items-center {
  -ms-flex-align: center !important;
  align-items: center !important
}

.align-items-baseline {
  -ms-flex-align: baseline !important;
  align-items: baseline !important
}

.align-items-stretch {
  -ms-flex-align: stretch !important;
  align-items: stretch !important
}

.align-content-start {
  -ms-flex-line-pack: start !important;
  align-content: flex-start !important
}

.align-content-end {
  -ms-flex-line-pack: end !important;
  align-content: flex-end !important
}

.align-content-center {
  -ms-flex-line-pack: center !important;
  align-content: center !important
}

.align-content-between {
  -ms-flex-line-pack: justify !important;
  align-content: space-between !important
}

.align-content-around {
  -ms-flex-line-pack: distribute !important;
  align-content: space-around !important
}

.align-content-stretch {
  -ms-flex-line-pack: stretch !important;
  align-content: stretch !important
}

.align-self-auto {
  -ms-flex-item-align: auto !important;
  align-self: auto !important
}

.align-self-start {
  -ms-flex-item-align: start !important;
  align-self: flex-start !important
}

.align-self-end {
  -ms-flex-item-align: end !important;
  align-self: flex-end !important
}

.align-self-center {
  -ms-flex-item-align: center !important;
  align-self: center !important
}

.align-self-baseline {
  -ms-flex-item-align: baseline !important;
  align-self: baseline !important
}

.align-self-stretch {
  -ms-flex-item-align: stretch !important;
  align-self: stretch !important
}

@media (min-width:576px) {
  .flex-sm-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important
  }

  .flex-sm-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important
  }

  .flex-sm-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important
  }

  .flex-sm-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important
  }

  .flex-sm-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important
  }

  .flex-sm-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important
  }

  .flex-sm-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important
  }

  .flex-sm-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important
  }

  .flex-sm-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important
  }

  .flex-sm-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important
  }

  .flex-sm-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important
  }

  .flex-sm-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important
  }

  .justify-content-sm-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important
  }

  .justify-content-sm-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important
  }

  .justify-content-sm-center {
    -ms-flex-pack: center !important;
    justify-content: center !important
  }

  .justify-content-sm-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important
  }

  .justify-content-sm-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important
  }

  .align-items-sm-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important
  }

  .align-items-sm-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important
  }

  .align-items-sm-center {
    -ms-flex-align: center !important;
    align-items: center !important
  }

  .align-items-sm-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important
  }

  .align-items-sm-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important
  }

  .align-content-sm-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important
  }

  .align-content-sm-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important
  }

  .align-content-sm-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important
  }

  .align-content-sm-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important
  }

  .align-content-sm-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important
  }

  .align-content-sm-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important
  }

  .align-self-sm-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important
  }

  .align-self-sm-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important
  }

  .align-self-sm-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important
  }

  .align-self-sm-center {
    -ms-flex-item-align: center !important;
    align-self: center !important
  }

  .align-self-sm-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important
  }

  .align-self-sm-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important
  }
}

@media (min-width:768px) {
  .flex-md-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important
  }

  .flex-md-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important
  }

  .flex-md-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important
  }

  .flex-md-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important
  }

  .flex-md-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important
  }

  .flex-md-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important
  }

  .flex-md-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important
  }

  .flex-md-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important
  }

  .flex-md-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important
  }

  .flex-md-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important
  }

  .flex-md-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important
  }

  .flex-md-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important
  }

  .justify-content-md-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important
  }

  .justify-content-md-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important
  }

  .justify-content-md-center {
    -ms-flex-pack: center !important;
    justify-content: center !important
  }

  .justify-content-md-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important
  }

  .justify-content-md-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important
  }

  .align-items-md-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important
  }

  .align-items-md-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important
  }

  .align-items-md-center {
    -ms-flex-align: center !important;
    align-items: center !important
  }

  .align-items-md-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important
  }

  .align-items-md-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important
  }

  .align-content-md-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important
  }

  .align-content-md-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important
  }

  .align-content-md-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important
  }

  .align-content-md-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important
  }

  .align-content-md-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important
  }

  .align-content-md-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important
  }

  .align-self-md-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important
  }

  .align-self-md-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important
  }

  .align-self-md-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important
  }

  .align-self-md-center {
    -ms-flex-item-align: center !important;
    align-self: center !important
  }

  .align-self-md-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important
  }

  .align-self-md-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important
  }
}

@media (min-width:992px) {
  .flex-lg-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important
  }

  .flex-lg-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important
  }

  .flex-lg-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important
  }

  .flex-lg-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important
  }

  .flex-lg-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important
  }

  .flex-lg-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important
  }

  .flex-lg-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important
  }

  .flex-lg-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important
  }

  .flex-lg-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important
  }

  .flex-lg-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important
  }

  .flex-lg-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important
  }

  .flex-lg-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important
  }

  .justify-content-lg-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important
  }

  .justify-content-lg-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important
  }

  .justify-content-lg-center {
    -ms-flex-pack: center !important;
    justify-content: center !important
  }

  .justify-content-lg-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important
  }

  .justify-content-lg-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important
  }

  .align-items-lg-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important
  }

  .align-items-lg-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important
  }

  .align-items-lg-center {
    -ms-flex-align: center !important;
    align-items: center !important
  }

  .align-items-lg-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important
  }

  .align-items-lg-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important
  }

  .align-content-lg-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important
  }

  .align-content-lg-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important
  }

  .align-content-lg-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important
  }

  .align-content-lg-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important
  }

  .align-content-lg-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important
  }

  .align-content-lg-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important
  }

  .align-self-lg-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important
  }

  .align-self-lg-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important
  }

  .align-self-lg-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important
  }

  .align-self-lg-center {
    -ms-flex-item-align: center !important;
    align-self: center !important
  }

  .align-self-lg-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important
  }

  .align-self-lg-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important
  }
}

@media (min-width:1200px) {
  .flex-xl-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important
  }

  .flex-xl-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important
  }

  .flex-xl-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important
  }

  .flex-xl-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important
  }

  .flex-xl-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important
  }

  .flex-xl-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important
  }

  .flex-xl-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important
  }

  .flex-xl-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important
  }

  .flex-xl-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important
  }

  .flex-xl-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important
  }

  .flex-xl-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important
  }

  .flex-xl-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important
  }

  .justify-content-xl-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important
  }

  .justify-content-xl-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important
  }

  .justify-content-xl-center {
    -ms-flex-pack: center !important;
    justify-content: center !important
  }

  .justify-content-xl-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important
  }

  .justify-content-xl-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important
  }

  .align-items-xl-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important
  }

  .align-items-xl-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important
  }

  .align-items-xl-center {
    -ms-flex-align: center !important;
    align-items: center !important
  }

  .align-items-xl-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important
  }

  .align-items-xl-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important
  }

  .align-content-xl-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important
  }

  .align-content-xl-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important
  }

  .align-content-xl-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important
  }

  .align-content-xl-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important
  }

  .align-content-xl-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important
  }

  .align-content-xl-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important
  }

  .align-self-xl-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important
  }

  .align-self-xl-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important
  }

  .align-self-xl-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important
  }

  .align-self-xl-center {
    -ms-flex-item-align: center !important;
    align-self: center !important
  }

  .align-self-xl-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important
  }

  .align-self-xl-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important
  }
}

.m-0 {
  margin: 0 !important
}

.mt-0, .my-0 {
  margin-top: 0 !important
}

.mr-0, .mx-0 {
  margin-right: 0 !important
}

.mb-0, .my-0 {
  margin-bottom: 0 !important
}

.ml-0, .mx-0 {
  margin-left: 0 !important
}

.m-1 {
  margin: .25rem !important
}

.mt-1, .my-1 {
  margin-top: .25rem !important
}

.mr-1, .mx-1 {
  margin-right: .25rem !important
}

.mb-1, .my-1 {
  margin-bottom: .25rem !important
}

.ml-1, .mx-1 {
  margin-left: .25rem !important
}

.m-2 {
  margin: .5rem !important
}

.mt-2, .my-2 {
  margin-top: .5rem !important
}

.mr-2, .mx-2 {
  margin-right: .5rem !important
}

.mb-2, .my-2 {
  margin-bottom: .5rem !important
}

.ml-2, .mx-2 {
  margin-left: .5rem !important
}

.m-3 {
  margin: 1rem !important
}

.mt-3, .my-3 {
  margin-top: 1rem !important
}

.mr-3, .mx-3 {
  margin-right: 1rem !important
}

.mb-3, .my-3 {
  margin-bottom: 1rem !important
}

.ml-3, .mx-3 {
  margin-left: 1rem !important
}

.m-4 {
  margin: 1.5rem !important
}

.mt-4, .my-4 {
  margin-top: 1.5rem !important
}

.mr-4, .mx-4 {
  margin-right: 1.5rem !important
}

.mb-4, .my-4 {
  margin-bottom: 1.5rem !important
}

.ml-4, .mx-4 {
  margin-left: 1.5rem !important
}

.m-5 {
  margin: 3rem !important
}

.mt-5, .my-5 {
  margin-top: 3rem !important
}

.mr-5, .mx-5 {
  margin-right: 3rem !important
}

.mb-5, .my-5 {
  margin-bottom: 3rem !important
}

.ml-5, .mx-5 {
  margin-left: 3rem !important
}

.p-0 {
  padding: 0 !important
}

.pt-0, .py-0 {
  padding-top: 0 !important
}

.pr-0, .px-0 {
  padding-right: 0 !important
}

.pb-0, .py-0 {
  padding-bottom: 0 !important
}

.pl-0, .px-0 {
  padding-left: 0 !important
}

.p-1 {
  padding: .25rem !important
}

.pt-1, .py-1 {
  padding-top: .25rem !important
}

.pr-1, .px-1 {
  padding-right: .25rem !important
}

.pb-1, .py-1 {
  padding-bottom: .25rem !important
}

.pl-1, .px-1 {
  padding-left: .25rem !important
}

.p-2 {
  padding: .5rem !important
}

.pt-2, .py-2 {
  padding-top: .5rem !important
}

.pr-2, .px-2 {
  padding-right: .5rem !important
}

.pb-2, .py-2 {
  padding-bottom: .5rem !important
}

.pl-2, .px-2 {
  padding-left: .5rem !important
}

.p-3 {
  padding: 1rem !important
}

.pt-3, .py-3 {
  padding-top: 1rem !important
}

.pr-3, .px-3 {
  padding-right: 1rem !important
}

.pb-3, .py-3 {
  padding-bottom: 1rem !important
}

.pl-3, .px-3 {
  padding-left: 1rem !important
}

.p-4 {
  padding: 1.5rem !important
}

.pt-4, .py-4 {
  padding-top: 1.5rem !important
}

.pr-4, .px-4 {
  padding-right: 1.5rem !important
}

.pb-4, .py-4 {
  padding-bottom: 1.5rem !important
}

.pl-4, .px-4 {
  padding-left: 1.5rem !important
}

.p-5 {
  padding: 3rem !important
}

.pt-5, .py-5 {
  padding-top: 3rem !important
}

.pr-5, .px-5 {
  padding-right: 3rem !important
}

.pb-5, .py-5 {
  padding-bottom: 3rem !important
}

.pl-5, .px-5 {
  padding-left: 3rem !important
}

.m-n1 {
  margin: -.25rem !important
}

.mt-n1, .my-n1 {
  margin-top: -.25rem !important
}

.mr-n1, .mx-n1 {
  margin-right: -.25rem !important
}

.mb-n1, .my-n1 {
  margin-bottom: -.25rem !important
}

.ml-n1, .mx-n1 {
  margin-left: -.25rem !important
}

.m-n2 {
  margin: -.5rem !important
}

.mt-n2, .my-n2 {
  margin-top: -.5rem !important
}

.mr-n2, .mx-n2 {
  margin-right: -.5rem !important
}

.mb-n2, .my-n2 {
  margin-bottom: -.5rem !important
}

.ml-n2, .mx-n2 {
  margin-left: -.5rem !important
}

.m-n3 {
  margin: -1rem !important
}

.mt-n3, .my-n3 {
  margin-top: -1rem !important
}

.mr-n3, .mx-n3 {
  margin-right: -1rem !important
}

.mb-n3, .my-n3 {
  margin-bottom: -1rem !important
}

.ml-n3, .mx-n3 {
  margin-left: -1rem !important
}

.m-n4 {
  margin: -1.5rem !important
}

.mt-n4, .my-n4 {
  margin-top: -1.5rem !important
}

.mr-n4, .mx-n4 {
  margin-right: -1.5rem !important
}

.mb-n4, .my-n4 {
  margin-bottom: -1.5rem !important
}

.ml-n4, .mx-n4 {
  margin-left: -1.5rem !important
}

.m-n5 {
  margin: -3rem !important
}

.mt-n5, .my-n5 {
  margin-top: -3rem !important
}

.mr-n5, .mx-n5 {
  margin-right: -3rem !important
}

.mb-n5, .my-n5 {
  margin-bottom: -3rem !important
}

.ml-n5, .mx-n5 {
  margin-left: -3rem !important
}

.m-auto {
  margin: auto !important
}

.mt-auto, .my-auto {
  margin-top: auto !important
}

.mr-auto, .mx-auto {
  margin-right: auto !important
}

.mb-auto, .my-auto {
  margin-bottom: auto !important
}

.ml-auto, .mx-auto {
  margin-left: auto !important
}

@media (min-width:576px) {
  .m-sm-0 {
    margin: 0 !important
  }

  .mt-sm-0, .my-sm-0 {
    margin-top: 0 !important
  }

  .mr-sm-0, .mx-sm-0 {
    margin-right: 0 !important
  }

  .mb-sm-0, .my-sm-0 {
    margin-bottom: 0 !important
  }

  .ml-sm-0, .mx-sm-0 {
    margin-left: 0 !important
  }

  .m-sm-1 {
    margin: .25rem !important
  }

  .mt-sm-1, .my-sm-1 {
    margin-top: .25rem !important
  }

  .mr-sm-1, .mx-sm-1 {
    margin-right: .25rem !important
  }

  .mb-sm-1, .my-sm-1 {
    margin-bottom: .25rem !important
  }

  .ml-sm-1, .mx-sm-1 {
    margin-left: .25rem !important
  }

  .m-sm-2 {
    margin: .5rem !important
  }

  .mt-sm-2, .my-sm-2 {
    margin-top: .5rem !important
  }

  .mr-sm-2, .mx-sm-2 {
    margin-right: .5rem !important
  }

  .mb-sm-2, .my-sm-2 {
    margin-bottom: .5rem !important
  }

  .ml-sm-2, .mx-sm-2 {
    margin-left: .5rem !important
  }

  .m-sm-3 {
    margin: 1rem !important
  }

  .mt-sm-3, .my-sm-3 {
    margin-top: 1rem !important
  }

  .mr-sm-3, .mx-sm-3 {
    margin-right: 1rem !important
  }

  .mb-sm-3, .my-sm-3 {
    margin-bottom: 1rem !important
  }

  .ml-sm-3, .mx-sm-3 {
    margin-left: 1rem !important
  }

  .m-sm-4 {
    margin: 1.5rem !important
  }

  .mt-sm-4, .my-sm-4 {
    margin-top: 1.5rem !important
  }

  .mr-sm-4, .mx-sm-4 {
    margin-right: 1.5rem !important
  }

  .mb-sm-4, .my-sm-4 {
    margin-bottom: 1.5rem !important
  }

  .ml-sm-4, .mx-sm-4 {
    margin-left: 1.5rem !important
  }

  .m-sm-5 {
    margin: 3rem !important
  }

  .mt-sm-5, .my-sm-5 {
    margin-top: 3rem !important
  }

  .mr-sm-5, .mx-sm-5 {
    margin-right: 3rem !important
  }

  .mb-sm-5, .my-sm-5 {
    margin-bottom: 3rem !important
  }

  .ml-sm-5, .mx-sm-5 {
    margin-left: 3rem !important
  }

  .p-sm-0 {
    padding: 0 !important
  }

  .pt-sm-0, .py-sm-0 {
    padding-top: 0 !important
  }

  .pr-sm-0, .px-sm-0 {
    padding-right: 0 !important
  }

  .pb-sm-0, .py-sm-0 {
    padding-bottom: 0 !important
  }

  .pl-sm-0, .px-sm-0 {
    padding-left: 0 !important
  }

  .p-sm-1 {
    padding: .25rem !important
  }

  .pt-sm-1, .py-sm-1 {
    padding-top: .25rem !important
  }

  .pr-sm-1, .px-sm-1 {
    padding-right: .25rem !important
  }

  .pb-sm-1, .py-sm-1 {
    padding-bottom: .25rem !important
  }

  .pl-sm-1, .px-sm-1 {
    padding-left: .25rem !important
  }

  .p-sm-2 {
    padding: .5rem !important
  }

  .pt-sm-2, .py-sm-2 {
    padding-top: .5rem !important
  }

  .pr-sm-2, .px-sm-2 {
    padding-right: .5rem !important
  }

  .pb-sm-2, .py-sm-2 {
    padding-bottom: .5rem !important
  }

  .pl-sm-2, .px-sm-2 {
    padding-left: .5rem !important
  }

  .p-sm-3 {
    padding: 1rem !important
  }

  .pt-sm-3, .py-sm-3 {
    padding-top: 1rem !important
  }

  .pr-sm-3, .px-sm-3 {
    padding-right: 1rem !important
  }

  .pb-sm-3, .py-sm-3 {
    padding-bottom: 1rem !important
  }

  .pl-sm-3, .px-sm-3 {
    padding-left: 1rem !important
  }

  .p-sm-4 {
    padding: 1.5rem !important
  }

  .pt-sm-4, .py-sm-4 {
    padding-top: 1.5rem !important
  }

  .pr-sm-4, .px-sm-4 {
    padding-right: 1.5rem !important
  }

  .pb-sm-4, .py-sm-4 {
    padding-bottom: 1.5rem !important
  }

  .pl-sm-4, .px-sm-4 {
    padding-left: 1.5rem !important
  }

  .p-sm-5 {
    padding: 3rem !important
  }

  .pt-sm-5, .py-sm-5 {
    padding-top: 3rem !important
  }

  .pr-sm-5, .px-sm-5 {
    padding-right: 3rem !important
  }

  .pb-sm-5, .py-sm-5 {
    padding-bottom: 3rem !important
  }

  .pl-sm-5, .px-sm-5 {
    padding-left: 3rem !important
  }

  .m-sm-n1 {
    margin: -.25rem !important
  }

  .mt-sm-n1, .my-sm-n1 {
    margin-top: -.25rem !important
  }

  .mr-sm-n1, .mx-sm-n1 {
    margin-right: -.25rem !important
  }

  .mb-sm-n1, .my-sm-n1 {
    margin-bottom: -.25rem !important
  }

  .ml-sm-n1, .mx-sm-n1 {
    margin-left: -.25rem !important
  }

  .m-sm-n2 {
    margin: -.5rem !important
  }

  .mt-sm-n2, .my-sm-n2 {
    margin-top: -.5rem !important
  }

  .mr-sm-n2, .mx-sm-n2 {
    margin-right: -.5rem !important
  }

  .mb-sm-n2, .my-sm-n2 {
    margin-bottom: -.5rem !important
  }

  .ml-sm-n2, .mx-sm-n2 {
    margin-left: -.5rem !important
  }

  .m-sm-n3 {
    margin: -1rem !important
  }

  .mt-sm-n3, .my-sm-n3 {
    margin-top: -1rem !important
  }

  .mr-sm-n3, .mx-sm-n3 {
    margin-right: -1rem !important
  }

  .mb-sm-n3, .my-sm-n3 {
    margin-bottom: -1rem !important
  }

  .ml-sm-n3, .mx-sm-n3 {
    margin-left: -1rem !important
  }

  .m-sm-n4 {
    margin: -1.5rem !important
  }

  .mt-sm-n4, .my-sm-n4 {
    margin-top: -1.5rem !important
  }

  .mr-sm-n4, .mx-sm-n4 {
    margin-right: -1.5rem !important
  }

  .mb-sm-n4, .my-sm-n4 {
    margin-bottom: -1.5rem !important
  }

  .ml-sm-n4, .mx-sm-n4 {
    margin-left: -1.5rem !important
  }

  .m-sm-n5 {
    margin: -3rem !important
  }

  .mt-sm-n5, .my-sm-n5 {
    margin-top: -3rem !important
  }

  .mr-sm-n5, .mx-sm-n5 {
    margin-right: -3rem !important
  }

  .mb-sm-n5, .my-sm-n5 {
    margin-bottom: -3rem !important
  }

  .ml-sm-n5, .mx-sm-n5 {
    margin-left: -3rem !important
  }

  .m-sm-auto {
    margin: auto !important
  }

  .mt-sm-auto, .my-sm-auto {
    margin-top: auto !important
  }

  .mr-sm-auto, .mx-sm-auto {
    margin-right: auto !important
  }

  .mb-sm-auto, .my-sm-auto {
    margin-bottom: auto !important
  }

  .ml-sm-auto, .mx-sm-auto {
    margin-left: auto !important
  }
}

@media (min-width:768px) {
  .m-md-0 {
    margin: 0 !important
  }

  .mt-md-0, .my-md-0 {
    margin-top: 0 !important
  }

  .mr-md-0, .mx-md-0 {
    margin-right: 0 !important
  }

  .mb-md-0, .my-md-0 {
    margin-bottom: 0 !important
  }

  .ml-md-0, .mx-md-0 {
    margin-left: 0 !important
  }

  .m-md-1 {
    margin: .25rem !important
  }

  .mt-md-1, .my-md-1 {
    margin-top: .25rem !important
  }

  .mr-md-1, .mx-md-1 {
    margin-right: .25rem !important
  }

  .mb-md-1, .my-md-1 {
    margin-bottom: .25rem !important
  }

  .ml-md-1, .mx-md-1 {
    margin-left: .25rem !important
  }

  .m-md-2 {
    margin: .5rem !important
  }

  .mt-md-2, .my-md-2 {
    margin-top: .5rem !important
  }

  .mr-md-2, .mx-md-2 {
    margin-right: .5rem !important
  }

  .mb-md-2, .my-md-2 {
    margin-bottom: .5rem !important
  }

  .ml-md-2, .mx-md-2 {
    margin-left: .5rem !important
  }

  .m-md-3 {
    margin: 1rem !important
  }

  .mt-md-3, .my-md-3 {
    margin-top: 1rem !important
  }

  .mr-md-3, .mx-md-3 {
    margin-right: 1rem !important
  }

  .mb-md-3, .my-md-3 {
    margin-bottom: 1rem !important
  }

  .ml-md-3, .mx-md-3 {
    margin-left: 1rem !important
  }

  .m-md-4 {
    margin: 1.5rem !important
  }

  .mt-md-4, .my-md-4 {
    margin-top: 1.5rem !important
  }

  .mr-md-4, .mx-md-4 {
    margin-right: 1.5rem !important
  }

  .mb-md-4, .my-md-4 {
    margin-bottom: 1.5rem !important
  }

  .ml-md-4, .mx-md-4 {
    margin-left: 1.5rem !important
  }

  .m-md-5 {
    margin: 3rem !important
  }

  .mt-md-5, .my-md-5 {
    margin-top: 3rem !important
  }

  .mr-md-5, .mx-md-5 {
    margin-right: 3rem !important
  }

  .mb-md-5, .my-md-5 {
    margin-bottom: 3rem !important
  }

  .ml-md-5, .mx-md-5 {
    margin-left: 3rem !important
  }

  .p-md-0 {
    padding: 0 !important
  }

  .pt-md-0, .py-md-0 {
    padding-top: 0 !important
  }

  .pr-md-0, .px-md-0 {
    padding-right: 0 !important
  }

  .pb-md-0, .py-md-0 {
    padding-bottom: 0 !important
  }

  .pl-md-0, .px-md-0 {
    padding-left: 0 !important
  }

  .p-md-1 {
    padding: .25rem !important
  }

  .pt-md-1, .py-md-1 {
    padding-top: .25rem !important
  }

  .pr-md-1, .px-md-1 {
    padding-right: .25rem !important
  }

  .pb-md-1, .py-md-1 {
    padding-bottom: .25rem !important
  }

  .pl-md-1, .px-md-1 {
    padding-left: .25rem !important
  }

  .p-md-2 {
    padding: .5rem !important
  }

  .pt-md-2, .py-md-2 {
    padding-top: .5rem !important
  }

  .pr-md-2, .px-md-2 {
    padding-right: .5rem !important
  }

  .pb-md-2, .py-md-2 {
    padding-bottom: .5rem !important
  }

  .pl-md-2, .px-md-2 {
    padding-left: .5rem !important
  }

  .p-md-3 {
    padding: 1rem !important
  }

  .pt-md-3, .py-md-3 {
    padding-top: 1rem !important
  }

  .pr-md-3, .px-md-3 {
    padding-right: 1rem !important
  }

  .pb-md-3, .py-md-3 {
    padding-bottom: 1rem !important
  }

  .pl-md-3, .px-md-3 {
    padding-left: 1rem !important
  }

  .p-md-4 {
    padding: 1.5rem !important
  }

  .pt-md-4, .py-md-4 {
    padding-top: 1.5rem !important
  }

  .pr-md-4, .px-md-4 {
    padding-right: 1.5rem !important
  }

  .pb-md-4, .py-md-4 {
    padding-bottom: 1.5rem !important
  }

  .pl-md-4, .px-md-4 {
    padding-left: 1.5rem !important
  }

  .p-md-5 {
    padding: 3rem !important
  }

  .pt-md-5, .py-md-5 {
    padding-top: 3rem !important
  }

  .pr-md-5, .px-md-5 {
    padding-right: 3rem !important
  }

  .pb-md-5, .py-md-5 {
    padding-bottom: 3rem !important
  }

  .pl-md-5, .px-md-5 {
    padding-left: 3rem !important
  }

  .m-md-n1 {
    margin: -.25rem !important
  }

  .mt-md-n1, .my-md-n1 {
    margin-top: -.25rem !important
  }

  .mr-md-n1, .mx-md-n1 {
    margin-right: -.25rem !important
  }

  .mb-md-n1, .my-md-n1 {
    margin-bottom: -.25rem !important
  }

  .ml-md-n1, .mx-md-n1 {
    margin-left: -.25rem !important
  }

  .m-md-n2 {
    margin: -.5rem !important
  }

  .mt-md-n2, .my-md-n2 {
    margin-top: -.5rem !important
  }

  .mr-md-n2, .mx-md-n2 {
    margin-right: -.5rem !important
  }

  .mb-md-n2, .my-md-n2 {
    margin-bottom: -.5rem !important
  }

  .ml-md-n2, .mx-md-n2 {
    margin-left: -.5rem !important
  }

  .m-md-n3 {
    margin: -1rem !important
  }

  .mt-md-n3, .my-md-n3 {
    margin-top: -1rem !important
  }

  .mr-md-n3, .mx-md-n3 {
    margin-right: -1rem !important
  }

  .mb-md-n3, .my-md-n3 {
    margin-bottom: -1rem !important
  }

  .ml-md-n3, .mx-md-n3 {
    margin-left: -1rem !important
  }

  .m-md-n4 {
    margin: -1.5rem !important
  }

  .mt-md-n4, .my-md-n4 {
    margin-top: -1.5rem !important
  }

  .mr-md-n4, .mx-md-n4 {
    margin-right: -1.5rem !important
  }

  .mb-md-n4, .my-md-n4 {
    margin-bottom: -1.5rem !important
  }

  .ml-md-n4, .mx-md-n4 {
    margin-left: -1.5rem !important
  }

  .m-md-n5 {
    margin: -3rem !important
  }

  .mt-md-n5, .my-md-n5 {
    margin-top: -3rem !important
  }

  .mr-md-n5, .mx-md-n5 {
    margin-right: -3rem !important
  }

  .mb-md-n5, .my-md-n5 {
    margin-bottom: -3rem !important
  }

  .ml-md-n5, .mx-md-n5 {
    margin-left: -3rem !important
  }

  .m-md-auto {
    margin: auto !important
  }

  .mt-md-auto, .my-md-auto {
    margin-top: auto !important
  }

  .mr-md-auto, .mx-md-auto {
    margin-right: auto !important
  }

  .mb-md-auto, .my-md-auto {
    margin-bottom: auto !important
  }

  .ml-md-auto, .mx-md-auto {
    margin-left: auto !important
  }
}

@media (min-width:992px) {
  .m-lg-0 {
    margin: 0 !important
  }

  .mt-lg-0, .my-lg-0 {
    margin-top: 0 !important
  }

  .mr-lg-0, .mx-lg-0 {
    margin-right: 0 !important
  }

  .mb-lg-0, .my-lg-0 {
    margin-bottom: 0 !important
  }

  .ml-lg-0, .mx-lg-0 {
    margin-left: 0 !important
  }

  .m-lg-1 {
    margin: .25rem !important
  }

  .mt-lg-1, .my-lg-1 {
    margin-top: .25rem !important
  }

  .mr-lg-1, .mx-lg-1 {
    margin-right: .25rem !important
  }

  .mb-lg-1, .my-lg-1 {
    margin-bottom: .25rem !important
  }

  .ml-lg-1, .mx-lg-1 {
    margin-left: .25rem !important
  }

  .m-lg-2 {
    margin: .5rem !important
  }

  .mt-lg-2, .my-lg-2 {
    margin-top: .5rem !important
  }

  .mr-lg-2, .mx-lg-2 {
    margin-right: .5rem !important
  }

  .mb-lg-2, .my-lg-2 {
    margin-bottom: .5rem !important
  }

  .ml-lg-2, .mx-lg-2 {
    margin-left: .5rem !important
  }

  .m-lg-3 {
    margin: 1rem !important
  }

  .mt-lg-3, .my-lg-3 {
    margin-top: 1rem !important
  }

  .mr-lg-3, .mx-lg-3 {
    margin-right: 1rem !important
  }

  .mb-lg-3, .my-lg-3 {
    margin-bottom: 1rem !important
  }

  .ml-lg-3, .mx-lg-3 {
    margin-left: 1rem !important
  }

  .m-lg-4 {
    margin: 1.5rem !important
  }

  .mt-lg-4, .my-lg-4 {
    margin-top: 1.5rem !important
  }

  .mr-lg-4, .mx-lg-4 {
    margin-right: 1.5rem !important
  }

  .mb-lg-4, .my-lg-4 {
    margin-bottom: 1.5rem !important
  }

  .ml-lg-4, .mx-lg-4 {
    margin-left: 1.5rem !important
  }

  .m-lg-5 {
    margin: 3rem !important
  }

  .mt-lg-5, .my-lg-5 {
    margin-top: 3rem !important
  }

  .mr-lg-5, .mx-lg-5 {
    margin-right: 3rem !important
  }

  .mb-lg-5, .my-lg-5 {
    margin-bottom: 3rem !important
  }

  .ml-lg-5, .mx-lg-5 {
    margin-left: 3rem !important
  }

  .p-lg-0 {
    padding: 0 !important
  }

  .pt-lg-0, .py-lg-0 {
    padding-top: 0 !important
  }

  .pr-lg-0, .px-lg-0 {
    padding-right: 0 !important
  }

  .pb-lg-0, .py-lg-0 {
    padding-bottom: 0 !important
  }

  .pl-lg-0, .px-lg-0 {
    padding-left: 0 !important
  }

  .p-lg-1 {
    padding: .25rem !important
  }

  .pt-lg-1, .py-lg-1 {
    padding-top: .25rem !important
  }

  .pr-lg-1, .px-lg-1 {
    padding-right: .25rem !important
  }

  .pb-lg-1, .py-lg-1 {
    padding-bottom: .25rem !important
  }

  .pl-lg-1, .px-lg-1 {
    padding-left: .25rem !important
  }

  .p-lg-2 {
    padding: .5rem !important
  }

  .pt-lg-2, .py-lg-2 {
    padding-top: .5rem !important
  }

  .pr-lg-2, .px-lg-2 {
    padding-right: .5rem !important
  }

  .pb-lg-2, .py-lg-2 {
    padding-bottom: .5rem !important
  }

  .pl-lg-2, .px-lg-2 {
    padding-left: .5rem !important
  }

  .p-lg-3 {
    padding: 1rem !important
  }

  .pt-lg-3, .py-lg-3 {
    padding-top: 1rem !important
  }

  .pr-lg-3, .px-lg-3 {
    padding-right: 1rem !important
  }

  .pb-lg-3, .py-lg-3 {
    padding-bottom: 1rem !important
  }

  .pl-lg-3, .px-lg-3 {
    padding-left: 1rem !important
  }

  .p-lg-4 {
    padding: 1.5rem !important
  }

  .pt-lg-4, .py-lg-4 {
    padding-top: 1.5rem !important
  }

  .pr-lg-4, .px-lg-4 {
    padding-right: 1.5rem !important
  }

  .pb-lg-4, .py-lg-4 {
    padding-bottom: 1.5rem !important
  }

  .pl-lg-4, .px-lg-4 {
    padding-left: 1.5rem !important
  }

  .p-lg-5 {
    padding: 3rem !important
  }

  .pt-lg-5, .py-lg-5 {
    padding-top: 3rem !important
  }

  .pr-lg-5, .px-lg-5 {
    padding-right: 3rem !important
  }

  .pb-lg-5, .py-lg-5 {
    padding-bottom: 3rem !important
  }

  .pl-lg-5, .px-lg-5 {
    padding-left: 3rem !important
  }

  .m-lg-n1 {
    margin: -.25rem !important
  }

  .mt-lg-n1, .my-lg-n1 {
    margin-top: -.25rem !important
  }

  .mr-lg-n1, .mx-lg-n1 {
    margin-right: -.25rem !important
  }

  .mb-lg-n1, .my-lg-n1 {
    margin-bottom: -.25rem !important
  }

  .ml-lg-n1, .mx-lg-n1 {
    margin-left: -.25rem !important
  }

  .m-lg-n2 {
    margin: -.5rem !important
  }

  .mt-lg-n2, .my-lg-n2 {
    margin-top: -.5rem !important
  }

  .mr-lg-n2, .mx-lg-n2 {
    margin-right: -.5rem !important
  }

  .mb-lg-n2, .my-lg-n2 {
    margin-bottom: -.5rem !important
  }

  .ml-lg-n2, .mx-lg-n2 {
    margin-left: -.5rem !important
  }

  .m-lg-n3 {
    margin: -1rem !important
  }

  .mt-lg-n3, .my-lg-n3 {
    margin-top: -1rem !important
  }

  .mr-lg-n3, .mx-lg-n3 {
    margin-right: -1rem !important
  }

  .mb-lg-n3, .my-lg-n3 {
    margin-bottom: -1rem !important
  }

  .ml-lg-n3, .mx-lg-n3 {
    margin-left: -1rem !important
  }

  .m-lg-n4 {
    margin: -1.5rem !important
  }

  .mt-lg-n4, .my-lg-n4 {
    margin-top: -1.5rem !important
  }

  .mr-lg-n4, .mx-lg-n4 {
    margin-right: -1.5rem !important
  }

  .mb-lg-n4, .my-lg-n4 {
    margin-bottom: -1.5rem !important
  }

  .ml-lg-n4, .mx-lg-n4 {
    margin-left: -1.5rem !important
  }

  .m-lg-n5 {
    margin: -3rem !important
  }

  .mt-lg-n5, .my-lg-n5 {
    margin-top: -3rem !important
  }

  .mr-lg-n5, .mx-lg-n5 {
    margin-right: -3rem !important
  }

  .mb-lg-n5, .my-lg-n5 {
    margin-bottom: -3rem !important
  }

  .ml-lg-n5, .mx-lg-n5 {
    margin-left: -3rem !important
  }

  .m-lg-auto {
    margin: auto !important
  }

  .mt-lg-auto, .my-lg-auto {
    margin-top: auto !important
  }

  .mr-lg-auto, .mx-lg-auto {
    margin-right: auto !important
  }

  .mb-lg-auto, .my-lg-auto {
    margin-bottom: auto !important
  }

  .ml-lg-auto, .mx-lg-auto {
    margin-left: auto !important
  }
}

@media (min-width:1200px) {
  .m-xl-0 {
    margin: 0 !important
  }

  .mt-xl-0, .my-xl-0 {
    margin-top: 0 !important
  }

  .mr-xl-0, .mx-xl-0 {
    margin-right: 0 !important
  }

  .mb-xl-0, .my-xl-0 {
    margin-bottom: 0 !important
  }

  .ml-xl-0, .mx-xl-0 {
    margin-left: 0 !important
  }

  .m-xl-1 {
    margin: .25rem !important
  }

  .mt-xl-1, .my-xl-1 {
    margin-top: .25rem !important
  }

  .mr-xl-1, .mx-xl-1 {
    margin-right: .25rem !important
  }

  .mb-xl-1, .my-xl-1 {
    margin-bottom: .25rem !important
  }

  .ml-xl-1, .mx-xl-1 {
    margin-left: .25rem !important
  }

  .m-xl-2 {
    margin: .5rem !important
  }

  .mt-xl-2, .my-xl-2 {
    margin-top: .5rem !important
  }

  .mr-xl-2, .mx-xl-2 {
    margin-right: .5rem !important
  }

  .mb-xl-2, .my-xl-2 {
    margin-bottom: .5rem !important
  }

  .ml-xl-2, .mx-xl-2 {
    margin-left: .5rem !important
  }

  .m-xl-3 {
    margin: 1rem !important
  }

  .mt-xl-3, .my-xl-3 {
    margin-top: 1rem !important
  }

  .mr-xl-3, .mx-xl-3 {
    margin-right: 1rem !important
  }

  .mb-xl-3, .my-xl-3 {
    margin-bottom: 1rem !important
  }

  .ml-xl-3, .mx-xl-3 {
    margin-left: 1rem !important
  }

  .m-xl-4 {
    margin: 1.5rem !important
  }

  .mt-xl-4, .my-xl-4 {
    margin-top: 1.5rem !important
  }

  .mr-xl-4, .mx-xl-4 {
    margin-right: 1.5rem !important
  }

  .mb-xl-4, .my-xl-4 {
    margin-bottom: 1.5rem !important
  }

  .ml-xl-4, .mx-xl-4 {
    margin-left: 1.5rem !important
  }

  .m-xl-5 {
    margin: 3rem !important
  }

  .mt-xl-5, .my-xl-5 {
    margin-top: 3rem !important
  }

  .mr-xl-5, .mx-xl-5 {
    margin-right: 3rem !important
  }

  .mb-xl-5, .my-xl-5 {
    margin-bottom: 3rem !important
  }

  .ml-xl-5, .mx-xl-5 {
    margin-left: 3rem !important
  }

  .p-xl-0 {
    padding: 0 !important
  }

  .pt-xl-0, .py-xl-0 {
    padding-top: 0 !important
  }

  .pr-xl-0, .px-xl-0 {
    padding-right: 0 !important
  }

  .pb-xl-0, .py-xl-0 {
    padding-bottom: 0 !important
  }

  .pl-xl-0, .px-xl-0 {
    padding-left: 0 !important
  }

  .p-xl-1 {
    padding: .25rem !important
  }

  .pt-xl-1, .py-xl-1 {
    padding-top: .25rem !important
  }

  .pr-xl-1, .px-xl-1 {
    padding-right: .25rem !important
  }

  .pb-xl-1, .py-xl-1 {
    padding-bottom: .25rem !important
  }

  .pl-xl-1, .px-xl-1 {
    padding-left: .25rem !important
  }

  .p-xl-2 {
    padding: .5rem !important
  }

  .pt-xl-2, .py-xl-2 {
    padding-top: .5rem !important
  }

  .pr-xl-2, .px-xl-2 {
    padding-right: .5rem !important
  }

  .pb-xl-2, .py-xl-2 {
    padding-bottom: .5rem !important
  }

  .pl-xl-2, .px-xl-2 {
    padding-left: .5rem !important
  }

  .p-xl-3 {
    padding: 1rem !important
  }

  .pt-xl-3, .py-xl-3 {
    padding-top: 1rem !important
  }

  .pr-xl-3, .px-xl-3 {
    padding-right: 1rem !important
  }

  .pb-xl-3, .py-xl-3 {
    padding-bottom: 1rem !important
  }

  .pl-xl-3, .px-xl-3 {
    padding-left: 1rem !important
  }

  .p-xl-4 {
    padding: 1.5rem !important
  }

  .pt-xl-4, .py-xl-4 {
    padding-top: 1.5rem !important
  }

  .pr-xl-4, .px-xl-4 {
    padding-right: 1.5rem !important
  }

  .pb-xl-4, .py-xl-4 {
    padding-bottom: 1.5rem !important
  }

  .pl-xl-4, .px-xl-4 {
    padding-left: 1.5rem !important
  }

  .p-xl-5 {
    padding: 3rem !important
  }

  .pt-xl-5, .py-xl-5 {
    padding-top: 3rem !important
  }

  .pr-xl-5, .px-xl-5 {
    padding-right: 3rem !important
  }

  .pb-xl-5, .py-xl-5 {
    padding-bottom: 3rem !important
  }

  .pl-xl-5, .px-xl-5 {
    padding-left: 3rem !important
  }

  .m-xl-n1 {
    margin: -.25rem !important
  }

  .mt-xl-n1, .my-xl-n1 {
    margin-top: -.25rem !important
  }

  .mr-xl-n1, .mx-xl-n1 {
    margin-right: -.25rem !important
  }

  .mb-xl-n1, .my-xl-n1 {
    margin-bottom: -.25rem !important
  }

  .ml-xl-n1, .mx-xl-n1 {
    margin-left: -.25rem !important
  }

  .m-xl-n2 {
    margin: -.5rem !important
  }

  .mt-xl-n2, .my-xl-n2 {
    margin-top: -.5rem !important
  }

  .mr-xl-n2, .mx-xl-n2 {
    margin-right: -.5rem !important
  }

  .mb-xl-n2, .my-xl-n2 {
    margin-bottom: -.5rem !important
  }

  .ml-xl-n2, .mx-xl-n2 {
    margin-left: -.5rem !important
  }

  .m-xl-n3 {
    margin: -1rem !important
  }

  .mt-xl-n3, .my-xl-n3 {
    margin-top: -1rem !important
  }

  .mr-xl-n3, .mx-xl-n3 {
    margin-right: -1rem !important
  }

  .mb-xl-n3, .my-xl-n3 {
    margin-bottom: -1rem !important
  }

  .ml-xl-n3, .mx-xl-n3 {
    margin-left: -1rem !important
  }

  .m-xl-n4 {
    margin: -1.5rem !important
  }

  .mt-xl-n4, .my-xl-n4 {
    margin-top: -1.5rem !important
  }

  .mr-xl-n4, .mx-xl-n4 {
    margin-right: -1.5rem !important
  }

  .mb-xl-n4, .my-xl-n4 {
    margin-bottom: -1.5rem !important
  }

  .ml-xl-n4, .mx-xl-n4 {
    margin-left: -1.5rem !important
  }

  .m-xl-n5 {
    margin: -3rem !important
  }

  .mt-xl-n5, .my-xl-n5 {
    margin-top: -3rem !important
  }

  .mr-xl-n5, .mx-xl-n5 {
    margin-right: -3rem !important
  }

  .mb-xl-n5, .my-xl-n5 {
    margin-bottom: -3rem !important
  }

  .ml-xl-n5, .mx-xl-n5 {
    margin-left: -3rem !important
  }

  .m-xl-auto {
    margin: auto !important
  }

  .mt-xl-auto, .my-xl-auto {
    margin-top: auto !important
  }

  .mr-xl-auto, .mx-xl-auto {
    margin-right: auto !important
  }

  .mb-xl-auto, .my-xl-auto {
    margin-bottom: auto !important
  }

  .ml-xl-auto, .mx-xl-auto {
    margin-left: auto !important
  }
}

.button--blue-alt-2>a, .button--blue-alt>a, .button--blue>a, .button--white-alt>a, .button--white>a, .button>a, a.button, a.button--blue, a.button--blue-alt, a.button--blue-alt-2, a.button--transparent-blue, a.button--transparent-green, a.button--white, a.button--white-alt {
  display: inline-block;
  font-size: 15px;
  letter-spacing: .5px;
  padding: 8px 21px;
  color: #fff;
  border-radius: 3px;
  text-decoration: none;
  text-transform: uppercase;
  transition: background .2s ease-out, colour .2s;
  line-height: 1.75
}

.button--blue-alt-2>a:hover, .button--blue-alt>a:hover, .button--blue>a:hover, .button--white-alt>a:hover, .button--white>a:hover, .button>a:hover, a.button--blue-alt-2:hover, a.button--blue-alt:hover, a.button--blue:hover, a.button--transparent-blue:hover, a.button--transparent-green:hover, a.button--white-alt:hover, a.button--white:hover, a.button:hover {
  text-decoration: none
}

.button--blue>a, a.button--blue {
  background: rgba(0, 180, 170, .9);
  border: 1px solid rgba(0, 180, 170, .9)
}

.button--blue>a:hover, a.button--blue:hover {
  background: #fff;
  color: rgba(0, 180, 170, .9)
}

.button--blue-alt>a, .button>a, a.button, a.button--blue-alt {
  background: rgba(0, 169, 206, .9);
  border: 1px solid rgba(0, 169, 206, .9)
}

.button--blue-alt>a:hover, .button>a:hover, a.button--blue-alt:hover, a.button:hover {
  background: #fff;
  color: rgba(0, 169, 206, .9)
}

.button--blue-alt-2>a, a.button--blue-alt-2 {
  background: #0569b9;
  border: 1px solid #0569b9
}

.button--blue-alt-2>a:hover, a.button--blue-alt-2:hover {
  background: #fff;
  color: #0569b9
}

.button--white>a, a.button--white {
  background: #fff;
  color: #0569b9;
  border: 1px solid #0569b9
}

.button--white>a:hover, a.button--white:hover {
  background: #0569b9;
  color: #fff
}

.button--white-alt>a, a.button--white-alt {
  background: #fff;
  color: rgba(0, 169, 206, .9);
  border: 1px solid #00a9ce
}

.button--white-alt>a:hover, a.button--white-alt:hover {
  background: rgba(0, 169, 206, .9);
  color: #fff
}

a.button--transparent-green {
  background: transparent;
  color: rgba(83, 86, 90, .9);
  border: 1px solid rgba(0, 178, 169, .9)
}

a.button--transparent-green:hover {
  background: rgba(0, 178, 169, .9);
  color: #fff
}

a.button--transparent-blue {
  background: transparent;
  color: rgba(0, 169, 206, .9);
  border: 1px solid rgba(0, 169, 206, .9)
}

a.button--transparent-blue:hover {
  background: rgba(0, 169, 206, .9);
  color: #fff
}

.theme--1 .button {
  background: #00b4aa;
  border: 1px solid #00b4aa;
  color: #fff
}

.theme--1 .breadcrumb a, .theme--1 .card--profile .card__text a, .theme--1 .card--related, .theme--1 .card--related p, .theme--1 .news-events-list .news-events-list__item-link, .theme--1 .news-events-list--home .news-events-list__item .news-events-list__item-type, .theme--1 .news-events-list--home .news-events-list__item-details, .theme--1 .news-events-list--thumbnail .news-events-list__item-type, .theme--1 .news-events-list__item-type, .theme--1 .tabs .tab__content-all, .theme--1 .tabs [role=tab]:active, .theme--1 .tabs [role=tab]:focus, .theme--1 .tabs [role=tab]:hover, .theme--1 .tabs [role=tab][aria-selected=true], .theme--1 .testimonial blockquote .testimonial__text-wrap .testimonial__role, .theme--1 main .main__side-nav .main__side-nav-inner a, .theme--1 main a {
  color: #00b4aa
}

.theme--1 .news-events-list--home .news-events-list__item:hover .news-events-list__item-type {
  color: #fff
}

.theme--1 .tabs [role=tab]:focus:before, .theme--1 .tabs [role=tab]:hover:before, .theme--1 .tabs [role=tab][aria-selected=true]:not(:focus):not(:hover):before {
  border-top: 3px solid #00b4aa
}

.theme--1 .card--people .card__links a svg, .theme--1 .card--profile .card__text a svg {
  fill: #00b4aa
}

.theme--1 .card--section-image-links .card--section-image-links__title a, .theme--1 .news-events-list--home .news-events-list__item .news-events-list__item-text:before {
  background: #00b4aa
}

.theme--2 .button {
  background: #823278;
  border: 1px solid #823278;
  color: #fff
}

.theme--2 .breadcrumb a, .theme--2 .card--profile .card__text a, .theme--2 .card--related, .theme--2 .card--related p, .theme--2 .card--related p .tabs [role=tab][aria-selected=true], .theme--2 .news-events-list .news-events-list__item-link, .theme--2 .news-events-list--home .news-events-list__item .news-events-list__item-type, .theme--2 .news-events-list--home .news-events-list__item-details, .theme--2 .news-events-list--thumbnail .news-events-list__item-type, .theme--2 .news-events-list__item-type, .theme--2 .tabs .tab__content-all, .theme--2 .tabs [role=tab]:active, .theme--2 .tabs [role=tab]:focus, .theme--2 .tabs [role=tab]:hover, .theme--2 .testimonial blockquote .testimonial__text-wrap .testimonial__role, .theme--2 main .main__side-nav .main__side-nav-inner a, .theme--2 main a {
  color: #823278
}

.theme--2 .news-events-list--home .news-events-list__item:hover .news-events-list__item-type {
  color: #fff
}

.theme--2 .tabs [role=tab]:focus:before, .theme--2 .tabs [role=tab]:hover:before, .theme--2 .tabs [role=tab][aria-selected=true]:not(:focus):not(:hover):before {
  border-top: 3px solid #823278
}

.theme--2 .card--people .card__links a svg, .theme--2 .card--profile .card__text a svg {
  fill: #823278
}

.theme--2 .card--section-image-links .card--section-image-links__title a, .theme--2 .news-events-list--home .news-events-list__item .news-events-list__item-text:before {
  background: #823278
}

form {
  width: 100%;
  max-width: 700px;
  display: flex;
  flex-wrap: wrap
}

form input[type=text] {
  border: 0;
  background: #ececec;
  font-size: 1pc;
  padding: 0 20px
}

form input[type=submit] {
  background: #0569b9;
  padding: 8px 15px;
  color: #fff;
  border-radius: 3px;
  text-align: center;
  margin-left: auto
}

form label {
  cursor: pointer
}

:focus {
  outline: 0
}

.focus-visible {
  box-shadow: 0 0 0 2px #00a9ce
}

.hidden {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute
}

.icon--chevron {
  position: absolute;
  right: 20px;
  height: 8px;
  width: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg)
}

.icon--close {
  color: #fff;
  position: absolute;
  top: 10px;
  right: 0;
  width: 20px;
  height: 20px;
  transition: all .3s;
  padding: 20px
}

.icon--close:after, .icon--close:before {
  content: "";
  position: absolute;
  background: currentColor;
  top: 20px;
  width: 20px;
  height: 2px;
  left: 10px
}

.icon--close:before {
  transform: rotate(-45deg)
}

.icon--close:after {
  transform: rotate(45deg)
}

.icon--close:hover {
  transform: scale(1.5)
}

img {
  max-width: 100%;
  height: auto
}

img, svg {
  display: block
}

.inline-image {
  margin-left: 15px;
  margin-right: 15px;
  margin-bottom: 30px
}

.inline-image figcaption {
  font-size: 15px;
  line-height: normal;
  padding-top: 3px;
  color: #53565a
}

@media (min-width:768px) {
  .inline-image {
    float: right;
    height: auto;
    max-width: 25pc;
    margin-top: 7px;
    margin-left: 30px;
    margin-right: 0
  }
}

.inline-image--left {
  margin-left: 15px;
  margin-right: 15px;
  margin-bottom: 30px
}

.inline-image--left figcaption {
  font-size: 15px;
  line-height: normal;
  padding-top: 3px;
  color: #53565a
}

@media (min-width:768px) {
  .inline-image--left {
    float: left;
    height: auto;
    max-width: 25pc;
    margin-top: 7px;
    margin-left: 0;
    margin-right: 30px
  }
}

@media (min-width:1200px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl {
    max-width: 885pt
  }
}

.container .container {
  padding-left: 0;
  padding-right: 0
}

.tier--light {
  background: #eff0f1
}

.tier--light-2 {
  padding: 40px 0
}

.tier--dark, .tier--light-2 {
  background: #dddfe1
}

.tier--blue {
  background: #36434d;
  padding: 40px 0
}

.tier--blue-2 {
  background: #0569b9;
  padding: 40px 0
}

.no-js main .main__side-nav .main__side-nav-inner [class*='currentbranch']>ul, .no-js main .main__side-nav .main__side-nav-inner .menu-active>ul {
  display: block
}

main .main__side-nav .main__side-nav-inner {
  position: relative;
  background: #ececec;
  padding: 25px 20px;
  border-radius: 5px;
  margin-bottom: 70px
}

main .main__side-nav .main__side-nav-inner h3 {
  font-size: 17px;
  padding-bottom: 5px;
  margin-bottom: 0;
  border-bottom: 1px solid #aeaeae
}

main .main__side-nav .main__side-nav-inner h3 a {
  color: #53565a
}

main .main__side-nav .main__side-nav-inner a {
  font-family: Source Sans Pro, sans-serif;
  font-size: 15px;
  text-decoration: none;
  color: #1766a1;
  display: block;
  padding: 8px 30px 8px 5px;
  line-height: 1.25;
  transition: background .2s, color .2s
}

main .main__side-nav .main__side-nav-inner ul {
  margin: 1px 0 0;
  padding: 0;
  list-style: none
}

main .main__side-nav .main__side-nav-inner ul li {
  position: relative;
  line-height: 1.25;
  margin-bottom: 0
}

main .main__side-nav .main__side-nav-inner ul li a:hover {
  background: #fff;
  text-decoration: none
}

main .main__side-nav .main__side-nav-inner ul li.menu-active>.submenu-toggle .icon--chevron, main .main__side-nav .main__side-nav-inner ul li.menu-active>a {
  background: #00a9ce;
  color: #fff
}

main .main__side-nav .main__side-nav-inner ul li .icon--chevron {
  color: #aeaeae
}

main .main__side-nav .main__side-nav-inner ul ul {
  padding-left: 10px
}

main .main__side-nav .main__side-nav-inner ul ul a {
  color: #53565a
}

main .main__side-nav .main__side-nav-inner>ul {
  position: relative
}

main .main__side-nav .main__side-nav-inner>ul ul {
  display: none
}

main .main__side-nav .main__side-nav-inner>ul>li {
  border-bottom: 1px solid #aeaeae
}

main .main__side-nav .main__side-nav-inner [class*='currentbranch']>a {
  background: #f5f5f5
}

main .main__side-nav .submenu-toggle {
  margin: 0;
  top: 1px;
  height: 30px;
  width: 30px;
  margin-top: 1px
}

main .main__side-nav .submenu-toggle.js-active .icon--chevron {
  color: #fff
}

main .main__image img {
  max-height: 25pc;
  width: 100%;
  object-fit: cover;
  object-position: center;
  font-family: "object-fit: cover; object-position: center";
  margin-bottom: 30px
}

main .main__summary a, main .main__summary p {
  font-size: 19px;
  font-weight: 300
}

@media (min-width:992px) {
  main .main__side-nav .main__side-nav-inner {
    margin-top: 15px;
    margin-bottom: 30px
  }

  main .main__summary a, main .main__summary p {
    font-size: 21px
  }
}

.list-links {
  list-style: none;
  margin: 0 0 30px;
  padding: 0
}

.list-links li {
  position: relative;
  padding: 7px 5px;
  border-bottom: 1px solid #aeaeae
}

.list-links li:after {
  position: absolute;
  top: 10px;
  right: 0;
  content: "";
  background: url(../assets/svg/chevron.svg) no-repeat;
  height: 18px;
  width: 18px
}

.list-links li a {
  display: block;
  position: relative;
  z-index: 1
}

.list-links li a, .list-links li a:hover {
  text-decoration: none
}

.table {
  position: relative;
  overflow: auto;
  max-width: 100%;
  margin-bottom: 70px
}

.table--plain {
  background: linear-gradient(to right, #fff 30%, hsla(0, 0%, 100%, 0), #fff 70%, transparent, transparent), linear-gradient(to right, hsla(0, 0%, 100%, 0)) 0 100%, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, .2)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, .2)) 0 100%;
  background-repeat: no-repeat;
  background-color: #fff;
  background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;
  background-position: 0 0, 100%, 0 0, 100%;
  background-attachment: local, local, scroll, scroll
}

table {
  border-collapse: collapse;
  max-width: 855px;
  position: relative;
  width: 100%
}

table td, table th {
  vertical-align: text-top;
  text-align: left;
  padding: 8px 10px;
  border-right: 1px solid #aeaeae;
  font-size: 1pc
}

table th {
  box-shadow: 0 2px 2px -1px rgba(0, 0, 0, .4);
  border-top: 1px solid #aeaeae
}

table th:first-of-type {
  border-left: 1px solid #aeaeae
}

table td {
  border-bottom: 1px solid #aeaeae
}

table tbody tr:first-of-type td {
  border-top: 1px solid #aeaeae
}

table tbody tr td:first-of-type {
  border-left: 1px solid #aeaeae
}

.table--zebra tbody tr:nth-child(odd) {
  background: #eff0f1
}

.table--header-side table {
  display: flex;
  width: 100%
}

.table--header-side td, .table--header-side th {
  display: block;
  white-space: nowrap;
  text-align: left
}

.table--header-side thead {
  display: flex;
  flex-direction: column
}

.table--header-side thead th {
  border-left: 1px solid #aeaeae;
  border-bottom: 0
}

.table--header-side thead th:last-of-type {
  border-bottom: 1px solid #aeaeae
}

.table--header-side tbody {
  display: flex;
  position: relative;
  overflow-x: auto;
  overflow-y: hidden
}

.table--header-side tbody tr:nth-child(odd) td {
  background: #ececec;
  background-clip: padding-box
}

.table--header-side tbody tr:first-of-type td {
  border-top: 0
}

.table--header-side tbody tr td {
  border-top: 0;
  border-right: 1px solid #aeaeae;
  border-bottom: 1px solid #aeaeae
}

.table--header-side tbody tr td:first-of-type {
  border-left: 0;
  border-top: 1px solid #aeaeae
}

@media (min-width:768px) {
  .table--header-side table {
    display: table
  }

  .table--header-side thead {
    display: table-header-group
  }

  .table--header-side thead th {
    border-bottom: 1px solid #aeaeae
  }

  .table--header-side tbody {
    display: table-row-group
  }

  .table--header-side td, .table--header-side th {
    display: table-cell;
    white-space: normal
  }

  .table--header-side tbody tr td:first-of-type {
    border-left: 1px solid #aeaeae
  }
}

.footer {
  content-visibility: auto;
  contain-intrinsic-size: 1px 750pt
}

.footer ul {
  margin: 0;
  padding: 0;
  list-style: none
}

.footer__school {
  background: #dddfe1;
  padding: 40px 0
}

.footer__school .footer__school-breadcrumb {
  display: flex;
  flex-wrap: wrap
}

.footer__school .footer__school-breadcrumb li {
  position: relative;
  font-size: 9pt;
  text-transform: uppercase;
  padding-right: 15px;
  margin-right: 15px
}

.footer__school .footer__school-breadcrumb li:after {
  position: absolute;
  content: "";
  background: #494949;
  top: 50%;
  right: 3px;
  height: 10px;
  width: 1px;
  transform: rotate(30deg) translateY(-50%)
}

.footer__school .footer__school-breadcrumb li:last-of-type {
  margin-right: 0
}

.footer__school .footer__school-breadcrumb li:last-of-type a {
  font-style: italic
}

.footer__school .footer__school-breadcrumb li:last-of-type:after {
  display: none
}

.footer__school .footer__school-breadcrumb a {
  display: block;
  color: #494949;
  text-transform: uppercase
}

.footer__school .footer__school-links {
  display: flex;
  padding: 0;
  margin: 15px 0 30px
}

.footer__school .footer__school-links li {
  position: relative;
  padding-right: 30px
}

.footer__school .footer__school-links a {
  font-size: 14px;
  color: #494949
}

.footer__school .footer__school-links a:hover {
  text-decoration: none
}

.footer__school nav .list-links {
  margin-bottom: 30px
}

.footer__school nav .list-links a {
  font-size: 15px;
  color: #53565a
}

.footer__school .footer__school-update {
  font-size: 9pt;
  color: #494949;
  padding: 0 0 30px;
  margin: 0
}

.pre-footer--home {
  padding: 40px 0
}

.pre-footer--home .footer__school-social, .pre-footer--home .footer__school-social-title {
  display: flex;
  justify-content: flex-end;
  padding: 0
}

.footer__school-logo {
  display: flex;
  justify-content: flex-start
}

.footer__school-logo img {
  align-self: flex-start;
  margin-bottom: 40px
}

.footer__school-social {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin-bottom: 0
}

.footer__school-social .footer__school-social-icon {
  margin-right: 10px;
  margin-bottom: 10px
}

.footer__school-social .footer__school-social-icon:last-of-type {
  margin-right: 0
}

.footer__school-social .footer__school-social-icon a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40px;
  width: 40px;
  border-radius: 3px
}

.footer__school-social .footer__school-social-icon img {
  height: 20px;
  width: 20px
}

.footer__school-social .footer__school-social-icon--facebook a {
  background: #275d9a
}

.footer__school-social .footer__school-social-icon--instagram a {
  background: #f00075
}

.footer__school-social .footer__school-social-icon--pinterest a {
  background: #e71e2c
}

.footer__school-social .footer__school-social-icon--rss a {
  background: #fc8326
}

.footer__school-social .footer__school-social-icon--soundcloud a {
  background: #fb5f20
}

.footer__school-social .footer__school-social-icon--twitter a {
  background: #1cabe0
}

.footer__school-social .footer__school-social-icon--vimeo a {
  background: #1db2db
}

.footer__school-social .footer__school-social-icon--youtube a {
  background: #e62127
}

.footer__school-social .footer__school-social-icon--linkedin a {
  background: #3280a3
}

.footer__school-social .footer__school-social-icon--itunes a {
  background: #fa5e6a
}

.footer__school-image {
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px
}

.footer__school-image img {
  max-width: 150px;
  margin: 0 20px 20px 0
}

.footer__site {
  background: #36434d;
  padding: 50px 0 25px;
  color: #dddee2
}

.footer__site ul {
  margin: 0;
  list-style: none
}

.footer__site a, .footer__site address, .footer__site li, .footer__site p {
  color: #dddee2
}

.footer__site address {
  font-size: 14px;
  font-style: normal;
  line-height: 1.9;
  margin-bottom: 50px
}

.footer__site address a {
  display: block;
  margin-top: 20px
}

.footer__site .footer__site-associations {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 50px
}

.footer__site .footer__site-associations p {
  flex: 0 1 100%;
  font-size: 14px;
  margin-bottom: 10px
}

.footer__site .footer__site-associations a {
  display: inline-block
}

.footer__site .footer__site-associations img {
  height: 40px;
  margin-right: 15px
}

.footer__site .footer__site-nav {
  display: flex;
  margin-bottom: 40px
}

.footer__site .footer__site-nav ul {
  display: flex;
  flex-wrap: wrap;
  flex: 0 1 300px
}

.footer__site .footer__site-nav li {
  flex: 1;
  margin-bottom: 10px
}

.footer__site .footer__site-nav li:nth-child(odd) {
  flex: 0 1 50%;
  margin-right: 30px
}

.footer__site .footer__site-nav a {
  font-size: 14px;
  color: #dddee2
}

.footer__site .footer__site-nav a:hover {
  text-decoration: none
}

.footer__site .footer__site-social {
  display: flex;
  flex-wrap: wrap
}

.footer__site .footer__site-social-icon {
  margin: 0 25px 25px 0
}

.footer__site .footer__site-social-icon a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40px;
  width: 40px;
  background: #313c45;
  border-radius: 50%;
  transition: all .2s ease-out
}

.footer__site .footer__site-social-icon a img {
  transition: all .2s ease-out
}

.footer__site .footer__site-social-icon a:hover {
  background: #53565a
}

.footer__site .footer__site-social-icon img {
  height: 1pc;
  width: 1pc
}

@media (min-width:992px) {
  .footer {
    contain-intrinsic-size: 1px 600px
  }

  .footer--home .footer__school {
    padding: 40px 0
  }

  .footer--home .footer__school-logo {
    justify-content: flex-end
  }

  .footer__school {
    padding-bottom: 60px
  }

  .footer__school-image, .footer__school-social {
    justify-content: flex-end
  }

  .footer__school-image {
    display: flex
  }

  .footer__school-image img {
    margin: 0 0 20px 20px
  }

  .footer__site address {
    margin-bottom: 50px
  }

  .footer__site address a {
    margin-top: 30px
  }

  .footer__site address a:hover {
    text-decoration: none
  }

  .footer__site .footer__site-associations {
    margin-bottom: 30px
  }

  .footer__site .footer__site-associations img {
    height: 50px
  }

  .footer__site .footer__site-nav {
    justify-content: flex-end;
    margin-bottom: 75pt
  }

  .footer__site .footer__site-nav ul, .footer__site .footer__site-social {
    justify-content: flex-end
  }

  .footer__site .footer__site-social-icon {
    margin: 0 0 25px 25px
  }

  .footer__site .footer__site-social-icon:first-of-type {
    margin-left: 0
  }
}

.js-menu-actve main {
  display: none
}

.js .site-header__school-dropdown-nav {
  display: none;
  visibility: hidden;
  position: absolute;
  z-index: -1
}

.js .site-header__school-dropdown-nav.js-active {
  position: relative;
  display: block;
  justify-content: center;
  visibility: visible;
  opacity: 1;
  height: 100%;
  z-index: 99
}

.no-js .site-header__school-dropdown-nav nav [class*='currentbranch']>ul, .no-js .site-header__school-dropdown-nav nav .menu-active>ul {
  display: block
}

.site-header__school-dropdown-nav {
  justify-content: center;
  background: #fff;
  padding: 0 0 50px;
  transition: all 1s
}

.site-header__school-dropdown-nav ul {
  list-style: none;
  padding-left: 0;
  margin: 0
}

.site-header__school-dropdown-nav li {
  color: #53565a
}

.site-header__school-dropdown-nav a {
  text-decoration: none
}

.site-header__school-dropdown-nav nav {
  padding: 0
}

.site-header__school-dropdown-nav nav ul li {
  position: relative
}

.site-header__school-dropdown-nav nav .menu-active>.submenu-toggle, .site-header__school-dropdown-nav nav .menu-active>a, .site-header__school-dropdown-nav nav .menu-active>a:hover {
  background: #00a9ce;
  color: #fff
}

.site-header__school-dropdown-nav nav .menu-active>.submenu-toggle .icon--chevron {
  color: #fff
}

.site-header__school-dropdown-nav nav li:hover>span .submenu-toggle {
  background: #00a9ce
}

.site-header__school-dropdown-nav nav li:hover>span .submenu-toggle .icon--chevron {
  color: #fff
}

.site-header__school-dropdown-nav nav ul a {
  position: relative;
  display: block;
  font-size: 1pc;
  color: #0569b9;
  padding: 13px 25px 13px 15px;
  border-bottom: 1px solid #aeaeae;
  transition: background .2s, color .2s
}

.site-header__school-dropdown-nav nav ul a:hover {
  background: #fff;
  text-decoration: none
}

.site-header__school-dropdown-nav nav>ul {
  background: #ececec;
  padding: 20px;
  margin-bottom: 30px
}

.site-header__school-dropdown-nav nav>ul>li:last-of-type a {
  border-bottom: 0
}

.site-header__school-dropdown-nav nav>ul ul {
  display: flex;
  flex-wrap: wrap;
  padding-left: 20px
}

.site-header__school-dropdown-nav nav>ul ul>li {
  flex: 0 1 100%
}

.site-header__school-dropdown-nav nav>ul ul a {
  font-size: 15px;
  color: #494949
}

.site-header__school-dropdown-nav nav>ul ul ul {
  padding-left: 25px
}

.site-header__school-dropdown-nav nav .site-header__has-submenu {
  display: flex;
  flex-wrap: wrap;
  position: relative
}

.site-header__school-dropdown-nav nav .site-header__has-submenu>span {
  display: block;
  width: 100%
}

.site-header__school-dropdown-nav nav .site-header__has-submenu>a {
  flex: 1;
  padding-right: 70px
}

.site-header__school-dropdown-nav nav .site-header__has-submenu>ul {
  display: none;
  flex: 0 1 100%
}

.site-header__school-dropdown-nav nav>ul ul {
  display: none
}

.site-header__school-dropdown-nav nav [class*='currentbranch']>a {
  background: #f5f5f5
}

.site-header__school-dropdown-nav .site-header__contact address {
  font-size: 17px;
  line-height: 1.75;
  letter-spacing: .3px;
  color: #53565a;
  font-style: normal;
  margin: 0 0 20px
}

.site-header__school-dropdown-nav .site-header__contact .site-header__contact-title {
  display: block
}

.site-header__school-dropdown-nav .site-header__contact .site-header__contact-email {
  display: flex;
  align-items: center
}

.site-header__school-dropdown-nav .site-header__contact .site-header__contact-email:first-of-type {
  margin-bottom: 15px
}

.site-header__school-dropdown-nav .site-header__contact .site-header__contact-email:hover {
  text-decoration: none
}

.site-header__school-dropdown-nav .site-header__contact svg {
  margin-right: 8px
}

.site-header__school-dropdown-nav .site-header__contact a {
  color: #0569b9;
  text-decoration: underline
}

.site-header__school-dropdown-nav .site-header__contact a:hover {
  text-decoration: none
}

.site-header__school-dropdown-nav ul ul .submenu-toggle {
  top: 2px
}

@media (min-width:768px) {
  .site-header__school-dropdown-nav .site-header__contact {
    padding-top: 25px;
    padding-left: 30px
  }
}

@media (min-width:1200px) {
  .site-header__school-dropdown-nav {
    padding-top: 50px
  }
}

.site-header {
  position: relative;
  background: #fff
}

.site-header ul {
  list-style: none;
  padding-left: 0;
  margin: 0
}

.site-header li {
  color: #53565a
}

.site-header a {
  text-decoration: none
}

.site-header .skip-to-main-content {
  left: 50%;
  position: absolute;
  transform: translateY(-500px);
  transition: transform .3s;
  padding: 10px 20px;
  color: #fff;
  background: rgba(0, 169, 206, .9);
  z-index: -1
}

.site-header .skip-to-main-content:focus {
  transform: translateY(0%);
  z-index: 9
}

.site-header .site-header__site-top {
  overflow: hidden;
  padding-top: 15px;
  padding-bottom: 15px
}

.site-header .site-header__site-top .row {
  justify-content: space-between
}

.site-header .site-header__site-logo {
  display: flex;
  align-items: center;
  margin-right: auto
}

.site-header .site-header__site-logo a {
  display: block;
  width: 100%
}

.site-header .site-header__site-logo img {
  width: 100%
}

.site-header .site-header__site-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end
}

.site-header .site-header__site-nav ul {
  display: none;
  flex: 0 1 100%;
  justify-content: flex-end;
  align-items: center;
  margin: 20px 0 10px
}

.site-header .site-header__site-nav li {
  margin: 0 20px 0 0
}

.site-header .site-header__site-nav li:last-of-type {
  margin: 0
}

.site-header .site-header__site-nav a {
  margin-bottom: 5px;
  display: inline-block;
  font-size: 15px;
  color: #53565a;
  padding: 5px;
  white-space: nowrap
}

.site-header .site-header__site-nav-mobile {
  display: flex;
  justify-content: flex-end
}

.site-header .site-header__site-nav-mobile button {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 0;
  background: transparent
}

.site-header .site-header__site-nav-mobile button svg {
  fill: #444
}

.site-header .site-header__site-search {
  display: none;
  width: 100%
}

.site-header .site-header__site-search-form {
  display: flex;
  flex-wrap: nowrap;
  flex: 1;
  background: #fff;
  height: 35px;
  margin-top: 20px;
  margin-left: auto
}

.site-header .site-header__site-search-form label:first-of-type {
  display: flex;
  flex: 0 1 100%
}

.site-header .site-header__site-search-form label:last-of-type {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 1 50px;
  background: #0569b9;
  position: relative;
  border: 0
}

.site-header .site-header__site-search-form label:last-of-type:hover {
  background: #00a9ce
}

.site-header .site-header__site-search-input {
  flex: 0 1 100%;
  height: 100%;
  border: 0;
  background: #ececec;
  font-size: 1pc;
  padding: 0 20px
}

.site-header .site-header__site-search-input:active {
  outline: 0
}

.site-header .site-header__site-search-hide {
  visibility: hidden;
  position: absolute
}

.site-header .site-header__site-search-submit {
  fill: #fff
}

.site-header .site-header__site-search-trigger {
  display: block;
  padding: 20px
}

.site-header .site-header__school {
  position: relative;
  background: #0569b9
}

.site-header .site-header__school-nav {
  padding-top: 20px;
  padding-bottom: 0
}

.site-header .site-header__school-nav .site-header__school-title {
  color: #fff;
  margin-bottom: 5px
}

.site-header .site-header__school-nav .site-header__school-title>a {
  font-size: inherit;
  padding: 0
}

.site-header .site-header__school-nav ul {
  display: none
}

.site-header .site-header__school-nav li {
  display: flex
}

.site-header .site-header__school-nav nav ul li.menu-active a, .site-header .site-header__school-nav nav ul li:hover a {
  text-decoration: none;
  background: #00a9ce
}

.site-header .site-header__school-nav a {
  display: inline-block;
  font-size: 1pc;
  color: #fff;
  padding: 10px 20px;
  transition: background .3s
}

.site-header .site-header__school-nav .site-header__nav-lang {
  justify-content: flex-end;
  flex: 1 0 auto
}

.site-header .site-header__school-nav .site-header__nav-lang:hover>a {
  background: transparent
}

.site-header .site-header__school-nav .site-header__nav-lang a:hover {
  background: #00a9ce
}

.site-header .site-header__school-nav .site-header__nav-trigger {
  display: flex;
  align-items: center;
  fill: #fff;
  border: 0;
  padding: 10px 20px;
  margin-left: -15px;
  background: transparent;
  font-size: 1pc;
  color: #fff
}

.site-header .site-header__school-nav .site-header__nav-trigger:hover {
  cursor: pointer
}

.site-header .site-header__school-nav .site-header__nav-trigger svg {
  margin-right: 20px
}

@media (hover:hover) {
  .site-header .site-header__school-nav .site-header__nav-trigger:hover {
    text-decoration: none;
    background: #00a9ce
  }
}

.site-header .site-header__school-nav .site-header__nav-trigger.js-active {
  background: #00a9ce
}

.site-header .site-header__school-nav ul {
  justify-content: start;
  flex: 1 0 auto
}

.menu-active>.submenu-toggle:hover {
  background: #00a9ce
}

.submenu-toggle {
  position: absolute;
  height: 40px;
  width: 40px;
  top: 4px;
  right: 0;
  background: transparent;
  border: 0;
  transition: all .3s
}

.submenu-toggle:hover {
  cursor: pointer;
  background: #fff;
  transition: all .3s
}

.submenu-toggle.js-active {
  background: #00a9ce
}

.submenu-toggle.js-active .icon--chevron {
  transform: translate(-50%, 0) rotate(-45deg);
  transition: all .3s;
  color: #fff
}

.submenu-toggle .icon--chevron {
  color: #aeaeae;
  margin: -2px 0 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(135deg);
  transition: all .3s
}

.icon__search {
  color: #000;
  margin-top: 2px;
  width: 9pt;
  height: 9pt;
  border: 1px solid currentColor;
  border-radius: 100%;
  transform: rotate(-45deg)
}

.icon__search:before {
  content: "";
  position: absolute;
  top: 9pt;
  left: 5px;
  height: 6px;
  width: 1px;
  background-color: currentColor
}

@media (min-width:1200px) {
  .site-header .site-header__site-top {
    padding-top: 25px;
    padding-bottom: 25px
  }

  .site-header .site-header__site-nav ul {
    display: flex !important;
    margin-top: 0
  }

  .site-header .site-header__site-nav a {
    margin-bottom: 0
  }

  .site-header .site-header__site-search {
    display: block !important
  }

  .site-header .site-header__site-search-form {
    justify-content: flex-end;
    margin-top: 0
  }

  .site-header .site-header__site-search-form label:first-of-type {
    flex: 0 1 400px
  }

  .site-header .site-header__site-search-input {
    flex: 0 1 100%;
    height: 100%
  }

  .site-header .site-header__site-nav-mobile {
    display: none
  }

  .site-header .site-header__school-nav ul {
    display: flex
  }
}

.accordion {
  width: 100%;
  margin-bottom: 30px
}

.accordion .accordion__title {
  padding-top: 14px;
  padding-bottom: 5px;
  cursor: pointer;
  border-top: 1px solid #ececec
}

.accordion .accordion__title:first-of-type {
  border: 0
}

.accordion .accordion__title.js-open .icon--chevron {
  transform: rotate(-45deg)
}

.accordion .accordion__toggle {
  display: block;
  position: relative;
  width: 100%;
  text-align: left;
  background: none;
  border: 0;
  padding-left: 0;
  padding-right: 0
}

.accordion .accordion__toggle:active, .accordion .accordion__toggle:focus {
  outline: 0
}

.accordion .accordion__panel {
  display: none;
  padding: 0 0 40px
}

.accordion .icon--chevron {
  top: 9pt;
  transform: rotate(135deg);
  color: #aeaeae;
  transition: all .3s
}

.sitewide-alert {
  display: block;
  background: #00a9ce;
  text-decoration: none;
  padding: 20px 0 25px
}

.sitewide-alert h2, .sitewide-alert p {
  color: #fff
}

.sitewide-alert p {
  font-size: 15px;
  margin-bottom: 15px
}

.sitewide-alert a {
  display: block;
  padding-right: 30px;
  text-decoration: none
}

.sitewide-alert a:hover h2 {
  text-decoration: underline
}

.sitewide-alert .sitewide-alert__date {
  font-weight: 700;
  margin: 0
}

.sitewide-alert .sitewide-alert__close {
  z-index: 99;
  cursor: pointer
}

.sitewide-alert.emergency {
  background: #da291c
}

.sitewide-alert.warning {
  background: #ffd200
}

.sitewide-alert.warning h2, .sitewide-alert.warning p {
  color: #53565a
}

.sitewide-alert.minor {
  background: #40c7bf
}

.sitewide-alert.minor h2, .sitewide-alert.minor p {
  color: #fff
}

@media (min-width:768px) {
  .sitewide-alert p {
    font-size: 17px
  }
}

.banner {
  display: flex;
  overflow: hidden
}

.banner .banner__inner {
  display: flex;
  flex-wrap: wrap
}

.banner .banner__image {
  flex: 0 1 100%;
  overflow: hidden;
  height: 300px
}

.banner .banner__image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
  font-family: "object-fit: cover; object-position: center"
}

.banner .banner__text {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  flex: 1;
  background: #0569b9;
  text-align: left;
  text-decoration: none
}

.banner .banner__text-inner {
  width: 100%;
  padding: 30px 15px;
  line-height: 1.5
}

.banner .banner__text-inner h1, .banner .banner__text-inner h2 {
  line-height: 1.25;
  color: #fff
}

.banner .banner__text-inner p {
  margin-bottom: 0;
  color: #fff
}

.banner .banner__text-inner a {
  text-decoration: none
}

.banner .banner__text-inner .button {
  margin-top: 20px
}

.banner .banner__slider-controls-next, .banner .banner__slider-controls-prev {
  display: none
}

.banner .tns-outer {
  position: relative
}

.banner .tns-outer .tns-nav {
  display: block;
  position: absolute;
  width: 100%;
  bottom: 30px;
  z-index: 10;
  text-align: center
}

.banner .tns-outer .tns-nav button {
  background: #fff;
  height: 15px;
  width: 15px;
  border: 0;
  margin-right: 10px;
  border-radius: 100%;
  border: 1px solid #dddfe1;
  padding: 0
}

.banner .tns-outer .tns-nav button:last-of-type {
  margin-right: 0
}

.banner .tns-outer .tns-nav .tns-nav-active {
  background: #0569b9;
  border-color: #0569b9
}

.banner.banner--two-col {
  max-height: none
}

.banner.banner--two-col .banner__text {
  display: flex;
  align-items: center;
  position: relative;
  left: auto;
  bottom: auto
}

.banner.banner--two-col .banner__text-inner {
  background: transparent
}

.banner.banner--two-col-slider {
  position: relative;
  margin-top: 0
}

.banner.banner--two-col-slider .banner__inner, .banner.banner--two-col-slider .banner__slider-wrap {
  display: flex !important
}

.banner.banner--two-col-slider .banner__image iframe {
  width: 100%;
  display: block
}

.banner.banner--two-col-slider .tns-slide-active .banner__text {
  opacity: 1
}

.banner.banner--full {
  overflow: hidden
}

.banner.banner--full .banner__inner {
  width: 100%
}

.banner.banner--full .banner__text .banner__text-inner {
  width: 100%;
  max-width: 540px
}

.banner.banner--home {
  margin-top: 0
}

.banner.banner--home .banner__image {
  flex: 1 0 100%
}

.banner.banner--slider {
  display: block;
  position: relative;
  margin-top: 0;
  background: #eff0f1
}

.banner.banner--slider .banner__text {
  opacity: 1
}

.banner.banner--slider .banner__text-inner {
  padding-bottom: 60px
}

@media (max-width:576px) {
  .banner .container, .banner.banner--two-col .container {
    padding: 0
  }
}

@media (min-width:768px) {
  .banner.banner--full .banner__text .banner__text-inner {
    flex: 1;
    max-width: 760px
  }
}

@media (min-width:992px) {
  .banner.banner--full.banner--home {
    position: relative
  }

  .banner.banner--full.banner--home .luketest .banner__text .banner__text-subtitle, .banner.banner--full.banner--home .luketest .banner__text .banner__text-title {
    display: inline-block;
    background: rgba(130, 50, 120, .9)
  }

  .banner.banner--full.banner--home .tns-slide-active .banner__text {
    bottom: 50%
  }

  .banner.banner--full.banner--home .banner__text {
    bottom: auto;
    bottom: 5pc
  }

  .banner.banner--full.banner--home .banner__text .banner__text-inner {
    padding: 0;
    background: none
  }

  .banner.banner--full.banner--home .banner__text .banner__text-subtitle, .banner.banner--full.banner--home .banner__text .banner__text-title {
    display: inline-block
  }

  .banner.banner--full.banner--home .banner__text .banner__text-subtitle span, .banner.banner--full.banner--home .banner__text .banner__text-title span {
    background: rgba(5, 105, 185, .9);
    box-decoration-break: clone;
    box-shadow: 0 0 0 10px rgba(5, 105, 185, .9)
  }

  .banner.banner--full.banner--home .banner__text .banner__text-title {
    font-size: 52px;
    margin-bottom: 0;
    padding: 10px
  }

  .banner.banner--full.banner--home .banner__text .banner__text-subtitle {
    font-size: 19px;
    line-height: 1.5;
    margin: 5px 0 0;
    padding: 8px 10px
  }

  .banner {
    padding: 0
  }

  .banner, .banner .banner__image {
    height: 450px
  }

  .banner .banner__image img {
    height: 450px;
    width: 100%;
    object-fit: cover;
    object-position: center;
    font-family: "object-fit: cover; object-position: center"
  }

  .banner .banner__text {
    justify-content: flex-start;
    position: absolute;
    left: 50px;
    bottom: 60px;
    background: transparent;
    z-index: 10
  }

  .banner .banner__text h1 {
    color: #fff;
    line-height: 1.25
  }

  .banner .banner__text p {
    color: #fff
  }

  .banner .banner__text-inner {
    flex: 0 1 550px;
    background: rgba(55, 67, 77, .7);
    padding: 30px
  }

  .banner .banner__text {
    margin: 0
  }

  .banner .slider__button {
    position: relative;
    height: 90px;
    width: 40px;
    background: rgba(55, 67, 77, .6);
    border: 0;
    padding: 0;
    border-radius: 3px;
    cursor: pointer;
    transition: all .2s ease-out
  }

  .banner .slider__button>span {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%
  }

  .banner .slider__button:hover {
    background: rgba(55, 67, 77, .9)
  }

  .banner .banner__slider-controls-next, .banner .banner__slider-controls-prev {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
  }

  .banner .banner__slider-controls-prev {
    left: 5vw
  }

  .banner .banner__slider-controls-prev .icon--chevron {
    transform: rotate(-135deg);
    right: 5px
  }

  .banner .banner__slider-controls-next {
    right: 5vw
  }

  .banner .banner__slider-controls-next .icon--chevron {
    transform: rotate(45deg);
    right: 15px
  }

  .banner .icon--chevron {
    color: #fff;
    margin: 0;
    height: 20px;
    width: 20px
  }

  .banner .tns-outer .tns-nav {
    bottom: 15px !important
  }

  .banner .tns-slide-active .banner__text {
    bottom: 70px;
    transition: bottom .3s ease-out, opacity .3s ease-out;
    transition-delay: .3s
  }

  .banner.banner--full .container {
    max-width: 100%;
    padding: 0
  }

  .banner.banner--full .banner__text {
    width: 100%;
    max-width: 885pt;
    padding: 0 15px;
    left: 50%;
    transform: translateX(-50%)
  }

  .banner.banner--slider .banner__inner {
    position: relative
  }

  .banner.banner--slider .banner__text {
    justify-content: center;
    opacity: 0;
    bottom: 5pc
  }

  .banner.banner--slider .tns-slide-active .banner__text {
    opacity: 1;
    bottom: 60px
  }

  .banner.banner--slider .banner__text-title {
    color: #fff
  }

  .banner.banner--two-col .banner__image {
    flex: 0 1 550px
  }

  .banner.banner--two-col .banner__text {
    position: relative;
    left: auto;
    bottom: auto;
    background: #eff0f1
  }

  .banner.banner--two-col .banner__text h1, .banner.banner--two-col .banner__text h2, .banner.banner--two-col .banner__text p {
    color: #53565a
  }

  .banner.banner--two-col .tns-slide-active .banner__text {
    bottom: 0
  }
}

@media (min-width:1200px) {
  .banner.banner--two-col .banner__image {
    flex: 0 1 700px
  }

  .banner.banner--two-col .banner__text {
    position: relative;
    left: auto;
    bottom: auto;
    background: #eff0f1
  }

  .banner.banner--two-col .banner__text h1, .banner.banner--two-col .banner__text h2, .banner.banner--two-col .banner__text p {
    color: #53565a
  }

  .banner.banner--two-col-slider .banner__image {
    flex: 0 1 800px
  }
}

@media (min-width:1350px) {
  .banner.banner--slider .banner__text {
    justify-content: flex-start
  }
}

.banner--two-col .banner__inner .banner__video.banner__image iframe {
  width: 100%
}

.breadcrumb {
  margin: 30px 0
}

.breadcrumb ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0
}

.breadcrumb ul:not(.col-12) {
  padding: 0
}

.breadcrumb li {
  position: relative;
  font-size: 11px;
  color: #494949;
  text-transform: uppercase;
  padding-right: 15px;
  margin-right: 15px;
  margin-bottom: 15px
}

.breadcrumb li:after {
  position: absolute;
  content: "";
  background: #0569b9;
  top: 50%;
  right: 3px;
  height: 10px;
  width: 1px;
  transform: rotate(30deg) translateY(-50%)
}

.breadcrumb li:last-of-type {
  margin-right: 0;
  padding-right: 0
}

.breadcrumb li:last-of-type a {
  font-style: italic
}

.breadcrumb li:last-of-type:after {
  display: none
}

.breadcrumb a {
  display: block;
  font-size: 11px;
  color: #1766a1
}

.breadcrumb a:hover {
  text-decoration: none
}

.breadcrumb--main {
  margin-bottom: 40px
}

.breadcrumb--footer {
  padding: 10px 0
}

.breadcrumb--footer ul {
  padding-left: 15px;
  padding-right: 15px
}

.card, .card .card__inner {
  display: flex
}

.card .card__text {
  padding: 20px
}

.card a {
  text-decoration: none
}

.card--two-col {
  flex-wrap: wrap;
  min-height: 260px
}

.card--two-col .card__image, .card--two-col .card__text {
  flex: 0 1 100%
}

.card--two-col .card__text {
  background: #eff0f1;
  color: #0569b9;
  padding: 20px
}

.card--two-col .card__image {
  height: 20pc
}

.card--two-col .card__subtitle {
  color: #53565a
}

.card--caption {
  margin-top: 0;
  margin-left: 0;
  margin-right: 0
}

.card--caption img {
  object-fit: cover;
  object-position: center;
  font-family: "object-fit: cover; object-position: center";
  width: 100%;
  height: 20pc
}

.card--caption .card__text {
  background: #eff0f1;
  padding: 20px
}

.card--caption .card__text .card__title {
  font-weight: 700;
  margin-bottom: 5px
}

.card--caption .card__text p {
  margin: 0
}

.card--caption .card__image, .card--caption .card__text {
  flex: 0 1 100%
}

.card--caption .card__image {
  height: 260px
}

.card--link-descriptive {
  display: flex;
  flex-wrap: wrap
}

.card--link-descriptive .card__item {
  display: flex;
  flex-wrap: wrap;
  min-width: 250px;
  margin: 0 0 30px;
  padding: 0 15px;
  text-decoration: none
}

.card--link-descriptive .card__item .card__item-inner {
  width: 100%;
  background: #eff0f1
}

.card--link-descriptive .card__item img {
  width: 100%;
  object-fit: cover;
  object-position: center;
  font-family: "object-fit: cover; object-position: center"
}

.card--link-descriptive .card__item .card__text {
  width: 100%;
  margin: 0;
  padding: 20px
}

.card--link-descriptive .card__item .card__text p {
  font-size: 15px
}

.card--link-descriptive .card__item .card__title {
  position: relative;
  padding-right: 30px;
  line-height: 1.5;
  margin-bottom: 0;
  width: 100%
}

.card--link-descriptive .card__item .icon--chevron {
  top: 10px;
  right: 0;
  margin-top: 0;
  transition: all .2s ease-out
}

.card--link-descriptive .card__item:hover .icon--chevron {
  right: -3px
}

.card--link-descriptive .card__item p {
  display: block;
  position: relative;
  margin: 0
}

.card--link-descriptive-home {
  background: #eff0f1;
  padding: 40px 0
}

.card--link-descriptive-home .card__item.card__item--offset {
  position: relative;
  display: flex;
  justify-content: flex-end;
  margin-bottom: 0;
  max-width: none;
  margin-bottom: 15px
}

.card--link-descriptive-home .card__item.card__item--offset .card__text {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-self: center;
  z-index: 1;
  background: #fff;
  padding: 25px;
  min-height: 230px;
  max-width: 100%
}

.card--link-descriptive-home .card__item.card__item--offset .card__text .card__subtitle, .card--link-descriptive-home .card__item.card__item--offset .card__text .card__title {
  flex: 0 1 100%
}

.card--link-descriptive-home .card__item.card__item--offset .card__text .card__title {
  margin-bottom: 10px
}

.card--link-descriptive-home .card__item.card__item--offset .card__text .card__subtitle {
  font-size: 1pc;
  margin: 0 0 20px
}

.card--link-descriptive-home .card__sub-items {
  display: flex;
  flex-wrap: wrap
}

.card--link-descriptive-home .card__item--one, .card--link-descriptive-home .card__item--two {
  position: relative;
  flex: 0 1 100%;
  height: 250px
}

.card--link-descriptive-home .card__item--one .card__image, .card--link-descriptive-home .card__item--two .card__image {
  position: absolute;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
  font-family: "object-fit: cover; object-position: center"
}

.card--link-descriptive-home .card__item--one .card__button, .card--link-descriptive-home .card__item--two .card__button {
  position: absolute;
  transform: translate(-50%, -50%);
  left: 50%;
  top: 50%;
  width: max-content;
  text-align: center;
  z-index: 1;
  width: auto
}

@media all and (min-width:768px) {
  .card--link-descriptive-home .card__item.card__item--offset {
    margin-bottom: 0
  }
}

.cta--links-alt {
  padding: 0;
  margin-bottom: 0;
  justify-content: space-between;
  width: 100%
}

.cta--links-alt:hover .cta__item-inner {
  color: #0569b9
}

.cta--links-alt .row {
  justify-content: space-between
}

.cta--links-alt .cta__item {
  display: flex;
  flex: 0 1 32%;
  text-decoration: none
}

.cta--links-alt .cta__item-inner {
  font-size: 21px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  color: #53565a;
  background: #eff0f1;
  width: 100%
}

.cta--links-alt .cta__item-inner img {
  height: 5pc
}

@media (min-width:768px) {
  .card--link-descriptive-home .card__image {
    height: 350px
  }

  .card--link-descriptive-home .card__text {
    padding: 25px 40px
  }

  .card--link-descriptive-home .card__text .card__subtitle, .card--link-descriptive-home .card__text .card__title {
    flex: 0 1 100%
  }

  .card--link-descriptive-home .card__text .card__title {
    margin-bottom: 10px
  }

  .card--link-descriptive-home .card__text .card__subtitle {
    font-size: 1pc;
    margin: 0 0 20px
  }

  .card--link-descriptive-home .card__item--one, .card--link-descriptive-home .card__item--two {
    flex: 0 1 50%
  }
}

@media (min-width:992px) {
  .card--link-descriptive-home .card__item.card__item--offset .card__image {
    width: calc(100% - 40px);
    height: calc(100% - 20px)
  }

  .card--link-descriptive-home .card__item.card__item--offset .card__text {
    position: absolute;
    bottom: 0;
    left: 15px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-self: center;
    z-index: 1;
    background: #fff;
    padding: 25px 40px;
    min-height: 230px;
    max-width: 360px
  }

  .card--link-descriptive-home .card__item--one, .card--link-descriptive-home .card__item--two {
    height: 50%;
    flex: 0 1 100%
  }
}

.card--video .card__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  background: #eff0f1
}

.card--video .card__text {
  display: flex;
  flex-wrap: wrap;
  align-self: flex-start;
  padding: 30px 15px
}

.card--video .card__subtitle, .card--video .card__title {
  flex: 1 0 100%
}

.card--video .card__title {
  line-height: 1.25
}

.card--video .card__subtitle {
  font-size: 15px
}

.card--video .card__iframe {
  overflow: hidden;
  position: relative;
  width: 100%;
  max-width: 700px
}

.card--video .card__iframe:after {
  padding-top: 56.25%;
  display: block;
  content: ""
}

.card--video .card__iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.card--hover .card__item {
  margin-bottom: 30px
}

.card--hover .card__item .card__item-inner {
  position: relative;
  height: 300px;
  flex: 0 1 100%
}

.card--hover .card__item .card__text {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  background: rgba(0, 0, 0, .5)
}

.card--hover .card__item .card__title {
  color: #fff
}

.card--overlay .card__item {
  margin-bottom: 30px
}

.card--overlay .card__item .card__text {
  width: 100%
}

.card--overlay .card__item .card__item-inner {
  position: relative;
  height: 300px;
  flex: 0 1 100%
}

.card--overlay .card__item .card__text {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  background: rgba(0, 0, 0, .5)
}

.card--overlay .card__item .card__title {
  text-align: center;
  width: 100%
}

.card--overlay .card__item .card__title h2, .card--overlay .card__item .card__title p {
  color: #fff
}

.card--people {
  display: flex;
  flex-wrap: wrap
}

.card--people .row {
  justify-content: flex-start;
}

.card--people a {
  color: #1766a1
}

.card--people a, .card--people a:hover {
  text-decoration: none
}

.card--people .card__item {
  margin-bottom: 30px
}

.card--people .card__item-inner {
  background: #eff0f1;
  height: 100%;
}

.card--people .card__image {
  width: 100%
}

.card--people .card__text {
  width: 100%;
  padding: 15px
}

.card--people .card__name {
  display: block;
  position: relative;
  margin-bottom: 8px;
  padding-right: 30px
}

.card--people .card__name .icon--chevron {
  margin-top: 0;
  top: 8px;
  right: 0
}

.card--people .card__role {
  margin-bottom: 15px;
  line-height: 1.5
}

.card--people .card__description {
  margin-bottom: 0;
  font-size: 14px
}

.card--people .card__description, .card--people .card__links a, .card--people .card__role {
  font-size: 15px
}

.card--people .card__links {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  width: 100%
}

.card--people .card__links a {
  display: flex;
  align-items: center;
  width: 100%;
  text-decoration: none;
  margin-bottom: 20px
}

.card--people .card__links a:hover {
  text-decoration: underline
}

.card--people .card__links a svg {
  margin-right: 7px
}

.card--people .card__links a .card__email {
  margin-bottom: 0
}

.card--profile {
  background: #eff0f1
}

.card--profile .card__details {
  display: flex;
  flex-wrap: wrap;
  width: 100%
}

.card--profile .card__image {
  align-self: flex-start;
  width: 100%
}

.card--profile .card__text {
  flex: 1;
  padding: 25px 15px
}

.card--profile .card__text .card__name {
  margin-bottom: 10px
}

.card--profile .card__text .card__role {
  margin-bottom: 20px
}

.card--profile .card__text a {
  display: flex;
  align-items: center;
  width: 100%;
  text-decoration: none;
  margin-bottom: 20px;
  color: #1766a1
}

.card--profile .card__text a:last-of-type {
  margin-bottom: 0
}

.card--profile .card__text a:hover {
  text-decoration: underline
}

.card--profile .card__text a svg {
  margin-right: 7px
}

.card--profile .card__role {
  margin-bottom: 10px
}

.card--profile .card__description {
  padding: 15px
}

.card--profile .card__description p {
  font-size: 1pc
}

.card--profile-white {
  background: #fff
}

.card--profile-white .card__text {
  padding-top: 10px
}

.card--profile-white .card__text .card__name {
  line-height: normal
}

.card--profile-white .card__text .card__role {
  margin-bottom: 5px;
  font-size: 17px
}

.card--profile-white .card__text p {
  font-size: 15px;
  margin-bottom: 15px
}

.card--profile-white .card__description {
  padding-left: 0;
  padding-right: 0
}

.card--related {
  margin: 60px 0 50px;
  padding-top: 30px;
  border-top: 1px solid #dddfe1
}

.card--related .card__inner {
  display: flex;
  flex-wrap: wrap;
  width: 100%
}

.card--related .card__item, .card--related .card__title {
  flex: 0 1 100%;
  padding: 0 15px
}

.card--related .card__item {
  display: flex;
  flex-direction: column;
  margin-bottom: 15px;
  text-decoration: none
}

.card--related .card__image {
  width: 100%;
  max-height: 200px;
  object-fit: cover;
  object-position: center;
  font-family: "object-fit: cover; object-position: center";
  margin-bottom: 10px
}

.card--related p {
  font-size: 15px;
  color: #0569b9
}

.card--section-image-links {
  display: flex;
  flex-wrap: wrap
}

.card--section-image-links .card--section-image-links__item {
  display: flex;
  flex-wrap: wrap;
  flex: 0 1 100%;
  padding: 0 15px;
  margin-bottom: 30px
}

.card--section-image-links a {
  display: block;
  background: #fff;
  padding: 10px 20px;
  color: #53565a;
  text-decoration: none
}

.card--section-image-links a:hover {
  text-decoration: none;
  cursor: pointer
}

.card--section-image-links .card--section-image-links__image {
  flex: 1
}

.card--section-image-links .card--section-image-links__title {
  flex: 1 0 100%;
  margin-bottom: 0
}

.card--section-image-links .card--section-image-links__title a {
  background: #0569b9;
  color: #fff
}

.card--section-image-links .card--section-image-links__list {
  display: flex;
  flex-direction: column;
  flex: 1;
  flex-wrap: wrap;
  align-self: center;
  padding: 40px;
  margin: 0;
  list-style: none
}

.card--section-image-links .card--section-image-links__list li {
  max-width: 200px;
  margin-bottom: 1px
}

.card--section-image-links .card--section-image-links__list a:hover {
  cursor: pointer
}

.card--image-grid .row {
  margin-right: 0;
  margin-left: 0
}

.card--image-grid .card__item {
  position: relative
}

.card--image-grid .card__image {
  width: 100%
}

.card--image-grid .card__button {
  position: absolute;
  transform: translateX(-50%);
  left: 50%;
  bottom: 30px;
  width: max-content;
  text-align: center;
  width: auto
}

.main--reversed .card--link-descriptive-home .card__item-inner, .main--reversed .card--link-descriptive-home .card__item.card__item--large .card__item-inner, .main--reversed .news-events-list--home .news-events-list__item-text {
  background: #fff
}

@media (min-width:540px) {
  .card--profile .card__details {
    flex-direction: row
  }

  .card--profile .card__image {
    width: 200px
  }

  .card--related .card__item {
    flex: 0 1 270px
  }

  .card--related .card__item:hover {
    text-decoration: underline
  }

  .card--related p {
    font-size: 17px
  }
}

@media (min-width:768px) {
  .card--two-col .card__inner {
    display: flex;
    flex-wrap: nowrap
  }

  .card--two-col .card__image, .card--two-col .card__text {
    flex: 0 1 50%
  }

  .card--two-col .card__image {
    height: 100%;
    max-height: 450px;
    min-height: 260px
  }

  .card--link-descriptive {
    justify-content: space-between
  }

  .card--link-descriptive .card__item {
    display: flex;
    flex: 1
  }

  .card--profile .card__image {
    width: 250px;
    height: 250px
  }

  .card--profile .card__description {
    padding: 30px 30px 15px
  }

  .card--video .card__text {
    padding: 30px 30px 20px
  }

  .card--related .card__item {
    flex-grow: 1;
    flex-shrink: 1
  }

  .card--related .card__item:hover {
    text-decoration: underline
  }

  .card--related p {
    font-size: 17px
  }

  .card--profile-white .card__description {
    padding-left: 0;
    padding-right: 0
  }
}

.card--course {
  display: flex
}

.card--course .card__item {
  position: relative;
  display: flex;
  justify-content: flex-end;
  margin-bottom: 30px
}

.card--course .card__text {
  position: absolute;
  top: 47%;
  left: 15px;
  transform: translateY(-50%);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-self: center;
  z-index: 1;
  background: #fff;
  padding: 30px 40px;
  max-height: 80%;
  max-width: 25pc
}

.card--course .card__text .card__subtitle, .card--course .card__text .card__title {
  flex: 0 1 100%
}

.card--course .card__text .card__subtitle {
  font-size: 15px;
  margin: 0 0 20px
}

@media (min-width:992px) {
  .card--link-descriptive .card__item img {
    height: 190px
  }

  .card--link-descriptive.col--2 .card__item {
    flex: 0 1 50%
  }

  .card--link-descriptive.col--3 .card__item {
    flex: 0 1 33.3%
  }

  .card--link-descriptive.col--4 .card__item {
    flex: 0 1 25%
  }

  .card--link-descriptive.col--5 .card__item {
    flex: 0 1 20%;
    min-width: 0
  }

  .card--hover {
    flex: 0 1 50%
  }

  .card--hover .card__text {
    opacity: 0;
    transition: all .3s ease-out
  }

  .card--hover .card__title {
    text-align: center
  }

  .card--hover .card__item-inner:hover {
    cursor: pointer
  }

  .card--hover .card__item-inner:hover .card__text {
    opacity: 1
  }

  .card--video {
    max-height: 395px;
    overflow: hidden
  }

  .card--video .card__text {
    flex: 0 1 450px;
    font-size: 15px
  }

  .card--video .card__iframe {
    flex: 1;
    max-height: 270px
  }

  .card--section-image-links .row {
    flex-wrap: nowrap
  }

  .card--section-image-links .card--section-image-links__item {
    flex: 0 1 100%;
    max-width: 590px
  }
}

@media (min-width:1200px) {
  .card--video .card__iframe {
    max-height: 395px
  }
}

.contact .container {
  padding: 0
}

.contact .contact__inner {
  display: flex;
  flex-wrap: wrap
}

.contact .contact__title {
  flex: 0 1 100%
}

.contact .contact__content {
  display: flex;
  flex-wrap: wrap
}

.contact .contact__address, .contact .contact__map {
  flex: 0 1 100%
}

.contact .contact__map {
  order: 1;
  overflow: hidden
}

.contact .contact__map iframe {
  width: 100%;
  display: block
}

.contact .contact__address {
  background: #f7f8f8;
  padding: 20px 15px 40px;
  line-height: 1.5
}

.contact .contact__address a {
  display: flex;
  align-items: center
}

.contact .contact__address a:first-of-type {
  margin-top: 15px;
  margin-bottom: 15px
}

.contact .contact__address a svg {
  margin-right: 8px
}

.contact .contact__address address {
  font-style: normal
}

@media (min-width:992px) {
  .contact .container {
    padding: 0 15px
  }

  .contact .contact__inner {
    flex-wrap: nowrap
  }

  .contact .contact__content {
    flex-wrap: nowrap;
    max-height: 450px;
    margin-bottom: 30px
  }

  .contact .contact__map {
    order: 0;
    flex: 0 1 60%
  }

  .contact .contact__map iframe {
    display: block;
    height: 450px
  }

  .contact .contact__address {
    flex: 0 1 40%;
    padding: 20px 40px;
    background: #f7f8f8
  }

  .contact .contact__address-icon {
    display: flex;
    align-items: center
  }

  .contact .contact__address-icon svg {
    margin-right: 8px
  }
}

.cta--links {
  padding: 40px 0 20px
}

.cta--links.col--2 .cta__item {
  flex: 0 1 50%
}

.cta--links.col--3 .cta__item {
  flex: 0 1 33.3%
}

.cta--links.col--4 .cta__item {
  flex: 0 1 25%
}

.cta--links.col--5 .cta__item {
  flex: 0 1 20%
}

.cta--links .cta__item {
  display: inline-block;
  flex: 1 0 100%;
  color: #53565a;
  padding: 0 15px;
  text-decoration: none;
  margin-bottom: 20px
}

.cta--links .cta__item-inner {
  display: flex;
  align-items: center;
  position: relative;
  height: 100%;
  background: #fff;
  padding: 20px 35px 20px 20px;
  border-bottom: 1px solid rgba(0, 169, 206, .5);
  transition: background .3s ease-out, color .3s ease-out
}

.cta--links .cta__item-inner .icon--chevron {
  margin: 0;
  top: 50%;
  transform: rotate(45deg) translateY(-50%);
  color: #00a9ce;
  transition: color .3s ease-out
}

.cta--links .cta__item-inner:hover {
  background: rgba(0, 169, 206, .9);
  color: #fff
}

.cta--links .cta__item-inner:hover .icon--chevron {
  color: #fff
}

.cta--links .cta__item-inner.cta__item-inner--blue-alt {
  background: rgba(0, 169, 206, .9);
  color: #fff;
  border-bottom: 0
}

.cta--links .cta__item-inner.cta__item-inner--blue-alt .icon--chevron {
  color: #fff
}

.cta--links .cta__item-inner.cta__item-inner--blue-alt:hover {
  background: #fff;
  color: #00a9ce
}

.cta--links .cta__item-inner.cta__item-inner--blue-alt:hover .icon--chevron {
  color: rgba(0, 169, 206, .9)
}

.cta--links .cta__item-inner.cta__item-inner--blue {
  background: #0569b9;
  color: #fff;
  border-bottom: 0
}

.cta--links .cta__item-inner.cta__item-inner--blue .icon--chevron {
  color: #fff
}

.cta--links .cta__item-inner.cta__item-inner--blue:hover {
  background: rgba(0, 169, 206, .9)
}

.cta--text {
  text-align: center
}

.cta--text .cta__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 30px
}

.cta--text .cta__inner h2 {
  width: 100%;
  margin-bottom: 20px
}

.cta--text .cta__inner p {
  width: 100%
}

.cta--text .cta__content {
  flex: 0 1 1000px
}

.cta--blue .cta__inner {
  background: #0569b9
}

.cta--blue .cta__inner h2, .cta--blue .cta__inner p {
  color: #fff
}

.cta--blue .cta__inner .button {
  background: #fff;
  color: #0569b9;
  border: 1px solid #0569b9
}

.cta--yellow .cta__inner {
  background: #ffeb4a
}

.cta--yellow .cta__inner .button {
  background: #fff;
  color: #53565a;
  border: 1px solid #ffeb4a
}

.cta--purple .cta__inner {
  background: #833177
}

.cta--purple .cta__inner h2, .cta--purple .cta__inner p {
  color: #fff
}

.cta--purple .cta__inner .button {
  background: #fff;
  color: #833177;
  border: 1px solid #833177
}

@media (min-width:480px) {
  .cta--links .cta__item {
    flex: 0 1 50%
  }
}

@media (min-width:992px) {
  .cta--links .cta__item {
    flex: 1
  }

  .cta--text .cta__inner p {
    font-size: 18px
  }
}

.main__details {
  margin: 20px 0 30px
}

.main__details-date, .main__details-time, .main__details-venue {
  font-size: 15px;
  color: #000;
  margin-bottom: 5px
}

.main__details-date span, .main__details-time span, .main__details-venue span {
  font-weight: 700
}

.main__map {
  margin-bottom: 70px
}

.main__map h2 {
  margin-bottom: 10px
}

.main__map .main__map-buttons {
  margin-top: 20px
}

.gallery {
  margin: 0 0 70px
}

.general-content {
  margin: 30px 0
}

.intro-text {
  margin: 40px 0
}

.intro-text .row {
  justify-content: center;
  text-align: center
}

.intro-text p {
  font-size: 21px;
  font-weight: 300;
  line-height: 1.5
}

.logos {
  padding: 40px 0 25px
}

.logos .row {
  justify-content: space-evenly;
  align-items: center
}

.logos .logos__item {
  padding: 0 10px;
  margin-bottom: 15px
}

.news-event__date {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px
}

.news-event__date p {
  font-size: 15px;
  color: #0569b9;
  margin-bottom: 10px;
  padding-right: 30px
}

.news-event__date img {
  width: 200px
}

.news-events-grid__inner {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "main-item""sub-item--1""sub-item--2""sub-item--3""sub-item--4""sub-item--5";
  grid-gap: 30px;
  margin-top: 30px
}

.news-events-grid__inner .news-events-grid__link, .news-events-grid__inner>div {
  display: flex;
  flex-direction: column;
  flex: 1 0 auto;
  background: #eff0f1
}

.news-events-grid__inner .news-events-grid__link {
  text-decoration: none
}

.news-events-grid__inner .news-events-grid__link:hover .news-events-grid__item-title {
  color: rgba(0, 169, 206, .9)
}

.news-events-grid__inner .news-events-grid__item-image {
  align-self: start
}

.news-events-grid__inner .news-events-grid__item-title {
  position: relative;
  padding: 0 15px;
  margin-bottom: 15px;
  letter-spacing: .2px;
  font-weight: 600;
  line-height: 1.5
}

.news-events-grid__inner .news-events-grid__item-summary {
  font-size: 15px;
  padding: 0 15px
}

.news-events-grid__inner .news-events-grid__item-text {
  padding-top: 10px
}

.news-events-grid__inner .news-events-grid__item-details {
  align-self: flex-end;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0 15px 15px
}

.news-events-grid__inner .news-events-grid__item-details p {
  font-size: 15px;
  margin: 0
}

.news-events-grid__inner .news-events-grid__item-details .news-events-grid__item-date {
  color: #53565a
}

.news-events-grid__inner .news-events-grid__item-details .news-events-grid__item-type {
  color: rgba(0, 169, 206, .9);
  text-transform: uppercase
}

.news-events-grid__inner div {
  grid-area: main-item
}

.news-events-grid__inner div .news-events-grid__item-text {
  display: flex;
  flex-wrap: wrap;
  height: 100%
}

.news-events-grid__inner div .news-events-grid__item-details {
  align-self: flex-end
}

.news-events-grid__inner div:nth-child(2) {
  grid-area: sub-item--1
}

.news-events-grid__inner div:nth-child(3) {
  grid-area: sub-item--2
}

.news-events-grid__inner div:nth-child(4) {
  grid-area: sub-item--3
}

.news-events-grid__inner div:nth-child(5) {
  grid-area: sub-item--4
}

.news-events-grid__inner div:nth-child(6) {
  grid-area: sub-item--5
}

@media (min-width:768px) {
  .news-events-grid__inner {
    grid-template-columns: repeat(2, [col-start] 1fr);
    grid-template-rows: auto;
    grid-template-areas: "main-item main-item""sub-item--1 sub-item--2""sub-item--3 sub-item--4""sub-item--5 ."
  }

  .news-events-grid__inner>div:nth-child(1) {
    grid-column: col-start/span 2
  }
}

@media (min-width:992px) {
  .news-events-grid__inner {
    grid-template-columns: repeat(3, [col-start] 1fr);
    grid-template-areas: "main-item main-item sub-item--1""main-item main-item sub-item--2""sub-item--3 sub-item--4 sub-item--5"
  }

  .news-events-grid__inner>div:nth-child(1) {
    grid-row: span 2
  }
}

.news-events-list .news-events-list__inner {
  padding: 0 15px;
  list-style: none
}

.news-events-list .news-events-list__title {
  flex: 0 1 100%;
  padding: 0 15px
}

.news-events-list .news-events-list__item {
  margin-bottom: 45px;
  width: 100%
}

.news-events-list .news-events-list__link {
  display: flex;
  flex-wrap: wrap;
  text-decoration: none;
  width: 100%
}

.news-events-list .news-events-list__item-title {
  margin-bottom: 5px
}

.news-events-list .news-events-list__item-summary {
  font-size: 15px;
  margin-bottom: 15px
}

.news-events-list .news-events-list__item-footer {
  font-size: 15px;
  margin-bottom: 0
}

.news-events-list .news-events-list__item-link {
  position: relative;
  font-size: 15px;
  color: #0569b9;
  padding-right: 40px;
  text-decoration: none
}

.news-events-list .news-events-list__item-link .icon--chevron {
  padding-right: 0;
  top: 7px;
  margin: 0;
  height: 8px;
  width: 8px
}

.news-events-list--thumbnail .news-events-list__inner {
  width: 100%;
  margin-bottom: 0;
  padding: 0 15px
}

.news-events-list--thumbnail .news-events-list__item {
  display: flex;
  flex-wrap: wrap;
  width: 100%
}

.news-events-list--thumbnail .news-events-list__item-image {
  margin-bottom: 20px;
  width: 100%
}

.news-events-list--thumbnail .news-events-list__item-text {
  flex: 1
}

.news-events-list--thumbnail .news-events-list__item-title {
  line-height: 1.5
}

.news-events-list--thumbnail .news-events-list__item-date {
  font-size: 15px;
  font-style: italic
}

/*
.news-events-list--thumbnail .news-events-list__item-details {
  display: flex;
  align-items: center
}
*/

.news-events-list--thumbnail .news-events-list__item-details p {
  margin: 0
}

.news-events-list--thumbnail .news-events-list__item-date {
  padding-right: 20px
}

.news-events-list--thumbnail .news-events-list__item-type {
  padding-right: 20px;
  color: #00a9ce
}

.news-events-list--thumbnail .news-events-list__more {
  margin-top: -30px;
  margin-right: auto;
  margin-left: 15px;
  cursor: pointer
}

.news-events-list--two-col .news-events-list__inner {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 0;
  padding: 0
}

.news-events-list--two-col .news-events-list__item {
  flex: 0 1 100%
}

.news-events-list--home {
  margin-top: 0
}

.news-events-list--home .news-events-list__inner {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding: 0;
  margin-bottom: 0
}

.news-events-list--home .news-events-list__item {
  display: flex;
  padding: 0 15px;
  margin-bottom: 30px;
  text-decoration: none
}

.news-events-list--home .news-events-list__item .news-events-list__item-summary {
  padding: 0
}

.news-events-list--home .news-events-list__item:hover .news-events-list__item-text:before {
  transform: scale(1)
}

.news-events-list--home .news-events-list__item:hover .news-events-list__item-date, .news-events-list--home .news-events-list__item:hover .news-events-list__item-summary, .news-events-list--home .news-events-list__item:hover .news-events-list__item-title, .news-events-list--home .news-events-list__item:hover .news-events-list__item-type {
  color: #fff
}

.news-events-list--home .news-events-list__item .news-events-list__link {
  flex-direction: column
}

.news-events-list--home .news-events-list__item .news-events-list__item-image {
  height: 250px;
  width: 100%;
  object-fit: cover;
  object-position: center;
  font-family: "object-fit: cover; object-position: center"
}

.news-events-list--home .news-events-list__item .news-events-list__item-text {
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  position: relative;
  transition-property: color;
  transition-duration: .25s
}

.news-events-list--home .news-events-list__item .news-events-list__item-text:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #00a9ce;
  transform: scale(0);
  transition-property: transform;
  transition-duration: .25s;
  transition-timing-function: ease-out
}

.news-events-list--home .news-events-list__item-text {
  display: flex;
  flex-wrap: wrap;
  flex: 1 0 auto;
  justify-content: space-between;
  background: #eff0f1;
  padding: 20px 15px 0
}

.news-events-list--home .news-events-list__item-title {
  position: relative;
  padding: 0;
  margin-bottom: 15px;
  letter-spacing: .2px;
  font-weight: 600;
  line-height: 1.5;
  width: 100%
}

.news-events-list--home .news-events-list__item-summary {
  padding: 0 15px
}

.news-events-list--home .news-events-list__item-details {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0 0 15px
}

.news-events-list--home .news-events-list__item-details p {
  font-size: 15px;
  margin: 0
}

.news-events-list--home .news-events-list__item-details .news-events-list__item-date {
  color: #53565a
}

.news-events-list--home .news-events-list__item-details .news-events-list__item-type {
  color: rgba(0, 169, 206, .9);
  text-transform: uppercase
}

.news-events-list--home .news-events-list__more {
  max-width: 250px;
  text-align: center;
  margin-left: 15px
}

.news-events-list--research .col-12 {
  display: flex;
  flex-wrap: wrap
}

.news-events-list--research .news-events-list__item-title, .news-events-list--research .news-events-list__title {
  padding: 0
}

.news-events-list--research ul {
  flex: 0 1 60%;
  padding: 0 20px 0 0;
  justify-content: flex-start
}

.news-events-list--research .news-events-list__item {
  padding-left: 0;
  padding-right: 0
}

.news-events-list--research .news-events-list__item-summary {
  padding: 0
}

.news-events-list--research .card--caption {
  flex: 0 1 40%
}

@media (min-width:768px) {
  .news-events-list--home .news-events-list__more {
    margin-left: auto;
    margin-right: 15px;
    cursor: pointer
  }

  .news-events-list--thumbnail .news-events-list__item {
    flex-wrap: nowrap
  }

  .news-events-list--thumbnail .news-events-list__item-image {
    align-self: flex-start;
    max-width: 220px;
    margin-bottom: 0
  }

  .news-events-list--thumbnail .news-events-list__item-text {
    padding-left: 35px
  }
}

@media (min-width:1200px) {
  .news-events-list--home .news-events-list__item-details {
    align-self: flex-end;
    width: 100%
  }

  .news-events-list--home .news-events-list__item-image {
    height: 100%;
    object-fit: cover;
    object-position: center;
    font-family: "object-fit: cover; object-position: center"
  }

  .news-events-list--home .news-events-list__item-text {
    padding-top: 20px
  }
}

.people-list-table {
  display: block;
  width: 100%;
  margin-bottom: 70px
}

.people-list-table a {
  text-decoration: none
}

.people-list-table .people-list-table__inner {
  display: table;
  width: 100%;
  min-width: 700px
}

.people-list-table .tcdpeople {
  display: flex;
  flex-direction: column;
  overflow-x: auto;
  -ms-overflow-style: -ms-autohiding-scrollbar
}

.people-list-table .tcdpeople .tcdpeople-person {
  display: flex;
  padding: 8px 0;
  border-bottom: 1px solid #dddfe1
}

.people-list-table .tcdpeople .tcdpeople-person .tcdpeople-col-1, .people-list-table .tcdpeople .tcdpeople-person .tcdpeople-col-2, .people-list-table .tcdpeople .tcdpeople-person .tcdpeople-col-3 {
  padding-right: 15px
}

.people-list-table .tcdpeople .tcdpeople-person .tcdpeople-col-1 {
  width: 30%
}

.people-list-table .tcdpeople .tcdpeople-person .tcdpeople-col-2 {
  width: 25%
}

.people-list-table .tcdpeople .tcdpeople-person .tcdpeople-col-3 {
  width: 32%
}

.people-list-table .tcdpeople .tcdpeople-person .tcdpeople-col-4 {
  width: 13%
}

.tcdpublications {
  margin-bottom: 70px
}

.tcdpublications .tcdpublications--publication {
  padding: 0 0 30px;
  border-bottom: 1px solid #dddfe1
}

.tcdpublications .tcdpublications--filter {
  margin-bottom: 30px
}

.tcdpublications .tcdpublications--filter small {
  display: inline-block;
  margin-top: 5px
}

.tcdpublications .tcdpublications--filter--label {
  font-size: 15px
}

.tcdpublications .tcdpublications--filter--label a:last-of-type {
  margin-right: 0
}

.tcdpublications .tcdpublications--filter--link {
  display: inline-block;
  font-size: 15px;
  padding: 5px 10px;
  border-radius: 10px;
  background: #ececec;
  color: #53565a;
  margin: 0 20px 20px 0;
  text-decoration: none
}

.tcdpublications .tcdpublications--filter--link-active {
  font-weight: 700;
  background: #dddfe1
}

.tcdpublications .tcdpublications--publication--main {
  display: inline-block;
  font-weight: 700;
  margin-bottom: 10px
}

.tcdpublications .tcdpublications--publication--footer {
  font-size: 15px
}

.tcdpublications .tcdpublications--publication--separator {
  display: inline-block;
  margin-right: 15px
}

.tcdpublications .tcdpublications--paging {
  display: flex;
  flex-wrap: wrap
}

.tcdpublications .tcdpublications--paging a {
  display: inline-block;
  font-size: 15px;
  color: #53565a;
  text-decoration: none
}

.tcdpublications .tcdpublications--paging .tcdpublications--paging--link-next, .tcdpublications .tcdpublications--paging .tcdpublications--paging--link-prev {
  display: flex;
  position: relative;
  justify-content: center;
  align-items: center;
  padding: 5px 20px;
  margin-bottom: 10px
}

.tcdpublications .tcdpublications--paging .tcdpublications--paging--link-next .icon--chevron, .tcdpublications .tcdpublications--paging .tcdpublications--paging--link-prev .icon--chevron {
  position: relative;
  right: 0
}

.tcdpublications .tcdpublications--paging .tcdpublications--paging--link-prev {
  margin-right: 20px
}

.tcdpublications .tcdpublications--paging .tcdpublications--paging--link-prev .icon--chevron {
  transform: rotate(-135deg)
}

.tcdpublications .tcdpublications--paging .tcdpublications--paging--link {
  padding: 5px 10px;
  margin: 0 10px 10px 0;
  border-radius: 10px;
  transition: background .3s
}

.tcdpublications .tcdpublications--paging .tcdpublications--paging--link-active, .tcdpublications .tcdpublications--paging .tcdpublications--paging--link:hover {
  font-weight: 700;
  background: #ececec
}

.tabs {
  width: 100%;
  margin-bottom: 70px;
  padding: 0 5px 5px 8px;
  background: #eff0f1;
  content-visibility: auto;
  contain-intrinsic-size: 1px 450px
}

.tabs [role=tablist] {
  overflow: visible
}

.tabs [role=tab] {
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 20px;
  background: transparent;
  overflow: visible;
  border: 0;
  color: #53565a
}

.tabs [role=tab]:focus:before, .tabs [role=tab]:hover:before, .tabs [role=tab][aria-selected=true]:before {
  position: absolute;
  bottom: 100%;
  right: -1px;
  left: -1px;
  border-top: 3px solid #0569b9;
  content: ""
}

.tabs [role=tab][aria-selected=true] {
  background: #fff;
  outline: 0;
  color: #0569b9
}

.tabs [role=tab][aria-selected=true]:not(:focus):not(:hover):before {
  border-top: 3px solid #0569b9
}

.tabs [role=tab]:active, .tabs [role=tab]:focus, .tabs [role=tab]:hover {
  background: #fff;
  outline: 0;
  color: #0569b9
}

.tabs [role=tab]:focus:before, .tabs [role=tab]:hover:before {
  border-color: #0569b9
}

.tabs [role=tabpanel] {
  position: relative;
  z-index: 2;
  padding: 20px;
  background: #fff
}

.tabs [role=tabpanel]:focus {
  border-color: #0569b9;
  outline: 0
}

.tabs [role=tabpanel]:focus:after {
  position: absolute;
  bottom: 0;
  right: -1px;
  left: -1px;
  content: ""
}

.tabs .js-tabcontent[aria-hidden=true] {
  display: none
}

.tabs .js-tablist {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none
}

.tabs .js-tablist__item {
  display: flex;
  outline: 0;
  margin: 8px 5px 0 0;
  align-self: flex-start
}

.tabs .js-tablist__link {
  background: #fff;
  text-decoration: none;
  font-size: 15px
}

.tabs .tab__content ul {
  padding: 0;
  margin: 0 -20px;
  list-style: none
}

.tabs .tab__content li {
  padding: 0 20px 20px
}

.tabs .tab__content li span {
  display: block;
  color: #848080
}

.tabs .tab__content a, .tabs .tab__content li, .tabs .tab__content p {
  font-size: 15px
}

.tabs .tab__content .tab__projects li {
  margin-bottom: 20px;
  border-bottom: 5px solid #eff0f1;
  padding: 0 20px 20px
}

.tabs .tab__content .tab__projects li:nth-of-type(3) {
  margin-bottom: 0
}

.tabs .tab__content .tab__projects li:nth-of-type(4) {
  padding-top: 25px;
  border-top: 5px solid #eff0f1;
  border-bottom: 5px solid #eff0f1
}

.tabs .tab__content .tab__projects li:last-child, .tabs .tab__content .tab__projects li:nth-of-type(3) {
  border-bottom: 0
}

.tabs .tabs__content ul .js-show {
  display: block
}

.tabs .tab__content-all {
  border: 0;
  outline: 0;
  background: none;
  padding: 0;
  color: #0569b9;
  font-size: 15px
}

.tabs .tab__content-all:focus, .tabs .tab__content-all:hover {
  cursor: pointer;
  text-decoration: underline
}

.tabs .tab__project-details {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: 5px
}

.tabs .tab__project-details>div {
  flex: 1 0 100%;
  margin-bottom: 5px
}

.tabs .tab__project-details>div:nth-child(1) {
  font-weight: 700
}

@media (min-width:768px) {
  .tabs .js-tablist__link {
    font-size: 17px
  }

  .tabs .tab__project-details {
    flex-wrap: nowrap;
    margin-bottom: 10px
  }

  .tabs .tab__project-details>div:nth-child(1) {
    flex: 1;
    min-width: 200px;
    padding: 0 30px 0 0
  }

  .tabs .tab__project-details>div:nth-child(2) {
    flex: 0 1 100%
  }
}

.testimonial {
  margin: 0 0 30px
}

.testimonial blockquote {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0
}

.testimonial blockquote .testimonial__image {
  height: 100%;
  width: 100%;
  max-width: 90pt;
  border-radius: 100%
}

.testimonial blockquote .testimonial__text-wrap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  text-align: center
}

.testimonial blockquote .testimonial__text-wrap p {
  flex: 0 1 100%
}

.testimonial blockquote .testimonial__author {
  font-weight: 700;
  margin-bottom: 0
}

.testimonial blockquote .testimonial__role {
  color: #0569b9
}

.testimonial blockquote .testimonial__icon {
  fill: #dddfe1
}

.testimonial--quote .testimonial__text {
  font-weight: 300;
  color: #494949;
  margin-bottom: 5px
}

.testimonial--quote .testimonial__author {
  font-weight: 700;
  margin-bottom: 0
}

.testimonial--quote blockquote .testimonial__text-wrap {
  text-align: left
}

@media (min-width:768px) {
  .testimonial blockquote {
    flex-wrap: nowrap;
    justify-content: flex-start
  }

  .testimonial blockquote .testimonial__image {
    margin-right: 30px
  }

  .testimonial blockquote .testimonial__text-wrap {
    flex: 0 1 100%;
    justify-content: flex-start;
    text-align: left
  }

  .testimonial--quote {
    margin: 0 5pc 30px
  }
}

.component-margin-top {
  margin-top: 70px
}

.component-margin-bottom {
  margin-bottom: 70px
}

.component-margin-bottom--small {
  margin-bottom: 40px
}

@media (min-width:992px) {
  .component-margin-top-menu {
    margin-top: 90px
  }
}

.section-whatshappening h2 {
  font-family: Merriweather;
  font-weight: 400;
  line-height: 2em;
  font-size: 2em;
  color: #b8ac82;
  margin-top: 0
}

.section-whatshappening h2, .section-whatshappening h2 a {
  color: #d3c492
}

.section-whatshappening .link {
  font-family: Open Sans, sans-serif;
  margin-bottom: 20px
}

.section-whatshappening .link-graphic {
  background: #f5f5f5;
  border-bottom: 2px solid #edeadb
}

.section-whatshappening .link-graphic:hover {
  background: #e3e3e3
}

.section-whatshappening .link-graphic .link-header img {
  display: block
}

.section-whatshappening .link-graphic .link-main {
  padding: 10px 15px 14px
}

.section-whatshappening .link-graphic .link-title {
  font-weight: 600
}

.section-whatshappening .link-graphic .link-date {
  font-style: italic;
  margin-bottom: 5px
}

.section-whatshappening .list-whatshappeningtexts-item {
  width: 100%
}

.section-whatshappening .list {
  background: #fff;
  justify-content: flex-start;
  list-style: none;
  padding: 0;
  margin-bottom: 0
}

.section-whatshappening .list .link {
  margin-bottom: 20px;
  display: block;
  color: #534948;
  overflow: hidden;
  text-decoration: none;
  font-size: 15px
}

.section-whatshappening .list .link-graphic-date {
  margin-top: .1em;
  float: left;
  text-align: center;
  font-size: 100%;
  display: block;
  width: 3em;
  height: 3em;
  border-radius: 1.5em;
  margin-left: auto;
  margin-right: auto;
  background: #eaeaea;
  color: #434d51
}

.section-whatshappening .list .link-graphic-date:before {
  content: attr(data-date-month);
  display: block;
  text-transform: uppercase;
  font-size: 75%;
  line-height: 1;
  padding-top: .55em
}

.section-whatshappening .list .link-graphic-date:after {
  content: attr(data-date-day);
  display: block;
  line-height: 1;
  font-weight: 600;
  padding-top: .25em
}

.section-whatshappening .list .link-title {
  display: block;
  font-weight: 700;
  font-size: 17px;
  margin-bottom: 0
}

.section-whatshappening .list .link-footer {
  color: #555
}

.section-whatshappening .list .link-title {
  margin-left: 3.7em
}

.section-whatshappening .list .link-footer {
  margin-left: 4.4em
}

.section-whatshappening .link-moreevents {
  margin-left: 4.4em;
  border: 2px solid #e0d9bf;
  color: #947200;
  padding: 8px 1pc 9px;
  display: inline-block;
  margin-top: 6px;
  margin-bottom: 10px
}

.section-whatshappening .link-moreevents:hover {
  background-color: transparent
}

.section-whatshappening .link-moreevents:after {
  display: none
}

.list-whatshappeningtexts li:last-of-type a {
  margin-bottom: 0 !important
}

.tcd-footer a[href] {
  text-decoration: none;
  border-bottom: 1px solid #656565
}

.tcd-footer-inner {
  display: block;
  clear: left;
  line-height: 1.9;
  font-size: .88em;
  font-weight: 700;
  padding: 20px
}

@media all and (min-width:1px) {
  .tcd-footer-inner {
    padding: 10px
  }
}

@media all and (min-width:720px) {
  .tcd-footer-inner {
    padding: 20px
  }
}

.tcd-header-footer-visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px
}

.tcd-footer address {
  clear: left;
  float: left;
  position: relative;
  z-index: 10;
  text-align: left;
  font-style: normal;
  margin: 0 0 21px 10px;
  font-weight: 400
}

@media all and (min-width:1px) {
  .tcd-footer address {
    margin-top: 10px
  }
}

@media all and (min-width:720px) {
  .tcd-footer address {
    margin-top: 0;
    margin-left: 0
  }
}

.tcd-footer address, .tcd-footer address a {
  color: #ddd
}

.tcd-footer--list-links {
  position: relative;
  z-index: 10;
  float: right;
  text-align: left;
  list-style-type: none;
  margin: 0 0 30px;
  padding: 0;
  line-height: 1.8
}

.tcd-footer--list-links li {
  display: block;
  margin: 0 0 0 3px;
  padding: 0 0 0 17px;
  background: url(https://tcd.ie/assets/php/tcd-header-footer/2013e-ghp/img/footer-a.png) no-repeat 0 6px
}

.tcd-footer--list-links li a[href] {
  text-decoration: none
}

@media all and (min-width:1px) {
  .tcd-footer--list-links {
    float: none;
    clear: left
  }

  .tcd-footer--list-links li {
    margin-left: 0;
    padding: 0;
    background-position: 10px 50%
  }

  .tcd-footer--list-links li a {
    display: block;
    padding: 10px 10px 10px 30px
  }

  .tcd-footer--list-links li a[href] {
    border-bottom: 1px solid #2e2e2e
  }
}

@media all and (min-width:720px) {
  .tcd-footer--list-links {
    float: right;
    clear: none;
    border-bottom: 0
  }

  .tcd-footer--list-links li {
    margin-left: 0;
    padding: 0;
    background-position: 0 6px
  }

  .tcd-footer--list-links li a {
    display: inline;
    padding: 0 0 0 17px
  }

  .tcd-footer--list-links li a[href] {
    border-bottom: 0
  }
}

.tcd-footer--social {
  clear: both;
  text-align: center;
  padding-top: 0;
  padding-bottom: 20px
}

@media all and (min-width:720px) {
  .tcd-footer--social {
    width: 360px;
    position: absolute;
    top: 45px;
    left: 50%;
    margin-left: -180px
  }
}

@media all and (min-width:1200px) {
  .tcd-footer--social {
    width: 500px;
    position: absolute;
    top: 45px;
    left: 50%;
    margin-left: -250px
  }
}

.tcd-footer--social h2 {
  position: absolute;
  left: -9999px;
  padding: 0
}

.tcd-footer .tcd-footer--social-list {
  display: inline-block;
  float: none;
  list-style-type: none;
  padding: 0 !important;
  margin: 0;
  line-height: 40px
}

.tcd-footer .tcd-footer--social-list li {
  display: inline-block;
  background: none;
  padding: 0;
  vertical-align: top
}

.tcd-footer .tcd-footer--social-list li a {
  padding: 0;
  opacity: .68;
  vertical-align: top;
  display: inline-block;
  background-color: transparent;
  border: 0;
  margin-bottom: 10px;
  margin-left: 0;
  transition: opacity .1s ease-out
}

@media all and (min-width:720px) {
  .tcd-footer .tcd-footer--social-list li a {
    padding: 0 5px
  }
}

@media all and (min-width:1200px) {
  .tcd-footer .tcd-footer--social-list li a {
    padding: 0 10px
  }
}

.tcd-footer--social-list>li:first-child a {
  margin-left: 0
}

.tcd-footer--social-list a[href] {
  border-bottom: 0
}

.tcd-footer--social-list a:hover {
  opacity: 1;
  transition: opacity .2s ease-out
}

.tcd-footer--social-icon {
  display: inline-block;
  height: 40px;
  width: 40px;
  border: 0 solid #fff;
  border-radius: 7px;
  vertical-align: top;
  position: relative
}

.tcd-footer--social-icon image, .tcd-footer--social-icon svg {
  fill: #fff;
  position: absolute;
  left: 9pt;
  top: 9pt;
  height: 1pc;
  width: 1pc
}

.tcd-footer--social-text {
  position: absolute;
  left: -9999px
}

.tcd-footer--social-youtube .tcd-footer--social-icon image, .tcd-footer--social-youtube .tcd-footer--social-icon svg {
  left: 9px;
  top: 9px;
  width: 22px;
  height: 22px
}

.tcd-footer--sponsors {
  clear: both;
  text-align: center
}

.tcd-footer--sponsors--title {
  color: #a4a4a4;
  text-transform: uppercase;
  font-size: 100%;
  padding: 24.84px 0 9px;
  margin: 0
}

.tcd-footer--sponsors a[href] {
  text-decoration: none;
  border-bottom: 0;
  float: left
}

.tcd-footer--sponsors a img {
  height: 40px;
  width: auto;
  margin-right: 40px;
  opacity: .85
}

.tcd-footer--sponsors a:last-child img {
  margin-right: 0
}

@media all and (min-width:720px) {
  .tcd-footer--sponsors {
    text-align: left
  }

  .tcd-footer--sponsors a img {
    height: 60px
  }
}

/*! CSS Used from: https://www.tcd.ie/tms/2/t/trinity-theme-2014/css.php?cache=22&site_index_key=%2Findex.php ; media=all */
@media all and (min-width:720px) {
  .tcd-footer-inner {
    padding-left: 0;
    padding-right: 0
  }
}

.tcd-footer-inner {
  display: inline-block;
  display: block;
  clear: left;
  line-height: 1.9;
  font-size: .88em;
  font-weight: 700;
  padding: 20px 10px 10px;
  transition: padding .1s linear
}

.tcd-footer-inner:after {
  content: " ";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden
}

.tcd-footer a {
  color: #fff
}

.tcd-footer ul {
  float: right;
  text-align: left;
  list-style-type: none;
  margin: 0 0 10px;
  padding: 0;
  line-height: 1.8
}

.tcd-footer ul li {
  display: block;
  margin: 0 0 0 3px;
  padding: 0 0 0 17px
}

.tcd-footer ul li a {
  color: #fff
}

.tcd-footer address {
  clear: left;
  float: left;
  text-align: left;
  font-style: normal
}

@media all and (min-width:1px) {
  .tcd-footer ul {
    float: none;
    clear: left
  }

  .tcd-footer ul li {
    margin-left: 0;
    padding: 0;
    background-position: 10px 50%
  }

  .tcd-footer ul li a {
    display: block;
    padding: 10px 10px 10px 30px;
    text-decoration: none
  }
}

@media all and (min-width:720px) {
  .tcd-footer ul {
    float: right;
    clear: none;
    border-top: 0
  }

  .tcd-footer ul li {
    margin-left: 0;
    padding: 0;
    background-position: 0 6px
  }

  .tcd-footer ul li a {
    display: inline;
    padding: 0 0 0 20px;
    border-bottom: 0
  }

  .tcd-footer-inner {
    padding-left: 0;
    padding-right: 0;
    transition: padding .1s linear
  }
}

/*! CSS Used from: Embedded */
#ot-sdk-btn.ot-sdk-show-settings {
  color: #68b631;
  border: 1px solid #68b631;
  height: auto;
  white-space: normal;
  word-wrap: break-word;
  padding: .8em 2em;
  font-size: .8em;
  line-height: 1.2;
  cursor: pointer;
  transition: .1s ease
}

#ot-sdk-btn.ot-sdk-show-settings:hover {
  color: #fff;
  background-color: #68b631
}

#ot-sdk-btn.ot-sdk-show-settings:focus {
  outline: 0
}

#ot-sdk-btn.ot-sdk-show-settings, #ot-sdk-btn.ot-sdk-show-settings:hover {
  display: inline;
  text-decoration: none;
  background: none;
  color: #fff;
  font-weight: 700;
  padding: 0 0 0 20px;
  border: 0;
  font-size: 9pt;
  font-family: verdana
}

#ot-sdk-btn.ot-sdk-show-settings, #ot-sdk-btn.ot-sdk-show-settings:hover {
  font-weight: 400 !important;
  padding-left: 0 !important;
  font-size: 14px !important;
  font-family: Open Sans, serif !important;
  color: #dddee2 !important
}

/*# sourceMappingURL=maps/styles.css.map */

.js-tabs__wrapper{
  width:100%;
}/*PSRR-14531 */





