@charset "UTF-8";

.blockquote,
blockquote {
    margin: 0 2rem .5rem;
    font-size: 1.25rem
}

.blockquote cite,
blockquote cite {
    font-size: 1rem;
    opacity: .8;
    display: block
}

#adminbar {
    position: sticky;
    bottom: -1px;
    padding: .75em 0;
    background: #212529;
    color: #ccc;
    z-index: 1020
}

#adminbar .container {
    justify-content: space-between
}

#adminbar .container,
#adminbar nav {
    display: flex;
    align-items: center
}

#adminbar nav>a,
#adminbar nav a.publish {
    opacity: .9;
    padding: 0 .5em;
    font-size: .75em;
    color: inherit;
    text-decoration: none
}

#adminbar nav>a:focus,
#adminbar nav>a:hover,
#adminbar nav a.publish:focus,
#adminbar nav a.publish:hover {
    opacity: 1
}

#adminbar nav a.publish {
    color: #28a745
}

#adminbar nav a.publish+.dropdown-menu {
    background: #39ae54
}

#adminbar nav a.publish+.dropdown-menu .dropdown-item {
    color: #fff
}

#adminbar nav a.publish+.dropdown-menu .dropdown-item:focus,
#adminbar nav a.publish+.dropdown-menu .dropdown-item:hover {
    background: #28a745
}

#adminbar nav .dropdown-toggle {
    margin-top: -1px
}

#adminbar nav .dropdown-toggle:after {
    display: none
}

#adminbar nav .dropdown-item {
    text-decoration: none
}

#adminbar nav .separator {
    width: 1px;
    height: 1em;
    margin: 0 .33em;
    background: hsla(0, 0%, 100%, .3)
}

.animated {
    visibility: hidden
}

.animated.heartBeat,
.animated.in,
.animated.jello,
.animated.rubberBand,
.animated.swing,
.animated.tada {
    visibility: visible
}

.animated:not(.in) {
    animation-name: none !important
}

:root {
    --animate-duration: 1s;
    --animate-delay: 1s;
    --animate-repeat: 1
}

.animated {
    animation-duration: var(--animate-duration);
    animation-fill-mode: both
}

.animated.infinite {
    animation-iteration-count: infinite
}

.animated.repeat-1 {
    animation-iteration-count: var(--animate-repeat)
}

.animated.repeat-2 {
    animation-iteration-count: calc(var(--animate-repeat) * 2)
}

.animated.repeat-3 {
    animation-iteration-count: calc(var(--animate-repeat) * 3)
}

.animated.delay-1s {
    animation-delay: var(--animate-delay)
}

.animated.delay-2s {
    animation-delay: calc(var(--animate-delay) * 2)
}

.animated.delay-3s {
    animation-delay: calc(var(--animate-delay) * 3)
}

.animated.delay-4s {
    animation-delay: calc(var(--animate-delay) * 4)
}

.animated.delay-5s {
    animation-delay: calc(var(--animate-delay) * 5)
}

.animated.faster {
    animation-duration: calc(var(--animate-duration)/2)
}

.animated.fast {
    animation-duration: calc(var(--animate-duration) * .8)
}

.animated.slow {
    animation-duration: calc(var(--animate-duration) * 2)
}

.animated.slower {
    animation-duration: calc(var(--animate-duration) * 3)
}

@media (prefers-reduced-motion:reduce),
print {
    .animated {
        animation-duration: 1ms !important;
        transition-duration: 1ms !important;
        animation-iteration-count: 1 !important
    }

    .animated[class*=Out] {
        opacity: 0
    }
}

@keyframes a {
    0% {
        transform: scale(1)
    }

    14% {
        transform: scale(1.3)
    }

    28% {
        transform: scale(1)
    }

    42% {
        transform: scale(1.3)
    }

    70% {
        transform: scale(1)
    }
}

.heartBeat {
    animation-name: a;
    animation-duration: calc(var(--animate-duration) * 1.3);
    animation-timing-function: ease-in-out
}

@keyframes b {

    0%,
    11.1%,
    to {
        transform: translateZ(0)
    }

    22.2% {
        transform: skewX(-12.5deg) skewY(-12.5deg)
    }

    33.3% {
        transform: skewX(6.25deg) skewY(6.25deg)
    }

    44.4% {
        transform: skewX(-3.125deg) skewY(-3.125deg)
    }

    55.5% {
        transform: skewX(1.5625deg) skewY(1.5625deg)
    }

    66.6% {
        transform: skewX(-.78125deg) skewY(-.78125deg)
    }

    77.7% {
        transform: skewX(.390625deg) skewY(.390625deg)
    }

    88.8% {
        transform: skewX(-.1953125deg) skewY(-.1953125deg)
    }
}

.jello {
    animation-name: b;
    transform-origin: center
}

@keyframes c {
    0% {
        transform: scaleX(1)
    }

    30% {
        transform: scale3d(1.25, .75, 1)
    }

    40% {
        transform: scale3d(.75, 1.25, 1)
    }

    50% {
        transform: scale3d(1.15, .85, 1)
    }

    65% {
        transform: scale3d(.95, 1.05, 1)
    }

    75% {
        transform: scale3d(1.05, .95, 1)
    }

    to {
        transform: scaleX(1)
    }
}

.rubberBand {
    animation-name: c
}

@keyframes d {
    20% {
        transform: rotate(15deg)
    }

    40% {
        transform: rotate(-10deg)
    }

    60% {
        transform: rotate(5deg)
    }

    80% {
        transform: rotate(-5deg)
    }

    to {
        transform: rotate(0deg)
    }
}

.swing {
    transform-origin: top center;
    animation-name: d
}

@keyframes e {
    0% {
        transform: scaleX(1)
    }

    10%,
    20% {
        transform: scale3d(.9, .9, .9) rotate(-3deg)
    }

    30%,
    50%,
    70%,
    90% {
        transform: scale3d(1.1, 1.1, 1.1) rotate(3deg)
    }

    40%,
    60%,
    80% {
        transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg)
    }

    to {
        transform: scaleX(1)
    }
}

.tada {
    animation-name: e
}

@keyframes f {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.fadeIn {
    animation-name: f
}

@keyframes g {
    0% {
        opacity: 0;
        transform: translate3d(-100%, 0, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

.fadeInLeft {
    animation-name: g
}

@keyframes h {
    0% {
        opacity: 0;
        transform: translate3d(100%, 0, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

.fadeInRight {
    animation-name: h
}

@keyframes i {
    0% {
        opacity: 0;
        transform: translate3d(0, 100%, 0)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

.fadeInUp {
    animation-name: i
}

@keyframes j {
    0% {
        transform: perspective(400px) rotateX(90deg);
        animation-timing-function: ease-in;
        opacity: 0
    }

    40% {
        transform: perspective(400px) rotateX(-20deg);
        animation-timing-function: ease-in
    }

    60% {
        transform: perspective(400px) rotateX(10deg);
        opacity: 1
    }

    80% {
        transform: perspective(400px) rotateX(-5deg)
    }

    to {
        transform: perspective(400px)
    }
}

.flipInX {
    backface-visibility: visible !important;
    animation-name: j
}

@keyframes k {
    0% {
        transform: perspective(400px) rotateY(90deg);
        animation-timing-function: ease-in;
        opacity: 0
    }

    40% {
        transform: perspective(400px) rotateY(-20deg);
        animation-timing-function: ease-in
    }

    60% {
        transform: perspective(400px) rotateY(10deg);
        opacity: 1
    }

    80% {
        transform: perspective(400px) rotateY(-5deg)
    }

    to {
        transform: perspective(400px)
    }
}

.flipInY {
    backface-visibility: visible !important;
    animation-name: k
}

@keyframes l {
    0% {
        transform: translate3d(-100%, 0, 0) skewX(30deg);
        opacity: 0
    }

    60% {
        transform: skewX(-20deg);
        opacity: 1
    }

    80% {
        transform: skewX(5deg)
    }

    to {
        transform: translateZ(0)
    }
}

.lightSpeedInLeft {
    animation-name: l;
    animation-timing-function: ease-out
}

@keyframes m {
    0% {
        opacity: 0;
        transform: scale(.1) rotate(30deg);
        transform-origin: center bottom
    }

    50% {
        transform: rotate(-10deg)
    }

    70% {
        transform: rotate(3deg)
    }

    to {
        opacity: 1;
        transform: scale(1)
    }
}

.jackInTheBox {
    animation-name: m
}

@keyframes n {
    0% {
        opacity: 0;
        transform: translate3d(-100%, 0, 0) rotate(-120deg)
    }

    to {
        opacity: 1;
        transform: translateZ(0)
    }
}

.rollIn {
    animation-name: n
}

@keyframes o {
    0% {
        opacity: 0;
        transform: scale3d(.3, .3, .3)
    }

    50% {
        opacity: 1
    }
}

.zoomIn {
    animation-name: o
}

@keyframes p {
    0% {
        opacity: 0;
        transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    60% {
        opacity: 1;
        transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

.zoomInLeft {
    animation-name: p
}

@keyframes q {
    0% {
        opacity: 0;
        transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    60% {
        opacity: 1;
        transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

.zoomInRight {
    animation-name: q
}

@keyframes r {
    0% {
        opacity: 0;
        transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
        animation-timing-function: cubic-bezier(.55, .055, .675, .19)
    }

    60% {
        opacity: 1;
        transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
        animation-timing-function: cubic-bezier(.175, .885, .32, 1)
    }
}

.zoomInUp {
    animation-name: r
}

#banner .carousel .slick-slide {
    padding: 0
}

#banner .carousel .slick-slide .slide {
    height: 100%
}

#banner .slide {
    position: relative;
    height: 0
}

#banner .slide.animate-pan .slide-media {
    min-width: calc(100% + 200px)
}

#banner .slide.active {
    height: 100%
}

#banner .slide.active .slide-media {
    animation-duration: 15s;
    animation-timing-function: ease-in-out;
    animation-direction: alternate;
    animation-iteration-count: infinite
}

#banner .slide.active.animate-pan .slide-media {
    animation-name: s
}

#banner .slide.active.animate-zoom .slide-media {
    animation-name: t
}

#banner .slide.active .text {
    opacity: 1;
    visibility: visible
}

#banner .slide.active .text.text-slide {
    transform: translateX(0)
}

#banner .slide.active .text.text-scale {
    transform: scale(1)
}

#banner .slide.active .text.text-skew {
    transform: skewX(0)
}

#banner .slide.active .text.text-rotate {
    transform: rotateY(0)
}

#banner .slide-media {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform-origin: center center;
    overflow: hidden
}

#banner .dynamic-media {
    max-width: none !important
}

#banner .dynamic-media.dynamic-image>div {
    background-position-y: top
}

#banner .text {
    opacity: 0;
    position: relative;
    visibility: hidden;
    z-index: 5
}

#banner .text .link {
    margin-top: .5em
}

#banner .text>:first-child {
    margin-top: 0
}

#banner .text>:last-child {
    margin-bottom: 0
}

#banner .text.text-fade {
    opacity: 0
}

#banner .text.text-slide {
    transform: translateX(25vw);
    opacity: 0
}

#banner .text.text-scale {
    transform: scale(0);
    opacity: 0
}

#banner .text.text-skew {
    transform: skewX(75deg);
    opacity: 0
}

#banner .text.text-rotate {
    transform: rotateY(135deg);
    opacity: 0
}

#banner .container {
    position: relative;
    display: flex;
    height: 100%
}

#banner .align-top,
#banner .align-top-left,
#banner .align-top-right {
    align-items: flex-start
}

#banner .align-center,
#banner .align-left,
#banner .align-right {
    align-items: center
}

#banner .align-bottom,
#banner .align-bottom-left,
#banner .align-bottom-right {
    align-items: flex-end
}

#banner .align-bottom-left,
#banner .align-left,
#banner .align-top-left {
    justify-content: flex-start
}

#banner .align-bottom,
#banner .align-center,
#banner .align-top {
    justify-content: center;
    text-align: center
}

#banner .align-bottom-right,
#banner .align-right,
#banner .align-top-right {
    justify-content: flex-end
}

@keyframes s {
    0% {
        transform: translateX(0)
    }

    to {
        transform: translateX(-200px)
    }
}

@keyframes t {
    0% {
        transform: scale(1)
    }

    to {
        transform: scale(1.2)
    }
}

.cb.cb-break {
    margin: 20px 0
}

.cb.cb-break hr {
    border-top: 1px solid #ced4da;
    margin: 0 auto
}

.carousel {
    margin: 0 2rem
}

.carousel:not(.slick-initialized) {
    height: 0;
    overflow: hidden
}

.carousel .slick-slide {
    padding: 0 15px
}

.slick-control {
    font-size: 1.25em;
    width: 1em;
    height: 1em;
    line-height: 1;
    background-color: hsla(0, 0%, 100%, .5);
    border: 0;
    border-radius: 4px;
    box-shadow: 0 0 .2em 0 rgba(0, 0, 0, .2);
    text-indent: -999px;
    overflow: hidden
}

.slick-control .icon {
    font-size: .75em;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.slick-arrow {
    position: absolute;
    top: 50%;
    font-size: 1.25rem;
    width: 1em;
    height: 1.5em;
    transform: translateY(-50%)
}

.slick-arrow.slick-disabled {
    opacity: .33
}

.slick-prev {
    left: -2em
}

.slick-prev:after {
    content: "icon-chevron-left";
    display: none
}

.slick-next {
    right: -2em
}

.slick-next:after {
    content: "icon-chevron-right";
    display: none
}

.slick-dots {
    position: absolute;
    bottom: -2em;
    left: 50%;
    font-size: 1rem;
    transform: translateX(-50%)
}

.slick-dots button {
    width: 1em;
    height: 1em;
    padding: 0;
    border-radius: 50%;
    transition: all .3s ease-in-out;
    background: #000;
    border: .2em solid #000;
    margin: 0 .15em
}

.slick-dots button:hover {
    border-color: #000;
    background: #adb5bd
}

.slick-dots .slick-active button {
    border-color: #000;
    background: #fff
}

.slick-dotted {
    margin-bottom: 4rem
}

.carousel .slick-pause {
    position: absolute;
    top: 100%;
    left: .5em;
    margin-top: .5em
}

.carousel .slick-pause.slick--paused:after {
    content: "icon-play";
    display: none
}

.carousel .slick-pause.slick--playing:after {
    content: "icon-pause";
    display: none
}

.carousel-caption {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    background: rgba(0, 0, 0, .5);
    color: #fff;
    font-size: .9rem;
    padding: 1em
}

.carousel-center {
    text-align: center
}

.carousel-center .slick-track {
    display: flex;
    align-items: center
}

.carousel-center .slick-slide {
    float: none
}

.carousel-center img {
    display: inline-block
}

.cb-wrapper .cb.align-center {
    width: 100%;
    margin-left: auto;
    margin-right: auto
}

.cb-wrapper .cb.align-center+.cb:after,
.cb-wrapper .cb.align-left+.cb:after,
.cb-wrapper .cb.align-right+.cb:after {
    display: block;
    clear: both;
    content: ""
}

.cb-wrapper .cb:not(.cb-col) {
    margin-bottom: 20px
}

.cb-wrapper .cb figcaption {
    font-size: .9em;
    padding: 1em 2em 0;
    color: inherit;
    opacity: .7;
    text-align: center;
    text-decoration: none
}

@media (min-width:992px) {

    .cb-wrapper .cb.align-left,
    .cb-wrapper .cb.align-right {
        width: 50%
    }

    .cb-wrapper .cb.align-left {
        float: left;
        margin-right: 2em
    }

    .cb-wrapper .cb.align-right {
        float: right;
        margin-left: 2em
    }
}

@media (max-width:991.98px) {

    .cb-wrapper .cb.align-left,
    .cb-wrapper .cb.align-right {
        width: 100%;
        max-width: none !important;
        margin-left: auto;
        margin-right: auto
    }
}

.cb-wrapper .cb .cb-bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    z-index: 0
}

.cb-wrapper .cb.bg-fixed>.cb-bg .dynamic-image>div {
    background-attachment: fixed
}

@supports (-webkit-overflow-scrolling:touch) {
    .cb-wrapper .cb.bg-fixed>.cb-bg .dynamic-image>div {
        background-attachment: scroll
    }
}

.cb-col,
.cb-grp,
.cb-row {
    position: relative
}

.cb-col .cb-inner,
.cb-grp .cb-inner,
.cb-row .cb-inner {
    position: relative;
    z-index: 1
}

.cb-pnl {
    position: relative
}

.cb-pnl .text-content {
    position: relative;
    padding: 2em
}

.cb-pnl .text-content>:last-child {
    margin-bottom: 0 !important
}

@media (min-width:992px) {
    .cb-pnl {
        display: flex
    }

    .cb-pnl.left {
        justify-content: flex-start
    }

    .cb-pnl.center {
        justify-content: center
    }

    .cb-pnl.right {
        justify-content: flex-end
    }

    .cb-pnl.width-sm .text {
        width: 33%
    }

    .cb-pnl.width-md .text {
        width: 50%
    }

    .cb-pnl.width-lg .text {
        width: 66%
    }

    .cb-pnl.block .text {
        position: relative
    }

    .cb-pnl.block.left .image,
    .cb-pnl.block.right .image {
        position: relative;
        flex: 1
    }

    .cb-pnl.block.left .image {
        order: 2
    }

    .cb-pnl.block .padding-sm,
    .cb-pnl.overlay .padding-sm {
        padding: 3em 0
    }

    .cb-pnl.block .padding-md,
    .cb-pnl.overlay .padding-md {
        padding: 6em 0
    }

    .cb-pnl.block .padding-lg,
    .cb-pnl.overlay .padding-lg {
        padding: 9em 0
    }

    .cb-pnl.ribbon {
        padding: 0 4em
    }

    .cb-pnl.ribbon .text {
        position: relative
    }

    .cb-pnl.ribbon .padding-sm {
        margin: 3em 0
    }

    .cb-pnl.ribbon .padding-md {
        margin: 6em 0
    }

    .cb-pnl.ribbon .padding-lg {
        margin: 9em 0
    }
}

@media (max-width:991.98px) {

    .cb-pnl .image,
    .cb-pnl .text {
        position: relative
    }

    .cb-pnl .image {
        min-height: 56vw
    }
}

.container .cb-wrapper .container {
    padding: 0
}

.countdown {
    display: flex
}

.countdown .countdown-item {
    display: flex;
    flex-direction: column;
    text-align: center;
    flex: 1
}

.countdown .countdown-value {
    font-size: 2em;
    font-weight: 700;
    line-height: 1
}

@media (max-width:991.98px) {
    .countdown {
        font-size: .75em
    }
}

.dynamic-media {
    margin: 0 auto
}

.dynamic-media>div {
    display: block;
    width: 100%
}

.dynamic-media.auto,
.dynamic-media.auto>div {
    height: 100%
}

.dynamic-image>div {
    position: relative;
    background-repeat: no-repeat;
    background-position: 50%
}

.dynamic-image.cover>div {
    background-size: cover
}

.dynamic-image.contain>div {
    background-size: contain
}

.dynamic-image .credit {
    display: inline-block;
    position: absolute;
    right: 0;
    bottom: 0;
    font-size: 11px;
    background: rgba(0, 0, 0, .6);
    color: #fff;
    padding: .25em .5em
}

.dynamic-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.dynamic-video.cover video {
    object-fit: cover
}

.dynamic-video.contain video {
    object-fit: contain
}

.ext {
    display: inline-block;
    width: 32px;
    height: 39px;
    background-position: top;
    background-repeat: no-repeat;
    background-image: url(../images/attached.png)
}

.ext-potx,
.ext-pps,
.ext-ppsx,
.ext-ppt,
.ext-pptx {
    background-image: url(../images/presentation.png)
}

.ext-bmp,
.ext-gif,
.ext-jpeg,
.ext-jpg,
.ext-png {
    background-image: url(../images/raster.png)
}

.ext-avi,
.ext-mov,
.ext-mp4,
.ext-mpeg,
.ext-wmv {
    background-image: url(../images/video.png)
}

.ext-xls,
.ext-xlsx,
.ext-xlt {
    background-image: url(../images/spreadsheet.png)
}

.ext-doc,
.ext-docx,
.ext-dotm {
    background-image: url(../images/word.png)
}

.ext-mp3,
.ext-wav,
.ext-wma {
    background-image: url(../images/audio.png)
}

.ext-ai,
.ext-eps {
    background-image: url(../images/vector.png)
}

.ext-zip {
    background-image: url(../images/archive.png)
}

.ext-indd {
    background-image: url(../images/indd.png)
}

.ext-pdf {
    background-image: url(../images/pdf.png)
}

.ext-psd {
    background-image: url(../images/psd.png)
}

.ext-txt {
    background-image: url(../images/txt.png)
}

.file {
    display: flex;
    align-items: center;
    line-height: 1.2;
    margin-bottom: 20px
}

.file .ext {
    margin-top: .45em;
    margin-right: .51em
}

.file .ext-label {
    display: inline-block;
    margin-left: .25em;
    font-size: 11px;
    color: #777;
    text-transform: uppercase
}

.file .caption {
    font-size: .85em;
    margin: .25em 0;
    line-height: 1.4
}

.file a {
    display: block
}

.file .filesize {
    font-size: .75em;
    color: #777
}

.grid {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px
}

.grid>* {
    padding: 0 15px;
    margin-bottom: 30px
}

.grid.grid-2>* {
    width: 50%
}

.grid.grid-3>* {
    width: 33.33%
}

.grid.grid-4>* {
    width: 25%
}

.grid.grid-5>* {
    width: 20%
}

.grid.grid-6>* {
    width: 16.66%
}

@media (min-width:992px) and (max-width:1199.98px) {
    .grid.grid-6>* {
        width: 20%
    }
}

@media (min-width:768px) and (max-width:991.98px) {
    .grid.grid-4>* {
        width: 33.33%
    }

    .grid.grid-5>*,
    .grid.grid-6>* {
        width: 25%
    }
}

@media (min-width:576px) and (max-width:767.98px) {

    .grid.grid-3>*,
    .grid.grid-4>* {
        width: 50%
    }

    .grid.grid-5>*,
    .grid.grid-6>* {
        width: 33.33%
    }
}

@media (max-width:575.98px) {

    .grid.grid-2>*,
    .grid.grid-3>*,
    .grid.grid-4>* {
        width: 100%
    }

    .grid.grid-5>*,
    .grid.grid-6>* {
        width: 50%
    }
}

.icon {
    display: inline-block;
    font-size: inherit;
    line-height: 1;
    height: 1em;
    max-width: 1em;
    fill: currentColor;
    vertical-align: -.125em
}

.layer {
    position: fixed;
    top: 0;
    height: 100%;
    width: 100%;
    z-index: 1050;
    background: rgba(0, 0, 0, .9);
    opacity: 0;
    transition: opacity .25s ease-out;
    visibility: hidden
}

.layer a {
    color: inherit
}

.layer .layer-dialog {
    position: relative;
    padding-top: 4rem;
    background: #fff;
    color: #343a40;
    overflow-y: auto;
    overflow-x: hidden;
    transition: transform .25s ease-out
}

.layer .layer-close {
    position: absolute;
    top: 0;
    right: 0;
    padding: 1rem;
    font-size: 2rem;
    line-height: 1;
    border: 0;
    background: none;
    color: inherit
}

.layer.layer-open {
    opacity: 1
}

.layer.layer-closing,
.layer.layer-open {
    visibility: visible
}

body.layer-noscroll {
    overflow: hidden
}

.lightbox .layer-dialog {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: transparent;
    color: #fff
}

.lightbox-loader {
    position: absolute;
    top: 50%;
    left: 50%;
    opacity: 0;
    transform: translate(-50%, -50%);
    transition: opacity .25s ease-out
}

.lightbox-loading .lightbox-loader {
    opacity: 1
}

.lightbox-content {
    position: relative;
    transform: scale(1);
    transition: transform .25s ease-out
}

.layer-closing .lightbox-content,
.lightbox-loading .lightbox-content {
    transform: scale(.8)
}

.lightbox-loading .lightbox-content {
    transition: none
}

.lightbox-image img {
    max-width: calc(100vw - 20em);
    max-height: calc(100vh - 15em)
}

.lightbox-embed {
    position: relative;
    display: block;
    width: calc(100vw - 20em);
    max-width: 100vh;
    padding: 0;
    overflow: hidden;
    padding-top: 56.25%;
    background: #000
}

.lightbox-embed iframe {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0
}

.lightbox-html {
    background: #fff;
    color: #222;
    padding: 2rem;
    border-radius: .5rem;
    max-width: 60rem;
    max-height: 80vh;
    overflow: auto
}

.lightbox-html .title {
    font-size: 1.6rem;
    margin: 0 0 .25em
}

.lightbox-html .subtitle {
    font-size: .9rem;
    color: #777;
    margin: -.5rem 0 1rem
}

.lightbox-html .description {
    line-height: 1.6
}

.lightbox-caption {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    padding: .5em;
    font-size: .8em;
    line-height: 1.4
}

.lightbox-nav {
    position: absolute;
    top: 50vh;
    padding: .5em;
    font-size: 3em;
    font-family: Arial, sans-serif;
    line-height: 1;
    color: #fff;
    transform: translateY(-50%);
    background: none;
    color: inherit;
    border: 0;
    cursor: pointer
}

.lightbox-nav.lightbox-prev {
    left: 0
}

.lightbox-nav.lightbox-next {
    right: 0
}

@media (max-width:991.98px) {
    .lightbox-image img {
        max-width: calc(100vw - 3em)
    }

    .lightbox-embed {
        width: calc(100vw - 3em)
    }

    .lightbox-html {
        max-width: calc(100vw - 3em)
    }

    .lightbox-nav {
        font-size: 2em;
        padding: .5em
    }
}

[data-lightbox] {
    cursor: pointer
}

.listing article>a {
    display: block;
    text-decoration: none;
    color: inherit;
    transition: box-shadow .25s;
    background: #fff;
    box-shadow: 0 0 1em rgba(0, 0, 0, .15)
}

.listing article>a .dynamic-media,
.listing article>a:hover .dynamic-media {
    transition: transform 1s
}

.listing article>a:focus,
.listing article>a:hover {
    box-shadow: 0 0 2em rgba(0, 0, 0, .15)
}

.listing article>a:focus:hover .dynamic-media,
.listing article>a:hover:hover .dynamic-media {
    transform: scale(1.05)
}

.listing article>a:focus .title .icon,
.listing article>a:hover .title .icon {
    opacity: 1;
    transform: translatex(0)
}

.listing article>a .title {
    color: #000
}

.listing article>a .title:after {
    content: "icon-angle-right";
    display: none
}

.listing article>a .title .icon {
    width: 30px;
    height: 30px;
    margin-left: 1px;
    margin-right: -1em;
    opacity: 0;
    transform: translatex(10px);
    transition: all .25s;
    color: #e1251b;
    font-size: 2em
}

.listing article .media-wrapper {
    position: relative;
    overflow: hidden
}

.listing .title {
    margin: 0;
    font-size: 1.4em
}

@media (max-width:991.98px) {
    .listing .title {
        font-size: 1.2em
    }
}

.listing .pretitle {
    margin-bottom: .5em;
    font-size: .8em;
    opacity: .6
}

.listing .subtitle {
    margin-top: .5em;
    font-size: .8em;
    opacity: .6
}

.listing .text {
    line-height: 1.3em
}

.listing .description {
    margin-top: .75em
}

.listing .btn-wrapper {
    margin-top: .5em
}

.listing .btn-wrapper .btn-link {
    padding: 0
}

.listing .modal {
    display: none
}

.listing.grid.grid-2 h2 {
    font-size: 1.4em
}

.listing.grid.grid-3 h2 {
    font-size: 1.35em
}

.listing.grid.grid-4 h2 {
    font-size: 1.3em
}

.listing.grid.grid-5 h2 {
    font-size: 1.25em
}

.listing.grid.grid-6 h2 {
    font-size: 1.2em
}

.listing.listing-grid article {
    margin-bottom: 3em
}

.listing.listing-grid article a {
    height: 100%;
    color: #000
}

.listing.listing-grid .text {
    padding: 2em
}

.listing.listing-grid .date {
    text-align: center;
    padding: .5em 1em;
    font-size: .8em
}

.listing.listing-image article>* {
    position: relative
}

.listing.listing-image article>:focus .text,
.listing.listing-image article>:hover .text {
    background: rgba(0, 0, 0, .35)
}

.listing.listing-image article>:focus .description,
.listing.listing-image article>:hover .description {
    visibility: visible;
    opacity: 1;
    top: 0
}

.listing.listing-image a .title:after {
    content: "icon-angle-right";
    display: none
}

.listing.listing-image .title {
    color: #fff
}

.listing.listing-image .text {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 2em;
    background: rgba(0, 0, 0, .25);
    color: #fff;
    overflow: hidden;
    transition: background .33s ease-out
}

.listing.listing-image .description {
    position: relative;
    visibility: hidden;
    opacity: 0;
    top: 3em;
    transition: all .33s ease-out
}

.listing.listing-image .image+.date {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 1.5em 2.25em .75em .75em;
    display: flex;
    flex-direction: column;
    align-content: center;
    text-align: left;
    line-height: 1.2;
    border-top-right-radius: 100%;
    color: #212529
}

.listing.listing-image .image+.date:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 300%;
    height: 180%;
    background: #65baaf;
    outline: 6px solid rgba(101, 186, 175, .5);
    transform: translate(-50%, 50%) rotate(45deg) skewY(10deg)
}

.listing.listing-image .image+.date .day,
.listing.listing-image .image+.date .month {
    font-weight: 700;
    font-size: 1.2em
}

.listing.listing-image .image+.date .year {
    margin-top: .25em;
    font-size: .9em
}

.listing.listing-image .image+.date * {
    position: relative;
    z-index: 5
}

.listing.listing-image:not(.grid) article {
    margin-bottom: 30px
}

.listing.listing-large article {
    padding-bottom: 1em;
    margin-bottom: 4em
}

.listing.listing-large article a {
    background: none
}

.listing.listing-large article a:focus,
.listing.listing-large article a:hover {
    box-shadow: none
}

.listing.listing-large .text {
    padding: 3em
}

.listing.listing-large:not(.grid) article {
    border-bottom: 1px solid #eee
}

.listing.listing-large:not(.grid) article:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0
}

@media (max-width:991.98px) {
    .listing.listing-large article {
        padding-bottom: 1em;
        margin-bottom: 2em
    }
}

.listing.listing-wide article {
    margin-bottom: 2em
}

.listing.listing-wide article>* {
    display: flex
}

.listing.listing-wide .media-wrapper {
    flex: 1
}

.listing.listing-wide .text {
    flex: 2;
    padding: 2em
}

@media (max-width:991.98px) {
    .listing.listing-wide article {
        margin-bottom: 2em
    }

    .listing.listing-wide .text {
        padding-top: 2em
    }
}

.listing.listing-wide.grid-lg .text {
    flex: 1
}

.listing.listing-basic article {
    margin: 0
}

.listing.listing-basic article>* {
    display: flex;
    padding: 2em 1em;
    margin: 0 -1em
}

.listing.listing-basic article a {
    background: none;
    box-shadow: none;
    margin-bottom: 1em;
    transition: background-color 1s
}

.listing.listing-basic article a:focus,
.listing.listing-basic article a:hover {
    box-shadow: none;
    background-color: #e9ecef
}

.listing.listing-basic .image {
    width: 10em
}

.listing.listing-basic .date {
    display: flex;
    flex-direction: column;
    align-content: center;
    line-height: 1.2;
    padding: 1em;
    background: #65baaf;
    color: #212529;
    text-align: center;
    min-width: 5em
}

.listing.listing-basic .date .day,
.listing.listing-basic .date .month {
    font-size: 1.5em;
    font-weight: 700
}

.listing.listing-basic .date .year {
    font-size: .9em
}

.listing.listing-basic .text {
    flex: 1;
    padding-left: 1em
}

.listing.listing-basic .text h2 {
    font-size: 1.35em
}

@media (max-width:991.98px) {
    .listing.listing-basic article>* {
        padding: 2em 1em
    }

    .listing.listing-basic .image {
        width: 6em
    }
}

.listing.listing-bulleted ul {
    font-size: 1.2em
}

.listing.listing-condensed article {
    margin: 0
}

.listing.listing-condensed article>* {
    display: flex;
    padding: .5em;
    margin: 0
}

.listing.listing-condensed .image {
    width: 6em;
    min-height: 6em;
    height: 100%
}

.listing.listing-condensed .date {
    display: flex;
    flex-direction: column;
    align-content: center;
    line-height: 1.2;
    padding: .75em;
    background: #65baaf;
    color: #212529;
    text-align: center
}

.listing.listing-condensed .date .day,
.listing.listing-condensed .date .month {
    font-size: 1.1em;
    font-weight: 700
}

.listing.listing-condensed .date .year {
    font-size: .9em
}

.listing.listing-condensed .media-wrapper {
    margin-right: 1em
}

.listing.listing-condensed .text {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.listing.listing-condensed .text h2 {
    font-size: 1.1em
}

.listing.listing-condensed .text .pretitle,
.listing.listing-condensed .text .subtitle {
    font-size: .8em
}

.listing.listing-condensed:not(.grid) article>* {
    border-bottom: 1px solid #eee
}

.listing.listing-condensed:not(.grid) article:last-child>* {
    border-bottom: 0
}

@media (max-width:991.98px) {
    .listing.listing-condensed article>* {
        padding: 2em 1em
    }

    .listing.listing-condensed .image {
        width: 4em;
        min-height: 4em
    }
}

.listing.listing-masonry {
    display: block;
    margin: 0;
    column-gap: 1.25em
}

@media (min-width:992px) {
    .listing.listing-masonry.grid-2 {
        column-count: 2
    }

    .listing.listing-masonry.grid-3 {
        column-count: 3
    }

    .listing.listing-masonry.grid-4 {
        column-count: 4
    }

    .listing.listing-masonry.grid-5 {
        column-count: 5
    }
}

@media (min-width:768px) and (max-width:991.98px) {
    .listing.listing-masonry.grid-2 {
        column-count: 2
    }

    .listing.listing-masonry.grid-3,
    .listing.listing-masonry.grid-4 {
        column-count: 3
    }

    .listing.listing-masonry.grid-5 {
        column-count: 4
    }
}

@media (min-width:576px) and (max-width:767.98px) {

    .listing.listing-masonry.grid-2,
    .listing.listing-masonry.grid-3,
    .listing.listing-masonry.grid-4 {
        column-count: 2
    }

    .listing.listing-masonry.grid-5 {
        column-count: 3
    }
}

@media (max-width:575.98px) {

    .listing.listing-masonry.grid-4,
    .listing.listing-masonry.grid-5 {
        column-count: 2
    }
}

.listing.listing-masonry article {
    width: 100%;
    margin-bottom: 1.25em;
    padding: 0;
    -moz-column-break-inside: avoid;
    break-inside: avoid
}

.listing.listing-masonry article>* {
    display: block;
    border: 1px solid #eee
}

.listing.listing-masonry .text {
    padding: 2em 2em 3em
}

.listing.events article a {
    align-items: center
}

.listing.events article a .media-wrapper {
    order: 2;
    width: 30%
}

.listing.events article a .media-wrapper .image {
    width: 100%
}

.listing.events article a .text {
    order: 1
}

.listing.events article a .text .subtitle {
    font-size: 1.1em;
    color: #000;
    opacity: 1
}

.listing.events.events-upcoming article a .media-wrapper {
    width: 20%
}

button.unstyled {
    background: none;
    color: inherit;
    border: 0;
    padding: 0
}

ul.list-checkmark {
    list-style-type: "✓ "
}

ul.list-plussign {
    list-style-type: "+ "
}

ul.list-star {
    list-style-type: "★ "
}

.google-map-marker {
    display: none
}

.mce-content-body .text-white {
    color: inherit !important
}

.vertical-nav,
.vertical-nav ul {
    margin: 0;
    padding: 0;
    list-style: none
}

.vertical-nav li {
    margin: 0;
    line-height: 1.2em !important;
    background: none;
    border-bottom: 1px solid rgba(0, 0, 0, .07)
}

.vertical-nav li>a {
    display: block;
    padding: .8em;
    color: inherit;
    opacity: .7;
    text-decoration: none
}

.vertical-nav li>a:hover {
    background: #f8f9fa
}

.vertical-nav li.active>a,
.vertical-nav li>a[aria-expanded=true] {
    border-left: 2px solid #dee2e6
}

.vertical-nav li:last-child {
    border: none
}

.vertical-nav ul {
    display: none;
    margin-left: 1.5em
}

.vertical-nav li.active-parent>ul,
.vertical-nav li.active>ul {
    display: block
}

.share-links {
    margin: 1em 0
}

.share-links a {
    display: inline-block;
    padding: 4px 8px;
    margin: 0 1px;
    font-size: 10px;
    text-decoration: none
}

.share-links a i {
    font-size: 12px;
    margin-right: 2px
}

.share-links .title {
    font-size: 14px;
    text-align: center;
    color: #7d7d7d;
    display: inline-block;
    padding: 0 .5em
}

.share-links a {
    color: #fff
}

.share-links a.facebook {
    background: #3b5998
}

.share-links a.facebook:focus,
.share-links a.facebook:hover {
    background: #2d4373
}

.share-links a.instagram {
    background: #8e6051
}

.share-links a.instagram:focus,
.share-links a.instagram:hover {
    background: #6e4a3e
}

.share-links a.linkedin {
    background: #0077b5
}

.share-links a.linkedin:focus,
.share-links a.linkedin:hover {
    background: #005582
}

.share-links a.pinterest {
    background: #bd081c
}

.share-links a.pinterest:focus,
.share-links a.pinterest:hover {
    background: #8c0615
}

.share-links a.twitter {
    background: #59adeb
}

.share-links a.twitter:focus,
.share-links a.twitter:hover {
    background: #2b97e6
}

.slick-slider {
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list,
.slick-slider {
    position: relative;
    display: block
}

.slick-list {
    overflow: hidden;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: none
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-list,
.slick-slider .slick-track {
    transform: translateZ(0)
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.slick-track:after,
.slick-track:before {
    content: "";
    display: table
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

.slick-arrow.slick-hidden {
    display: none
}

.slick-visually-hidden {
    position: absolute;
    height: 1px;
    width: 1px;
    overflow: hidden;
    word-wrap: normal;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px)
}

.slick-controls {
    list-style: none;
    margin: 0;
    padding: 0
}

.slick-arrow {
    z-index: 2
}

.slick-arrow.slick-disabled {
    cursor: default
}

.slick-dots {
    display: inline-flex;
    list-style: none;
    padding: 0;
    margin: 0;
    z-index: 2
}

.slick-dots button {
    text-indent: -999px;
    overflow: hidden;
    line-height: 1
}

.slick-pause {
    display: inline-block;
    cursor: pointer;
    z-index: 10
}

.slick-pause.slick--paused {
    overflow: hidden
}

.slick-pause.slick--paused:after,
.slick-pause.slick--playing:after,
.slick-pause.slick--playing:before {
    content: "";
    display: block
}

.slick-list,
.slick-slide,
.slick-slide>div,
.slick-track {
    height: 100%
}

.slick-slide>div>div {
    display: block !important
}

.slick-slide {
    position: relative
}

@media (min-width:992px) {
    .visible-phone {
        display: none
    }
}

@media (max-width:991.98px) {
    .hidden-phone {
        display: none
    }
}

@media print {
    #adminbar {
        display: none
    }

    .animate {
        opacity: 1 !important
    }

    .animate,
    .parallax {
        transform: none !important
    }

    .parallax {
        visibility: visible !important
    }

    .header-swap>div {
        height: auto !important
    }

    .col-print-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%
    }

    .col-print-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%
    }

    .col-print-3 {
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-print-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%
    }

    .col-print-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%
    }

    .col-print-6 {
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-print-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%
    }

    .col-print-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%
    }

    .col-print-9 {
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-print-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%
    }

    .col-print-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%
    }

    .col-print-12 {
        flex: 0 0 100%;
        max-width: 100%
    }
}