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

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

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

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

/*********  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{
    padding: 50px 0;
}

.background.blue,
.call-to-action-boxes .blue,
.boxed-link-list .blue.link-list dl{
    background-color:var(--main-color-blue);
    color:white;
    border: none;
}

.background.gold,
.call-to-action-boxes .gold,
.boxed-link-list .gold.link-list dl{
    background-color:var(--main-color-gold);
    color:white;
    border: none;
}

.background.purple,
.call-to-action-boxes .purple,
.boxed-link-list .purple.link-list dl{
    background-color:var(--main-color-purple);
    color:white;
    border: none;
}

.background.orange,
.call-to-action-boxes .orange,
.boxed-link-list .orange.link-list dl{
    background-color:var(--main-color-orange);
    color:white;
    border: none;
}

.background.green,
.call-to-action-boxes .green,
.boxed-link-list  .green.link-list dl{
    background-color:var(--main-color-green);
    color:white;
    border: none;
}

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

.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;
}

.background.light-blue,
.call-to-action-boxes .light-blue,
.boxed-link-list  .light-blue.link-list dl{
    background-color:var(--secondary-color-light-blue);
    color:var(--secondary-color-medium-blue);
    border: none;
}

.background.medium-blue,
.call-to-action-boxes .medium-blue,
.boxed-link-list  .medium-blue.link-list dl{
    background-color:var(--secondary-color-medium-blue);
    color:white;
    border: none;
}

.background.light-blue a{
    color: white;
}

.background.blue a{
    color: white;
}

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

.module-item img{
    display: block;
}

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

.text-content{
    padding:0;   
}

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

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

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

.text-content .full-width{
    padding-right: 0;
}

.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";
}

.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.orange h2
,.background.purple h2
,.background.green h2
,.background.black h2
,.background.gray h2

,.background.orange h3
,.background.purple h3
,.background.green h3
,.background.black h3
,.background.gray h3{
    color: white;
}

.background.white h2
,.background.gold h2
,.background.light-gray h2

,.background.white h3
,.background.gold h3
,.background.light-gray h3
,.background.white p
,.background.gold p
,.background.light-gray p{
    color: black;
}


.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";
}



/**** no used ***/
.text-content .has-image .image.max-height img{
    margin-top: -50px;
    margin-bottom: -50px;
}


/********  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%;
    object-fit: cover;
    position: absolute;
}

.slider-outer-wrapper .slide-content{
    position: absolute;
    color:var(--main-text-color);
    font-size: clamp(20px,5vw,25px);
    max-width: 550px;
    top: 50%;
    left: 70px;
    transform: translateY(-50%);
}

.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.small p{
    font-size: 32px;
    line-height: 1.5;
}

.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);
}

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

.slider-control 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 div.active{
    background-color: var(--main-color-orange);
    outline: 1px solid var(--main-color-orange);
    outline-offset: 2px;
}

/********  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-orange);
    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;
}

.headline-with-subhead h1{
    font-size: 36px;
    font-weight: 800;
    color: var(--main-color-blue);
    line-height: 120%;
}

.headline-with-subhead h2{
    font-size: 22px;
    font-weight: 400;
}

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

.section-highlight-with-image{
      position: relative;
      padding: 60px 0;
}

.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:30px;
}

.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%;
}

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

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

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

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


/*********  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%;
}

/*********  partner carousel  ***********/

.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%;
}

/*********  find-an-event  ***********/

.find-an-event .highlight{
    position: relative;
    background-color: var(--main-color-purple);
}

.find-an-event .highlight:before{
    content: "\f073";
    font-family: "Font Awesome 6 Pro";
    color: white;
    font-size: 400px;
    position: absolute;
    right: -5%;
    top: -25%;
    opacity: .1;
}

.find-an-event .listing li{
    margin-bottom: 10px;

}

.find-an-event .listing a{
    display: block;
    font-weight: 600;
    font-size: 20px;
}

/*********  centers slider  ***********/

.centers-slider-wrapper{
    position: relative;
    overflow: hidden;
    margin-bottom: 0;
}

.centers-slider-wrapper a{
    text-decoration: none;
}

.centers-carousel .centers-slider{
    margin: 0;
    padding: 0;
    transition: transform 1s;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    list-style: none;
    width: 100%;
}

.centers-carousel .centers-slide{
    min-width: 100%;
}

.centers-carousel .two-column-wrapper{
    gap:0;
    grid-template-areas: "image text";
    height: 100%;
}

.centers-carousel .two-column-wrapper.left{
    grid-template-areas: "image text";
}

.centers-carousel .two-column-wrapper.right{
    grid-template-areas: "text image";
}

.centers-carousel .cwe .highlight{
    background-color: var(--main-color-gold);
    color: var(--main-color-black);
}

.centers-carousel .highlight h2{
    font-size: 40px;
}

.centers-carousel .image{
    grid-area: image;
}

.centers-carousel .highlight{
    grid-area: text;
}

/*********  centers listing  ***********/

.centers-listing{
    display: grid;
    gap: 40px;
}

.centers-listing-item{
    grid-template-columns: 300px auto;
    border: 6px solid var(--main-color-black);
    padding: 40px 80px;
}

.centers-listing-item .image img{
    object-fit: contain;
}

.centers-listing-item{
    border-color: var(--data-color-attr);
    min-height: 318px;
    box-sizing: border-box;
}

.centers-listing-item h3{
    color: var(--data-color-attr);
}

.centers-listing-item.cwe h3{
    color: var(--wcag-text-color-gold);
}

.centers-listing-item
,.centers-listing-item h3 a{
    color: inherit;
    text-decoration: none;
}

/*********  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;
    max-width: 70%;
    height: 100%;
    max-height: 70%;
    aspect-ratio: 16 / 9;
    margin: auto;
}
.sa_videoPlayer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    aspect-ratio: 16/9;
}

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

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

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

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

.boxed-link-list .light-blue.link-list dd{
    color:var(--secondary-color-medium-blue);
}