:root{
    --module-box-column-count: 3;
    --module-box-column-gap: 20px;
    --module-box-column-background-color: #000;
    --module-box-column-min-width: 250px;
    --module-box-column-max-width: 1fr;
    --featured-resource-column-count: 3;
    --featured-resource-column-gap: 20px;
    --featured-resource-column-min-width: 250px;
    --featured-resource-column-max-width: 1fr;
    --video-player-height: 400px;
    --slider-background-opacity: 75%;
    --fa-pro-font-family: 'Font Awesome 7 Pro';
    --fa-brands-font-family: 'Font Awesome 7 Brands';
    --fa-kit-font-family: 'Font Awesome Kit';
}

/*********  general  ***********/

.border-top{
    border-top: 4px solid;
    border-top-color: inherit;
    padding-top: 10px;
}

/*********  main  ***********/

.main-content section p a{
    color:var(--wcag-cu-gold);
    text-decoration: underline;
}

.main-content section p a.button{
    color: inherit;
}

.section-title{
    text-align: center;
    color: var(--main-color-gray);
    font-size: 40px;
    font-weight: normal;
    font-family: var(--main-font-family-condensed);
}

.main-content .description{
    margin-bottom: 20px;
    font-size: 24px;
    line-height: 1.4;
}

/*********  background colors  ***********/

.boxed-link-list .link-list dl{
    background-color:white;
    color:var(--main-text-color);
    border: 1px solid #999;
}

.slide.background{
    padding: 0;
}

.background{
    
}

.text-content h2.headline.section-title,
.module-item h2.headline.section-title{
    margin-bottom: 15px;
    font-size: 55px;
    font-weight: normal;
    text-align: left;
    font-family: var(--main-font-family-condensed);
    line-height: 1.25;
}

.text-content h2.headline.section-title.left,
.module-item h2.headline.section-title.left{
    text-align: left;
}

.text-content h2.headline.section-title.center,
.module-item h2.headline.section-title.center{
    text-align: center;
}

.text-content h2.headline.section-title.right,
.module-item h2.headline.section-title.right{
    text-align: right;
}

.background.black .headline.section-title
,.background.blue .headline.section-title
,.background.orange .headline.section-title
,.background.gray .headline.section-title
,.background.medium-blue .headline.section-title
,.background.orange .headline.section-title{
    color: white;
}

.section-title + .subhead{
    margin-top: 10px;
    border-top: 4px solid var(--main-color-gold);
    padding-top: 10px;
    color: var(--main-color-gold);
    font-size: 24px;
}

.background.white,
.slide-content.background.white,
.call-to-action-boxes .white,
.boxed-link-list .white.link-list dl{
    background-color:white;
    color:var(--main-color-black);
    border: none;
    --module-box-column-background-color: white;
    --slider-background-color: white;
}

.background.black,
.slide-content.background.black,
.call-to-action-boxes .black,
.boxed-link-list .black.link-list dl{
    background-color:var(--main-color-black);
    color:white;
    border: none;
    --module-box-column-background-color: var(--main-color-black);
    --slider-background-color: var(--main-color-black);
}

.background.gold,
.slide-content.background.gold,
.call-to-action-boxes .gold,
.boxed-link-list .gold.link-list dl{
    
    /* --main-color-gold: var(--wcag-gold); */
    background-color:var(--main-color-gold);
    color:black;
    border: none;
    border-color: white;
    --module-box-column-background-color: var(--main-color-gold);
    --slider-background-color: var(--main-color-gold);
}

.background.gray,
.slide-content.background.gray,
.call-to-action-boxes .gray,
.boxed-link-list .gray.link-list dl{
    background-color:var(--main-color-gray);
    color:white;
    border: none;
    border-color: white;
    --module-box-column-background-color: var(--main-color-gray);
    --slider-background-color: var(--main-color-gray);
}

.background.medium-gray,
.slide-content.background.medium-gray,
.call-to-action-boxes .medium-gray,
.boxed-link-list .medium-gray.link-list dl{
    background-color:var(--secondary-color-medium-gray);
    color:white;
    border: none;
    border-color: white;
    --module-box-column-background-color: var(--secondary-color-medium-gray);
    --slider-background-color: var(--secondary-color-medium-gray);
}

.background.light-gray,
.slide-content.background.light-gray,
.call-to-action-boxes .light-gray,
.boxed-link-list .light-gray.link-list dl{
    background-color:var(--secondary-color-light-gray);
    color:var(--main-color-gray);
    border: none;
    border-color: var(--main-color-gray);
    --module-box-column-background-color: var(--secondary-color-light-gray);
    --slider-background-color: var(--secondary-color-light-gray);
}


.background.green,
.call-to-action-boxes .green,
.boxed-link-list  .green.link-list dl{
    --main-color-green: #869431;
    background-color:var(--main-color-green);
    color: var(--main-text-color);
    border: none;
    --module-box-column-background-color: var(--main-color-green);
    --slider-background-color: var(--main-color-green);
}

.background.gold a{
    color: black;
}

.background.light-gray a{
    color:var(--main-color-gray);
}



.module-item img{
    display: block;
}

.module-item .module-view-more-link,
.module-item.featured-resource-wrapper .module-view-more-link {
    font-weight: normal;
    color: var(--main-color-gold);
    text-decoration: none;
}

.module-item .module-view-more-link:after{
    content:"\f138";
    font-family: var(--fa-pro-font-family);
    font-weight: bold;
    margin-left: 8px;
}

.module-item.event-listing .module-view-more-link{
    float: right;
    margin-top: 10px;
}

.module-item.screenContainer .screenContainer{
    max-width: 100%;
}


/*********  modules  ***********/

.text-content{
    padding:0;   
}

.text-content .background{
    padding:50px;   
}

.text-content .content{
    position: relative;
    z-index: 100;
    grid-area: text;
}

.text-content .content .text div{
    break-inside: avoid;
}

.text-content .full-width .content{
    max-width:100%;
}

.text-content .has-image{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px;
    grid-template-areas: "image text";
    align-items:center;
}

.text-content h1.headline{
    margin-bottom: 30px;
}

.screenContainer.has-image:not(.full-width){
    padding-right: 0;
}

.text-content .has-image > *{
    flex-basis:100%;
}

.text-content .has-image .image{
    text-align: center;
    grid-area: image;
}

.text-content .has-image .image img{
    max-width:100%;
    display: block;
}

.text-content h2{
    font-size: 24px;
    color: var(--main-color-black);
    margin-bottom: 0;
}

.background.dark
,.background.dark h3
,.background.dark p{
    color: black
}

.background.light
,.background.light h3
,.background.light p{
    color: white; 
}


.text-content .right:not(.has-image) .content{
    float:right;
}

.text-content .right .content{
    order: 2;
}

.text-content .has-image.right{
    grid-template-areas: "text image";
}

.text-content.with-round-image .has-image{
	grid-template-columns: auto 275px;
    align-items: center;
}

.text-content.with-round-image .image img{
	border-radius:50%;
    background-color: var(--with-round-image-background-color, transparent);
}


/********  slider  ********/

.slider-outer-wrapper{
    padding:0;
    margin-bottom: 50px;
    position: relative;
    width:100%;
}

.slider-inner-wrapper{
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 6;
    max-height: 450px;;
}

.slider-outer-wrapper .slider{
    margin:0;
    padding:0;
    width:100%;
    height:100%;
    transition-duration: 0.6s;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}

.slider-outer-wrapper .slider .slide{
    display: block;
    flex: 0 0 100%;
    position: relative;
}

.slider-outer-wrapper  .slider .slide .screenContainer{
    height: 100%;
}

.slider-outer-wrapper .slide img{
    display:block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
}

.slider-outer-wrapper .slide-content{
    position: absolute;
    color:var(--main-text-color);
    font-size: clamp(20px,5vw,25px);
    width: fit-content;
    min-width: 350px;
    max-width: min(600px, 80%);
    top: 50%;
    left: 70px;
    transform: translateY(-50%);
    padding:40px;
    height: 70%;
    justify-content: center;
    align-content: center;
}

.slider-outer-wrapper .slide-content.background {
    position: relative;
    background-color: color-mix(
        in srgb,
        var(--slider-background-color) var(--slider-background-opacity),
        transparent
    );

    z-index: 1;
}


.slider-outer-wrapper .slide-content .kicker{
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 18px;
    color:inherit;
    font-weight: 900;
}

.slider-outer-wrapper .slide-content p{
    font-size: 50px;
    color:inherit;
    line-height: 1.2;
    margin: 0;
}

.slider-outer-wrapper .slide-content.light{
    color:white;
}

.slider-outer-wrapper .slide-content.dark{
    color:var(--main-text-color);
}

.slider-outer-wrapper .slide-content p{
    font-size: 24px;
    line-height: 1.5;
    padding: 0;
    padding-bottom: 10px;
}

.slider-outer-wrapper .slide-content.small p{
    font-size: 28px;
}

.slider-outer-wrapper .slide-content.medium p{
    font-size: 40px;
}

.slider-outer-wrapper .slide-content.large p{
    font-size: 50px;
}

.slider-outer-wrapper .slide-content .button{
    margin-top: 40px;
    padding: 5px 30px;
}

.slider-outer-wrapper .slide-content.light .button{
    color:var(--main-text-color);
    background-color:white;
}

.slider-outer-wrapper .slide-content.dark .button{
    color:white;
    background-color:var(--main-text-color);
}

/********  control dots  ********/

.slider-control.dots{
    text-align: center;
}

.slider-control.dots div{
    display: inline-block;
    background-color: #dddddd;
    border-radius: 50%;
    text-indent: -1000000px;
    width: 15px;
    height: 15px;
    font-size: 0;
    cursor: pointer;
    margin: 0 5px;
}

.slider-control.dots div.active{
    background-color: var(--main-color-gold);
    outline: 1px solid var(--main-color-gold);
    outline-offset: 2px;
}

/********  thumbnail controls  ********/

.slider-control.images {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 30px;
}

.slider-control.images > div {
    position: relative;
    flex: 0 0 250px;
    margin: 0;
    min-width: 0;
}

.slider-control.images button.thumb {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 6;
    padding: 0;
    border: 0;
    overflow: hidden;
    text-align: left;
    cursor: pointer;
}

/* Background image */
.slider-control.images button.thumb > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
}

/* Wrapper matches slide dimensions */
.slider-control.images .thumb .button-content-wrapper {
    position: absolute;
    inset: 0;
    display: block;
    margin: 0;
    padding: 0;
    background: transparent;
}

/* Scaled version of original slide content */
.slider-outer-wrapper .slider-control.images .thumb .slide-content {
    position: absolute;
    top: 50%;
    left: 6%;
    transform: translateY(-50%);

    display: flex;
    flex-direction: column;
    justify-content: center;

    width: 50%;
    min-width: 0;
    max-width: none;
    height: 70%;

    padding: 8px;
    margin: 0;
    box-sizing: border-box;
}

/* Text proportional to thumbnail */
.slider-outer-wrapper .slider-control.images .thumb .slide-content p {
    font-size: 9px;
    line-height: 1.3;
    padding: 0;
    margin: 0 0 3px;
    color: inherit;
}

/* Maintain larger/smaller font variations */
.slider-outer-wrapper .slider-control.images .thumb .slide-content.small p {
    font-size: 7px;
}

.slider-outer-wrapper .slider-control.images .thumb .slide-content.medium p {
    font-size: 9px;
}

.slider-outer-wrapper .slider-control.images .thumb .slide-content.large p {
    font-size: 11px;
}

/* Selected thumbnail */
.slider-control.images button.thumb.active {
    outline: 3px solid var(--main-color-gold);
    outline-offset: -3px;
}

/* Keyboard accessibility */
.slider-control.images button.thumb:focus-visible {
    outline: 3px solid var(--main-color-gold);
    outline-offset: 3px;
}


/********  call to action  ********/

.call-to-action-boxes{
    color:white;
    position: relative;
    display: flex;
    gap:20px;
}

.call-to-action-boxes > *{
    flex-basis:100%;
    padding: 35px;
    font-size: clamp(15px,4vw,23px);
    font-weight: 300;
    text-decoration: none;
    color:white;
    line-height: 120%;
    background-color: #222;
}

.call-to-action-boxes .kicker{
    display: block;
    color:var(--main-color-gold);
    text-transform: uppercase;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 10px;
}

.call-to-action-boxes div{
    color:white;
    font-size: 23px;
    font-weight: bold;
    line-height: 1.3;
    position: relative;
}

.call-to-action-boxes div > *{
    z-index: 10;
    position: relative;
}

.call-to-action-boxes div img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    object-fit: cover;
    opacity: 0.4;
}

/*********  section highlight with image  ***********/

.section-highlight-with-image{
      position: relative;
      --module-highlight-with-image-gap: 20px;
}

.section-highlight-with-image .image{
    grid-area: image;
}

.section-highlight-with-image .text{
    grid-area: text;
}

.section-highlight-with-image .content{
    z-index: 10;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "image text";
    gap:var(--module-highlight-with-image-gap);
}

.section-highlight-with-image .content.left{
    grid-template-areas: "image text";
}

.section-highlight-with-image .content.right{
    grid-template-areas: "text image";
}

.section-highlight-with-image .content img{
    display: block;
    max-width: 100%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.section-highlight-with-image .content .text{
    color: var(--main-text-color);
    box-sizing: border-box;
    padding:var(--module-highlight-with-image-padding-around-text);
}

.section-highlight-with-image .content .text.background.green,
.section-highlight-with-image .content .text.background.gold,
.section-highlight-with-image .content .text.background.light-gray{
    color: black;
}

.section-highlight-with-image .text span{
    color: var(--main-color-gold);
}

.section-highlight-with-image .text h3{
    color: var(--main-color-black);
    font-size: 32px;
    margin: 10px 0 10px;
}

.section-highlight-with-image .text .button{
    color: var(--main-text-color);
    background-color: var(--main-color-gold);
}

.section-highlight-with-image .text.background.green .button,
.section-highlight-with-image .text.background.gold .button,
.section-highlight-with-image .text.background.light-gray .button{
    color: white;
    background-color: var(--main-color-black);
}

/*********  sidebar content  ***********/

.screenContainer .sidebar-content .screenContainer{
    padding-right: 0;
}

.sidebar-content > section:first-of-type{
    padding-top:0;
}

.sidebar-content .text-content .content{
    max-width: 100%;
}

/*********  logo carousel grid  ***********/

.logo-carousel{
    padding-top:30px;
}

.logo-carousel .logos-wrapper{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 200px));
    justify-content: center;
    align-content: center;
    gap: 40px;
}

.logo-carousel .logos-wrapper a{
    display: grid;
    align-content: center;
}

.logo-carousel .logos-wrapper img{
    width: 100%;
}

/********** logo carousel slide **********/

.logo-carousel .logo-splide .splide__slide {
    display: flex;
    align-items: center;
    justify-content: center;
}

.logo-carousel .logo-splide img {
    width: 100%;
    max-width: 200px;
    height: 100px;
    object-fit: contain;
}

/*********  event listing  ***********/

.event-listing{
    --event-listing-column-count: 1;
}

.event-listing .section-title{
    font-size: 45px;
    font-weight: 800;
    font-family: var(--main-font-family-condensed);
}

.event-listing .listing{
    display: grid;
    grid-template-columns: repeat(var(--event-listing-column-count), 1fr);
    gap: 20px;
}

.event-listing .listing .event-item .content{
    color:white;
}

.event-listing .listing[data-column="1"] .event-item{
    padding: 0;
    height: 575px;
    background-color: #ccc;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
    

.event-listing .listing[data-column="1"] .event-item .content{
    position: relative;
    padding: 60px;
    background-color: rgba(0, 0, 0, 0.75);
    width: 50%;
    height: 100%;
    display: grid;
    align-content: center;
}

.event-listing .listing .event-item .event-title,
.event-listing .listing[data-column="1"] .event-item .event-description{
    margin: 0;
    font-size: 50px;
    font-family: var(--main-font-family-condensed);
    line-height: 1.25;
}

.event-listing .listing[data-column="2"] .event-item .event-description{
    font-size: 24px;
    font-family: var(--main-font-family);
}

.event-listing .listing .event-item .event-title ~ .event-description
,.event-listing .listing[data-column="2"] .event-item .event-title
,.event-listing .listing[data-column="2"] .event-item .event-description{
    margin-bottom:20px;
}

.event-listing .listing .event-item .event-description{
    margin-bottom:20px;
}

.event-listing .listing[data-column="2"]{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

.event-listing .listing[data-column="2"] .event-item {
    --event-image-height: clamp(200px, 25vw, 300px);

    position: relative;
    padding: var(--event-image-height) 0 0;
    background-image: none !important;
    background-color: transparent;
}

.event-listing .listing[data-column="2"] .event-item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--event-image-height);

    background-image: var(--event-image, none);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.event-listing .listing[data-column="2"] .event-item .content {
    position: relative;
    padding: 60px;
    background-color: var(--main-color-green);
    width: 100%;
    min-height: 350px;
    display: grid;
    align-content: center;
    box-sizing: border-box;
}

.event-listing .listing .event-item .event-meta{
    font-size: 24px;
    margin-top: 50px;
    margin-bottom: 50px;    
    padding-left: 90px;
    position: relative;
}

.event-listing .listing .event-item time{
    display: block;
    margin-bottom: 5px;
}

.event-listing .listing .event-item .title{
    margin-bottom: 20px;
}

.event-listing .listing .event-item a{
    text-decoration: none;
}

.event-listing .listing .event-item .event-meta:before{
    content: "\e003";
    font-family: var(--fa-kit-font-family);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size:60px
}

.event-listing .listing .event-item.virtual .event-meta:before{
    content: "\e004";
}

.event-listing .listing .event-item .button-wrapper .button{
    font-size: 20px;
    font-weight: normal;
    padding: 10px 30px;
}

.event-listing .listing[data-column="1"] .event-item .button-wrapper .button{
    font-size: 24px;
}

.event-listing .listing .event-item .image{
    background-color: #999;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

/*********  newsletter signup  ***********/

.newsletter-signup{
    display: grid;
    grid-template-columns: 1fr;
    padding: 0;
    min-height: 300px;
    grid-template-areas:
        "image text"
    ;
}

.newsletter-signup.has-image{
    grid-template-columns: repeat(2, 1fr);
}

.newsletter-signup.has-image.right{
    grid-template-areas:
        "text image"
    ;
}

.newsletter-signup .text{
    grid-area: text;
    padding:20px 30px;
    align-self: center;
}

.newsletter-signup .button-wrapper{
    margin-top: 20px;
}

.newsletter-signup .image{
    grid-area: image;
    background-position: center;
    background-size: cover;
}

/*********  featured resources  ***********/

.featured-resource{
    display: grid;
    grid-template-columns: repeat(var(--featured-resource-column-count), minmax(var(--featured-resource-column-min-width), var(--featured-resource-column-max-width)));
    padding: 0;
    gap: var(--featured-resource-column-gap);
    justify-content: center;
}

.featured-resource img{
    width: 100%;
    height: auto;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
}

.featured-resource p{
    font-size: 20px;
    font-weight: normal;
    margin-top: 20px;
    margin-bottom: 5px;
    text-align: left;
}

.featured-resource a{
    font-size: 20px;
    font-weight: normal;
    text-align: left;
    color: var(--main-text-color);
    text-decoration: none;
}

.featured-resource i {
    font-family: var(--fa-pro-font-family);
    color: var(--main-color-gold);
}



/*********  about  ***********/

.who-we-are-wrapper .has-image .image{
    display: flex;
    align-content: center;
    justify-content: center;
}

.who-we-are-wrapper .has-image .image img{
	max-width:300px;
}

/*********  popup video player  ***********/

.sa_videoPlayer_wrap_outer {
    width: 100%;
    margin: auto;
    background-color: rgba(0,0,0,0.75);
    height: 100%;
    position: fixed;
    top: 0;
    z-index: 9999;
    display: grid;
    cursor: pointer;
}

.sa_videoPlayer_wrap {
    position: relative;
    width: min(85vw, 1200px);
    aspect-ratio: 16 / 9;
    margin: auto;
}

.sa_videoPlayer {
    width: 100%;
    height: 100%;
}

.sa_videpPlayer_close_modal {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    opacity: 1;
    border-radius: 100%;
    background: transparent;
    color: #fff;
    cursor: pointer;
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
    padding: 0;
    border: none;
    background: transparent;
    -webkit-appearance: none;
}

.sa_videpPlayer_close_modal:hover {
    background: rgba(255, 255, 255, 1);
    color: #000;
}

.sa_videpPlayer_close_modal:after, .sa_videpPlayer_close_modal:before{
    position: absolute;
    top: 14px;
    left: 23px;
    display: block;
    width: 4px;
    height: 22px;
    border-radius: 4px;
    background: #fff;
    content: " ";
    -webkit-transition: background .2s ease-in-out;
    transition: background .2s ease-in-out;
}

.sa_videpPlayer_close_modal:hover:after, .sa_videpPlayer_close_modal:hover:before{
    background-color: #000;
}

.sa_videpPlayer_close_modal:after{
    transform: rotate(45deg);
}

.sa_videpPlayer_close_modal:before{
    transform: rotate(-45deg);
}

/*********  link list  ***********/

main .screenContainer.boxed-link-list{
    padding-right: 0;
}

.boxed-link-list  .light-gray.link-list {
    gap: 20px;
    justify-content: flex-start;
}

.boxed-link-list .gray.link-list dd,
.boxed-link-list .gold.link-list dd,
.boxed-link-list .black.link-list dd,
.boxed-link-list .medium-gray.link-list dd,
.boxed-link-list .light-gray.link-list dd{
    color: white;
}

/*********  boxed columns  ***********/

.boxed-columns-module-wrapper h2.section-title{
    margin-bottom: 15px;
    font-size: 35px;
    font-weight: normal;
    text-align: left;
}

.boxed-columns-inner-wrapper.background{
    padding: 50px;
}

.boxed-columns-wrapper{
    margin:auto;
}

.boxed-columns{
    grid-template-columns: repeat(var(--module-box-column-count),minmax(var(--module-box-column-min-width), var(--module-box-column-max-width)));
    display: grid;
    gap: var(--module-box-column-gap);
    justify-content: center;
    align-items: normal;
}

.boxed-columns .video-title,
.boxed-columns .image-title{
    margin-bottom: 25px;
    font-weight: normal;
    font-size: 24px;
    border-top: 4px solid var(--main-color-gold);
    padding-top: 10px;
    font-family: var(--main-font-family);
}

.boxed-columns .boxed-column-text-editor{
    position: relative;
    min-height: 200px;
    text-decoration: none;
    font-size: 20px;
}

.boxed-columns .boxed-column-text-editor a{
    color: inherit;
}

.boxed-columns .boxed-column-text-editor a.button{
    color:white;
}

.boxed-columns .boxed-column-text-editor.has-image.top{
    width: 100%;
    object-fit: cover;
    object-position: center;
    display: grid;
    grid-auto-rows: 250px auto;
}

.boxed-columns .boxed-column-text-editor.has-image.top img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    max-width: 100%;
}

.boxed-columns .boxed-column-text-editor.has-image.behind .image{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: initial;
    z-index: 10;
    justify-content: center;
    display: flex;
    overflow: clip;
}

.boxed-columns .boxed-column-text-editor .content{
    position: relative;
    z-index: 20 ;
    height: 100%;
}

.boxed-columns .boxed-column-text-editor.has-image.behind .content .content-inner > *{
    position: relative;
    z-index: 20;
}

.boxed-columns .boxed-column-text-editor .content .content-inner{
    position: relative;
    width: 100%;
    height: 100%;
}

.boxed-columns .boxed-column-text-editor.background .content .content-inner{
    padding: 30px;
}


.boxed-columns .boxed-column-text-editor.has-image.behind.left .content .content-inner::before,
.boxed-columns .boxed-column-text-editor.has-image.behind.right .content .content-inner::before,
.boxed-columns .boxed-column-text-editor.has-image.behind.center .content .content-inner::before{
    content: "";
    position: absolute;
    inset: 0;
    background-color: transparent; /* var(--module-box-column-background-color); */
    opacity: 0.75;
    z-index: 0;
}

.boxed-columns .boxed-column-text-editor.has-image.behind.none .content .content-inner::before{
    background-color: transparent;
    opacity: 1;
}

.boxed-columns .boxed-column-text-editor.has-image.behind.left .content .content-inner{
    width: 50%;
}

.boxed-columns .boxed-column-text-editor.has-image.behind.right .content .content-inner{
    width: 50%;
    margin-left: auto;
}


.boxed-columns .boxed-column-text-editor.has-cta:hover{
    outline: 3px solid #000;
    outline-offset: 2px;
}

.boxed-columns .boxed-column-text-editor h3{
    font-size: 28px;
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 15px;
}

.boxed-columns .boxed-column-text-editor .cta{
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 8px 16px;
}

.boxed-column .cta{
    background-color: var(--main-color-gold);
    color: white;
    text-decoration: none;
    font-weight: bold;
    font-size: 18px;
}

.boxed-column.background.black .cta,
.boxed-column.background.gray .cta{
    background-color: var(--main-color-gold);
    color: white;
}

.boxed-column.background.gold .cta,
.boxed-column.background.light-gray .cta{
    background-color: #000;
    color: white;
}

.boxed-column.video {
    background-color: black;
    min-height: initial;
}

.boxed-column.video iframe{
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
}

.boxed-column.image img{
    max-width: 100%;
    width: 100%;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);    
    box-sizing: border-box;
    margin: auto;
}

.boxed-column.image img.no-shadow{
    box-shadow: none;
}

/*********  video listing  ***********/

.video-listing-wrapper > div{
    background-color: var(--background-color-gold);
    padding: 40px 50px 80px;
}

.video-listing-wrapper > div a{
    display: block;
    padding: 0;
    text-decoration: none;
    color: var(--main-text-color);
}

.video-listing-wrapper figure{
    padding: 0;
    margin: 0;
}

.video-listing-wrapper .video-image img{
    display: block;
    margin: auto;
    max-width: 100%;
    background-color: #999;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.video-listing-wrapper .video-image{
    margin-bottom: 20px;
    position: relative;
}

/* Red YouTube shape */
.video-thumbnail-wrapper:before{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    width:90px;
    height:65px;
    background:red;
    border-radius:18px;
    z-index:1;
    box-shadow: 0 0 10px 0px rgba(0, 0, 0, 1);
}

/* White play triangle */
.video-thumbnail-wrapper:after{
    content:"\f04b"; /* play icon */
    font-family: var(--fa-pro-font-family);
    font-weight: 900;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-45%, -50%);
    font-size:40px;
    color:#fff;
    z-index:2;
}

.video-listing-wrapper .date{
    text-decoration: none;
    color: var(--main-text-color);
    font-size: 16px;
    font-style: normal;
    display: block;
    margin-bottom: 10px;
}

.video-listing-wrapper .name{
    color: var(--main-color-gold);
    font-size: 22px;
    font-weight: bold;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--main-color-gold);
}

.video-listing-wrapper .video-file-link{
    color: var(--main-color-gold);
    font-size: 16px;
    font-weight: bold;
    position: absolute;
    bottom: 40px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

.video-listing-wrapper .video-file-link:before{
    content:"\f56d";
    font-family: var(--fa-pro-font-family);
    font-weight: bold;
    margin-right: 5px;
    font-size: 20px;
    margin-right: 10px;
}

/*********  video player  ***********/

.video-player-inner-wrapper{
    height:var(--video-player-height);
    position: relative;
}

.video-player-inner-wrapper iframe{
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}

/*********  playlist listing  ***********/

.module-item.article-listing .article{
    border: 1px solid var(--light-border-color);
    box-shadow: none;
    display: block;
    margin-bottom: 20px;
    text-decoration: none;
    padding: 20px 40px;
}

/*********  resource widget  ***********/

.resource-widget {
  display: grid;
  grid-template-columns: 1fr;
  padding: 0;
  min-height: 300px;
  grid-template-areas:
    "image text";
}

.resource-widget.has-image {
  grid-template-columns: repeat(2, 1fr);
}

.resource-widget .kicker{
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 18px;
    color:inherit;
    font-weight: 900;
}

.resource-widget .image{
    grid-area: image;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.resource-widget .text {
  grid-area: text;
  padding: 40px;
  align-self: center;
}

.resource-widget .button{
    background-color: var(--main-color-black);
    color: white;
}

.resource-widget.blue .button
,.resource-widget.black .button{
    background-color: white;
    color: var(--main-color-black);
}

.resource-widget .button:hover{
    outline: 2px solid var(--main-color-black);
}

.resource-widget.blue .button:hover
,.resource-widget.black .button:hover{
    outline: 2px solid white;
}

/*********  resource listing  ***********/

.resources-listing-container {
  display: grid;
  grid-template-columns: 290px auto;
  gap: 50px;
}

.resources-listing-container .sidebar {
    border-top: 4px solid var(--main-color-black);
    padding: 15px 0;
}

.resources-listing-container .sidebar p{
    margin-bottom: 30px;
}

.resources-listing-container .sidebar ul{
    list-style: none;
    padding: 0;
}

.resources-listing-container .sidebar ul li{
    margin-bottom: 10px;
}

.resources-listing-container .sidebar ul li a{
    color: var(--main-color-black);
    text-decoration: none;
}

.resources-listing-container .sidebar ul li a:hover,
.resources-listing-container .sidebar ul li.active a{
    color: var(--wcag-cu-gold);
    text-decoration:underline;
}

.resources-listing-container .resources-listing{
    border-top: 4px solid var(--main-color-gold);
    padding: 15px 0;
}

.resources-listing-container .resources-listing .resource-category-header{
    margin-bottom: 40px;
}

.resources-listing-container .resources-listing .resource-category-header h2{
    font-size: 45px;
    margin-bottom: 10px;
    color: var(--wcag-cu-gold);
    font-family: var(--main-font-family-condensed);
}

.resources-listing-container .resources-listing .resources-results{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 80px;
    row-gap: 100px;
}

.resources-listing-container .resources-listing img{
    width: 100%;
    height: auto;
    box-shadow: 0 0 20px rgba(0,0,0,0.3);
}

.resources-listing-container .resources-listing a{
    color: var(--wcag-cu-gold);
}

/*********  highlight slide  ***********/

.highlight-slider{
    list-style: none;
    padding: 0;
}

.highlight-slider .highlight-slide{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

.highlight-slider .highlight-slide > div{
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
    aspect-ratio: 4 / 3;
}

.highlight-slider .highlight-slide .content::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--main-color-gold);
    opacity: 0.9;
    z-index: 0;
}

.highlight-slider .highlight-slide .content{
    position: absolute;
    bottom: 0;
    left:0;
    width: 75%;
    padding:20px 30px 30px;
    color: white;
}

.highlight-slider .highlight-slide > div:nth-of-type(2) .content{
    right:0;
    left:auto;
}

.highlight-slider .highlight-slide .content > * {
    position: relative;
    z-index: 1;
}


.highlight-slider .highlight-slide .content h3{
    margin: 0;
    margin-bottom: 8px;
    font-weight: normal;
    font-size: 24px;
}

.highlight-slider .highlight-slide .content a{
    color: black;
    text-decoration: none;
}

.highlight-slider-wrapper {
    overflow: hidden;
}

.highlight-slider {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    transition: transform 0.35s ease;
}

.highlight-slider .highlight-slide {
    min-width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

.highlight-slider-control-wrapper{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin-top: 15px;
}

.highlight-slider-control-wrapper button{
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: #3797c4;
    cursor: pointer;
    font-size: 24px;
    padding: 0;
    line-height: 1;
}

.highlight-slider-count{
    display: flex;
    align-items: center;
    line-height: 1;
    color: #3797c4;
}

/***** team listing ******/

.team-listing-wrapper a{
    flex-basis:100%;
    color:var(--main-txt-color);
    text-decoration: none;
}

.team-listing-wrapper a:hover{
    color:var(--main-color-blue);
}

.team-listing-wrapper .headshot img{
    width:100%;
    height:100%;
    object-fit: cover;
}

.team-listing-wrapper .headshot{
    width:200px;
    aspect-ratio: 1;
    border-radius:50%;
    overflow: hidden;
    margin-bottom:30px;
    margin-left: auto;
    margin-right: auto;
}

.team-listing-wrapper .headshot.no-headshot{
    background-color: #efefef;
}

.team-listing-wrapper figure{
    width:200px;
}

.team-listing-wrapper figcaption{
    text-align: center;
}

.team-listing-wrapper figcaption span{
    display: block;    
    padding-bottom: 0;
}

.team-listing-wrapper figcaption span + span{
    padding-top: 5px;
}

.team-listing-wrapper figcaption span.company{
    font-style: italic;
}

.team-listing-wrapper .underline-name 
,.team-listing-wrapper .name {
  position: relative;
  display: inline-block;
}

.team-listing-wrapper .underline-name::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px; /* thickness of underline */
  width: 100%;
  background-color: var(--main-color-blue);
}

/***** grid cards ******/

.grid-cards{
    display: grid;
    grid-template-columns: repeat(var(--grid-column-count, 3), minmax(0, 1fr));
    gap: var(--grid-column-gap, 20px);
    row-gap: var(--grid-row-gap, 20px);
}


/***** projects listing ******/

.projects-listing .grid-cards{
    --grid-column-count: var(--projects-listing-column-count);
    --grid-column-gap: var(--projects-listing-column-gap, 20px);
}

.projects-listing .grid-cards .project-item {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background-color: #efefef;
    color: white;
    text-decoration: none;
}

.projects-listing .grid-cards .project-item .background-image{
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
}

.projects-listing .grid-cards .project-item .content {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 85%;

    background: rgba(0,0,0,.85);
    padding: 18px 20px;
    box-sizing: border-box;
}

.projects-listing .grid-cards .project-item .content h2{
    font-size: 18px;
    margin-bottom: 0;
}

.projects-listing .grid-cards.non-grid .project-item {
    aspect-ratio: auto;
    min-height: 200px;
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 40px;
    background-color: transparent;
    border: 1px solid var(--secondary-color-light-gray);
    color: var(--main-color-black);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.projects-listing .grid-cards.non-grid .project-item .content {
    position: relative;
    background: none;
    padding: 30px 0;
    padding-left: 20px;
    padding-right: 50px;
    font-size: 28px;
    width: 100%;
}

.projects-listing .grid-cards.non-grid .project-item .content:before{
    position: absolute;
    content:"Learn more";
    font-size: 16px;
    background-color: var(--main-color-gold);
    color: white;
    top: 0;
    right: 0;
    padding: 5px 20px;
}

.projects-listing .grid-cards.non-grid  .project-item .content h2{
    font-size: 28px;
    margin-bottom: 10px;
}

.projects-listing .grid-cards.non-grid  .project-item .content .description{
    font-size: 18px;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 3;
    -webkit-line-clamp: 3;
}

/***** project team  ******/

.project-team-content-wrapper {
    padding-bottom: 40px;
    background-color: #F3EDDE;
}

.project-team-content {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 40px;
    padding: 30px 0;
}

.project-team-content.no-chair {
    grid-template-columns: 1fr;
}

.project-team-content-wrapper .image img{
    max-width: 100% ;
    width: 100%;
}

.project-team-content .chair-column {
    color: var(--main-color-black);
    border-top: 2px solid var(--main-color-black);
    padding-top: 10px;
    font-size: 18px;
    display:grid;
    grid-template-areas:
        "chairs"
        "logo";
    gap: 40px;
}

.project-team-content .chair-column .chairs{
    margin-bottom: 20px;
    grid-area: chairs;
}

.project-team-content .chair-column .logo{
    width: 80%;
    grid-area: logo;
}

.project-team-content .chair-column .logo img{
    max-width: 100% ;
}

.project-team-content .team-column {
    columns: var(--project-team-column-count);
    font-size: 18px;
    line-height: 1.4;
}

.project-team-content.no-chair .team-column{
    width: max-content;
    column-gap:60px;
    margin: auto;
}

.project-team-content .team-column p{
    margin-bottom: 12px;
    break-inside: avoid;
    page-break-inside: avoid;
    -webkit-column-break-inside: avoid;
}

/***** staff presenter  ******/

.staff-presenter-wrapper .grid-cards{
    --grid-column-count : var(--module-staff-presenter-column-count, 3);
    --grid-column-gap: var(--module-staff-presenter-column-gap, 20px);
}

.staff-presenter-wrapper .grid-cards a{
    text-decoration: none;
}

.staff-presenter-wrapper .grid-cards img{
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    object-fit: cover;
    object-position: center;
}

.staff-presenter-wrapper .grid-cards .staff-info {
    margin-top: 30px;
    text-align: center;
}

.staff-presenter-wrapper .grid-cards .staff-info p{
    margin: 0;
    color: var(--main-color-black);
}

.staff-presenter-wrapper .grid-cards .staff-info p.name{
    color: var(--wcag-cu-gold);
    font-weight: bold;
}

/*****  boxed link list  ******/

.boxed-link-list-wrapper .grid-cards.boxed-link-list{
    --grid-column-count: var(--module-boxed-link-count, 2);
    --grid-column-gap: var(--module-boxed-link-gap, 20px);
}

.boxed-link-list-wrapper .grid-cards.boxed-link-list{
    position: relative;
    min-height: 300px;
    text-decoration: none;
    font-size: 20px;
}

.boxed-link-list-wrapper .boxed-link-item{
    display: grid;
    grid-template-rows: auto 1fr;
    text-decoration: none;

}

.boxed-link-list-wrapper .boxed-link-item .image{
    aspect-ratio: 2 / 1;
    overflow: hidden;
}

.boxed-link-list-wrapper .boxed-link-item img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    max-width: 100%;
    display: block;
}

.boxed-link-list-wrapper .boxed-link-item .content{
    padding: 40px 30px;
    color:white;
}

.boxed-link-list-wrapper .boxed-link-item .content h3{
    border-top:4px solid white;
    padding-top: 10px;
    margin-bottom: 40px;
    font-size: 28px;
}

.boxed-link-list-wrapper .boxed-link-item .content a{
    background-color: var(--main-color-black);
    color: white;
    padding: 10px 20px;
    text-decoration: none;
    display: inline-block;
    border-radius: 8px;
}

/***** photo gallery  ******/

.photo-gallery-inner-wrapper.photo-gallery-thumbnail{
    margin: 0 auto;
    max-width: 70%;
}

/********** photo gallery carousel **********/

.photo-gallery-wrapper {
    overflow: hidden;
}

.photo-gallery-carousel .photo-gallery {
    width: 100%;
}

.photo-gallery-carousel .photo-gallery-viewport {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.photo-gallery-carousel .photo-gallery-track {
    display: flex;
    align-items: center;
    gap: 20px;
    transition: transform 0.4s ease;
    will-change: transform;
}

.photo-gallery-carousel .photo-gallery-slide {
    flex: 0 0 60%;
    aspect-ratio: 4 / 3;
    opacity: 0.7;
    transition: opacity 0.3s ease;
}

.photo-gallery-carousel .photo-gallery-slide.active {
    opacity: 1;
}

.photo-gallery-carousel .photo-gallery-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/********** controls **********/

.photo-gallery-carousel .photo-gallery-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 15px;
}

.photo-gallery-carousel .photo-gallery-prev,
.photo-gallery-carousel .photo-gallery-next {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 24px;
    height: 24px;
    padding: 0;

    border: 0;
    border-radius: 50%;

    background: #c7a548;
    color: #fff;

    cursor: pointer;

    font-size: 18px;
    line-height: 1;
}

.photo-gallery-carousel .photo-gallery-count {
    font-size: 12px;
}

.view-more-link {
    display: block;
    width: fit-content;
    margin: 30px auto 0;
}

/********** button wrapper **********/

.splide-gallery-wrapper .gallery-main {
    margin-bottom: 30px;
}

.gallery-main .splide__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.splide-gallery-wrapper .gallery-thumbnails .splide__slide {
    opacity: .5;
    cursor: pointer;
}

.splide-gallery-wrapper .gallery-thumbnails .splide__slide.is-active {
    opacity: 1;
}

.gallery-thumbnails .splide__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/********** button wrapper **********/

.module-button-wrapper .button-wrapper {
    text-align: center;
    margin-top: 20px;
}

/********** form **********/

.boxed-column-form-inner-wrapper {
    padding: 30px;
}

.boxed-column-form-inner-wrapper h3 {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.4;
}

.boxed-column-form-inner-wrapper .form-header.center{
    text-align: center;
}

.boxed-column-form-inner-wrapper .form-header.left{
    text-align: left;
}

.boxed-column-form-inner-wrapper .form-header.right{
    text-align: right;
}

.boxed-column-form-inner-wrapper .form-submit-wrapper {
    margin-top: 0;
}

.boxed-column-form-inner-wrapper .dynamic-form{
    gap: 0 20px;
}

.boxed-column-form-inner-wrapper .form-description {
    margin-bottom: 0;
}

/********** image **********/

.full-width-image img{
    max-width: 100%;
}

/********** general **********/

.letter-sized-ratio img{
    aspect-ratio: 8.5 / 11;
}

.letter-sized-ratio img.landscape{
    aspect-ratio: 11 / 8.5;
}