.dotContentletControls {z-index: 2;}
body {
    background: #f5f5f5;
}
h3 {
    font-weight: 800;
    color: var(--brightred);
}
html.is-reveal-open, html.is-reveal-open body {
    position: initial;
}
body .reveal {
    padding-top: 3rem;
}
#main.margin-medium-top,
.row .margin-medium-top:not(.margin-top-neg) {
    margin-top: 0 !important;
}
.hero__container {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    padding: 60px 0 130px;
}
.hero__text h1 {
    font-size: 2.5rem;
    font-weight: 900;
    color: #fff;
    text-transform: uppercase;
    line-height: .9em;
    margin-bottom: 2rem;
}

.hero__overlay {
    background-image: linear-gradient(45deg, #000 30%, rgba(18, 70, 97, 0) 80%);
    opacity: .81;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.hero__text {
    margin: 0 33% 0 0;
}

.hero__content {
    max-width: 1300px;
    margin: 0 auto;
    position: relative;
    min-height: 300px;
    display: flex;
    padding: 0 1em;
    flex-direction: column;
    justify-content: flex-end;
}
.social__icons {
    display: flex;
}
.social__icons a {
    display: inline-block;
    margin-right: .5rem;
}

.social__icons i {
    width: 3em;
    height: 3em;
    color: #fff;
    background: var(--brightred);
}

.social__icons i::before {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}
#content--main {
    margin-top: 2.5em;
    margin-bottom: 2.5em;
    overflow: visible !important;
}
#content--main .right-content > .inner,
#content--main .left-content > .inner {
    padding: 1rem;
}
.cell .full-width {
    overflow: visible !important;
}
.left-content > .inner,
.right-content > .inner {
    padding: 40px;
}
.left-content {
    z-index: 1;
}
.left-content > .inner {
    background: #fff;
    box-shadow: 0px 0px 20px 0px rgb(0 0 0 / 9%);
}

/* Gallery */
.thumbnail {
    box-shadow: none;
    border: none;
    margin: .25rem;
}

/* Footer Image */
.footer__image {
    background-position: bottom center;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: -120px;
    min-height: 70vh;
    margin-bottom: 0;
    padding: 140px 0 60px;
}



.right-content h2 {
    font-size: 2.5rem;
    display: inline-block;
}
.full-width:not(#student-spotlight) .right-content h2:after {
    content: none;
}
.button--slide::before,
.right-content .left-content li a::before,
.right-content .event__readMore a::before {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    border-bottom: solid 2px #e32426;
    transform: scaleX(0);
    transform-origin: 0% 50%;
    transition: transform .3s ease-in-out;
}
.button--slide.button--inline::before,
p .button--slide::before {
    bottom: 2px;
    border-bottom: solid 1px #e32426;
}
.button--slide:hover::before,
.button--slide:focus::before,
.right-content .left-content li a:hover::before,
.right-content .left-content li a:focus::before,
.right-content .event__readMore a:hover::before,
.right-content .event__readMore a:focus::before {
    transform: scaleX(1);
    transform-origin: 0% 50%;
}
.button--arrow::after,
.right-content .left-content li a::after {
  content: '\f054';
  font-weight: 400;
  margin-left: 1rem;
  position: absolute;
  font-family: "Font Awesome 5 Pro";
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  transition: transform .3s ease;
}
.button--arrow:hover::after,
.button--arrow:focus::after,
.right-content .left-content li a:hover::after,
.right-content .left-content li a:focus::after {
    transform: translateX(5px);
}

.right-content h2 {
    color: var(--brightred);
    font-size: 1.6rem;
    font-weight: 800;
    margin-bottom: 1rem;
}
.right-content h2 i {
    font-size: 2rem;
}
.right-content .event__container {
    box-shadow: 0px 0px 10px 0px rgb(0 0 0 / 11%);
    border-left: 5px solid #e32426;
    margin-bottom: 1.5rem;
    background: #fff;
    position: relative;
    padding: 1rem;
    transition: box-shadow .3s ease-in-out;
}
.right-content .event__container:hover,
.right-content .event__container:focus {
    box-shadow: 0px 0px 10px 10px rgb(0 0 0 / 11%);
}
.right-content .event__container h3 {
    color: #54595f;
    font-size: 1rem;
    font-weight: 600;
    transition: color .3s ease;
}
.right-content .event__container a:hover h3,
.right-content .event__container a:focus h3 {
    color: #e32426;
}
.right-content .event__container h3.event__date {
    color: #e32426;
    display: block;
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
}
.right-content .event__container p,
.right-content .event__description {
    font-size: 0.9rem;
    color: #757575;
}
.right-content .event__description a {
    color: #e32426;
    word-break: break-all;
}
.right-content .event__description a:hover,
.right-content .event__description a:focus {
    color: #e32426;
    text-decoration: underline;
}
.right-content .event__readMore {
    margin: 1rem 0 2rem 0;
}
.right-content .event__readMore a {
    font-size: 1rem;
    text-transform: uppercase;
    font-weight: 700;
    color: #e32426;
    position: relative;
}
.right-content .event__readMore a i {
    position: absolute;
    margin-left: 1rem;
    line-height: 1.5;
    transition: transform .3s ease;
}
.right-content .event__readMore a:hover i,
.right-content .event__readMore a:focus i {
    transform: translateX(5px);
}
.right-content .event__viewMore {
    display: none;
    position: absolute;
    bottom: 1rem;
    right: 2rem;
    color: #e32426;
    font-weight: 500;
    text-transform: uppercase;
    font-size: .9rem;
}
.right-content .event__viewMore::after {
    margin-left: .5rem;
}
.right-content .event__container:hover .event__viewMore::before,
.right-content .event__container:focus .event__viewMore::before {
    transform: scaleX(1);
    transform-origin: 0% 50%;
}
.right-content .event__container:hover .event__viewMore::after,
.right-content .event__container:focus .event__viewMore::after {
    transform: translateX(5px);
}
table.stack td {
    font-size: .85rem;
}

@media print, screen and (min-width: 40em) {
    .hero__content {
        min-height: 500px;
    }
    table.stack td {
        font-size: 1rem;
    }
    .hero__text h1 {
        font-size: 4.5rem;
    }
    .hero__content {
        padding: 0 5em;
    }
    #content--main .left-content > .inner {
        padding: 2.5rem;
    }
}