@charset "UTF-8";
/* CSS Document */

/* === Testimonials === */

.testimonials {
/*    display: none;*/
}

/* set this in page layout */
.testimonials {
/*    margin-top: 45px;*/
    padding: 45px 0;
}

.testimonials h2 {
    text-align: center;
}

.testimonials_wrapper {
/*    background-color: lightseagreen;*/
    position: relative;    
}

.testimonial_block {
    padding: 0 20px;
    line-height: 1.4;
}

.testimonial_block,
.testimonial_block p {
    text-align: center;
}

.tes_icon {
    width: 75px;
    height: auto;
    display: block;
    margin: 0 auto 12px;
}

.tes_name {
    font-weight: bold;
    color: #254B5F;
    margin: 25px 0 0;
}

.tes_descrip {
    color: #59A193;
    font-size: 0.85em;
    font-weight: bold;
    font-style: italic;
    margin: 0 0 25px;
}

.arrows {
    display: none;
    position: absolute;
    top: 30%;
/*     transform: translate(0,-50%);*/
    width: 100%;
}

.arrows .left,
.arrows .right {
/*    background-color: #eee !important;*/
    position: absolute;
    width: 60px !important;
    height: 60px !important;
    z-index: 9;
    border-radius: 1000px;
    top: 0;
    cursor: pointer;
}

.arrows .left:hover ,
.arrows .right:hover {
/*    background-color: #EEE !important;*/
    background-color: #59A193 !important;
}

.arrows .right {
    transform: rotate(180deg);
    right: 0;
}


.slick-prev:before, .slick-next:before {
    font-size: 40px !important;
}

/* ======= Fancy Box ======= */

/* remove white bg for floating videos */
.fancybox-content {
    background-color: transparent !important;
    max-width: 1400px !important;
}

.fancybox-toolbar {
    top: 12px !important;
    right: 12px !important;
}

.fancybox-button {
    background: #59A193 !important;
    color: #FFF !important;
    height: 60px !important;
    width: 60px !important;
}

/* === FAQ Block === */

/* ===== FAQs ===== */

.faq_q {
    position: relative;
    padding: 12px;
    border-top: 1px solid #CCC;
    cursor: pointer;
/*    background-color: #59A193;*/
    color: #254B5F;
/*    margin-top: 2px;*/
}

.faq_q h3 {
    text-align: left;
    padding-right: 30px;
    font-size: 1.2em !important;
    position: relative;
    font-weight: bold;
/*    background-color: aliceblue;*/
}

.faq_q:hover {
    background-color: #EEE;
}

.faq_q .faq_arrow {
    position: absolute !important;
    right: 12px;
    top: 12px;
    transition: all 0.3s;
    display: inline-block;
    width: 20px;
    height: auto; 
    transform: rotate(180deg);
    transition: all 0.3s;
/*    background-color: #59A193;*/
}

.faq_q.on .faq_arrow {
    rotate: 180deg;
}

.faq_a {
    padding: 20px 12px;
    line-height: 1.2;
/*    background-color: #FFF;*/
}

.faq_a p {
    bottom: 12px 0 !important;
/*    width: 80%;*/
    text-align: left;
}

.faqs > .faq_q:first-child {
    border-radius: 20px 20px 0 0;
}

.faq_q:last-child {
    border-radius: 0 0 20px 20px;
}

/* ==== Other Accordions ==== */

.block_accord.open_button {
    padding: 15px;
    background-color: #DDD;
    margin-bottom: 2px;
    position: relative;
    cursor: pointer;
}

.open_button .acc_arrow {
    position: absolute !important;
    right: 12px;
    top: 50%;
    transform: translate(0,-50%) rotate(180deg);
    transition: all 0.3s;
    display: inline-block;
    width: 30px;
    height: auto; 
/*    background-color: #59A193;*/
}

#site-editor .open_button .acc_arrow {
    display: none;
}

.open_button h2 {
    margin: 0;
}

.open_button.on .acc_arrow {
    transform: translate(0,-50%) rotate(0deg);
}

.block_accord.open_button + .inside_content {
    background-color: #EEE;
}

/* ==== Row Cols with Icons ==== */


.row.icon_row > div {
    text-align: center;
    padding: 10px 0;
}

.row.icon_row figure,
.row.icon_row_2 figure {
    text-align: center;
}

.row.icon_row img,
.row.icon_row_2 img {
    max-width: 100px;
}

/* ===== Upperline Plus ===== */

.ext_team {
    padding: 45px 0;
}

.ext_team .row > div {
    padding: 20px 15px;
}

.ext_team h3 a {
    color: #254B5F !important;
    font-weight: bold;
}

.ext_team p a {
    display: block;
    margin-top: 5px;
}

/* ===== Leadership ===== */

.row.team > div {
    padding: 35px;
    text-align: center;
}

.row.team .team_info h3,
.row.team .team_info p {
    text-align: center;
}

.row.team .team_info h3 {
    margin-top: 12px;
    font-size: 1.3em;
}

.row.team img.headshot {
    border-radius: 20px;
    width: 100%;
    max-width: 400px;
/*    height: auto;*/
}

.row.team .linkedin {
    text-align: center;
    padding: 10px 20px 10px;
    margin: 10px auto;
    display: block;
}

.row.team .linkedin img {
    max-width: 80px;
}

.row.team .bio_link {
    font-size: 0.85em;
    margin-top: 0 !important;
    padding: 8px 12px 8px;
}

.team_bio {
    display: none;
}

.team_bio.fancybox-content {
    background-color: #FFF !important;
    border-radius: 12px;
    max-width: 850px !important;
}

.team_bio.fancybox-content p {
    line-height: 1.4 !important;
}

/* ======= Pagination ======== */

.pagination {
    text-align: center;
    display: block;
    padding: 30px;
}

.pagination a, .pagination span {
    background-color: #59A193;
    color: #FFF;
    width: auto;    
/*    border-radius: 2000px;*/
    display: inline-block;
/*    margin: 0 10px;*/
    padding: 10px 18px;
    font-size: 18px;
    text-decoration: none;
    position: relative;
    margin-bottom: 5px;
}

.pagination a:hover {
    background-color: #333;
}

.pagination a:first-child:before,
.pagination a:last-child:before {
    content: "-";
    display: block;
    width: 40px;
/*    background-color: hotpink;*/
    background-image: url(../images/down_arrow.webp);
    background-repeat: no-repeat;
    background-position: center 40%;
    background-size: 45% auto;  
    position: absolute;
    text-indent: 1000px;
}

.pagination a:first-child {
    border-radius: 1000px 0 0 1000px;
    padding-left: 40px;
}

.pagination a:last-child {
    border-radius:  0 1000px 1000px 0;
    padding-right: 40px;
}

.pagination a:first-child:before {
    rotate: 90deg;
    left: 0;
}

.pagination a:last-child:before {
    rotate: 270deg;
    right: 0;
}

.pagination span {
    background-color: #254B5F;
}

.pagination span.dots {
    background-color: transparent;
    color: #333;
    padding: 10px 0;
}

.pagination a:after {
/*  content: "";
  display: block;
  padding-bottom: 100%;*/
}

/* ========= New Contact Page ========== */

.col_jotform {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.col_jotform iframe {
        display: block;
        border: none;
        height: 125vh;
        width: 100vw;
}

/* ============ Other Styles ============ */

.dark_row > div {
    padding: 15px;
}

.dark_row .wp-block-group {
    background-color: #244C5A;
    padding: 15px;
    border-radius: 12px;
    height: 100%;
}

.dark_row .wp-block-group h3,
.dark_row .wp-block-group p {
    color: #FFF;
}

/* ============ VP Header ============ */

main:has(.vp_header) {
    padding-top: 0;
}

.vp_header {
    padding: 0;
    overflow: hidden;
    position: relative;
}

.vp_header figure {
    margin-bottom: 0;
}

.vp_header img {
    position: absolute;
    z-index: 0;
    height: 110%;
    width: auto;    
    max-width: 500%;
    top: -5vw;
    left: 50%;
    transform: translate(-50%,0);
}

.vp_header .wp-block-group {
    position: relative;
    z-index: 10;
    text-align: center !important;
    /*background-color: var(--teal);*/
    background-color: rgba(36, 76, 91, 0.51);
    padding: 12vw 0;
}

.vp_header .wp-block-group :is(h2,p) {
    text-align: center;
    margin-top: 0;
    color: #FFF;
}

.vp_header .wp-block-group h2 {
    font-size: 3em;
    margin-bottom: 10px;
}

.vp_header .wp-block-group hr {
    color: #FFF !important;
    width: 50%;
}

.locations_anchor_block {
    /*scroll-margin-top : 10em;*/
    scroll-margin-top : 20em;
}

/* ============ Start Non-Mobile ============ */

@media(min-width:768px) {

    .testimonials {
        display: block;
    }

    /* === Row Cols with Icons === */

    .row.icon_row > div {
    /*  background-color: pink;*/
        padding: 15px;
    /*  border-top: 2px solid #254B5F;*/
    }

    .row.icon_row .wp-block-group {
        font-size: 1em;
        position: relative;
        display: block;
    /*    background-color: lightcoral;*/
        padding: 0 45px 20px 80px;
    /*    border-bottom: solid 2px #EEE;*/
        height: 100%;
    }

    .row.icon_row .wp-block-group h2 {
        margin: 0 0 20px;
    }

    .row.icon_row .wp-block-group img {
        position: absolute;
        width: 60px;
        height: auto;
        left: 0;
    }

    .row.icon_row .wp-block-group:after {
        content: '';
        position: absolute;
        width: 90%;
        height: 2px;
        background-color: #EEE;
        bottom: 0;
        left: 0;
        display: block;
    }

    /* === Row Cols with Icons STYLE 2 === */

    .row.icon_row_2 > div {
        padding: 0 40px;
        text-align: center;
    }

    .row.icon_row_2 h3 {
        font-weight: bold;
    }

    .row.icon_row_2 p {
        line-height: 1.4;
    }

    .row.icon_row_2 img {
        max-width: 100px;
    }


    /* Variation for ULPlus page */

    .row.icon_row_2.ulplus > div {
        padding: 40px;
    }

    .row.icon_row_2.ulplus p {
        text-align: center;
        font-weight: bold;
        color: #254B5F;
        line-height: 1.2;
    }

    /* Variation for About page */

    .row.icon_row_2.about figure {
    /*    max-width: 100px;*/
        text-align: left;
    }

    /* === Testimonials === */

    .testimonials {
        margin-top: 45px;
    }

    .testimonial_block {
        padding: 0 120px;
    }

    .arrows {
        display: block;
    }

    /* === VP Header === */

    .vp_header img {
        height: auto;
        width: 100%;    
    }    

}

