@charset "utf-8"; /* used to preserve quote characters for <blockquote> on homepage */

/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*********************************************** COLORS ******************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/

/*

Official Palette (From Brand Style Guide):
- Navy - #001E60
- Warm Red - #F9423A
- Gray - #D9D9D6
- Turquoise - #58A7AF
- Light Turquoise - #5CB8B2
- Light Green - #D9EA9A


Others (use as few colors here as possible!!!):
- Black - #000
- Dark Gray - #757575
- Light Gray - #EEE

*/





/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*********************************************** GENERAL *****************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/

body {
    font-family: 'Montserrat', sans-serif;
}

a {
    outline: 0 !important;
    outline: none !important;
}

a:hover,
a:active {
    color:#58A7AF;
}

/* Fluid Columns (to be used only if necessary) */

.container-fluid.fullwidth {
    margin-left:0;
    margin-right:0;
}

.container-fluid.fullwidth [class^='col-md-'] {
    padding:0;
}

.d-none {
    display: none;
}

img {
    flex-shrink: 0; /* IE 11 bug */
}




/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*********************************************** ELEMENTOR GLOBAL OVERRIDES **********************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/

#cpcs-site .elementor-widget-text-editor,
#cpcs-site .elementor-widget-heading .elementor-heading-title {
    font-family: 'Montserrat', sans-serif;
}

#cpcs-site .elementor-widget-heading .elementor-heading-title {
    text-align: left;
}

#cpcs-site .elementor a {
    text-decoration: underline;
}

#cpcs-site .elementor a:hover,
#cpcs-site .elementor a:active {
    color:#58A7AF;
    transition: all 0.3s ease-in-out 0s;
}

#cpcs-site .elementor-section.elementor-section-boxed>.elementor-container {
    max-width: 1320px !important;
}

#cpcs-site p,
#cpcs-site li {
    color: inherit;
    line-height: 1.7em;
    font-size:1em;
    margin-bottom: 1em;
    font-weight:500;
}

#cpcs-site .elementor-text-editor p,
#cpcs-site .elementor-text-editor ul li,
#cpcs-site .elementor-text-editor ol li {
    color:#000;
}

#cpcs-site h3 {
    font-family:Montserrat, sans-serif;
    color:#001E60;
    font-size:2.5em;
    font-weight:700;
    line-height:1.2em;
    margin-bottom:1em;
}

#cpcs-site h4 {
    font-family: Montserrat, sans-serif;
    color: #001E60;
    font-size: 1.3em;
    font-weight: 700;
    line-height: 1.2em;
    margin-bottom: 1em;
}

#cpcs-site h5 {
    font-family: Montserrat, sans-serif;
    color: #000;
    font-size: 1em;
    margin-bottom: 0.5em;
}

#cpcs-site ul li {
    margin-bottom: 0;
}

#cpcs-site .elementor-social-icon {
    background-color:transparent !important;
    font-size: 25px;        /* added to make mail icon bigger for [lead_advisors] shortcode */
    padding:0;
    width:initial;
    height:initial;
}

#cpcs-site .elementor-social-icon i {
    /* color: #001E60; */
    color: #999;
}

#cpcs-site figure.wp-caption figcaption {
    font-family: Montserrat, sans-serif;
    font-weight: 500;
    color: #001E60;
    margin-top:15px;
}





/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*********************************************** HEADER ******************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/

.skip-link {
    display:none;
}

#logo-container {
    width:45%;
}

#logo-container h1 {
    display:block;
    margin-bottom:0;
}

#logo-container h1 span.hidden {
    display:none;
}

#sticky-menu-container-wrapper {
    width:10%;
}

#sticky-menu-container-wrapper #sticky-menu-container {
    display: none;
}

#utility-container-container {
    width:45%;
}





#logo-container a#logo {
    display:block;
    max-width:280px;
    height:auto;
}

#logo-container a#logo img {
    display:block;
    width:100%;
    height:auto;
}
#cpcs-site #mysticky-nav.wrapfixed {
background-color: white;
}
/******************************************** MAIN HEADER STICKY MENU ***********************************************/
#cpcs-site #top-nav-menu-container.myfixed {
    width: 100%!important;
}
#overlay-background {
    background: black;
    height: 100%;
    position: fixed;
    width: 100%;
    z-index: 99999;
    opacity: 0.7;
    display: none;
    top: 0;
    bottom: 0;
    left:0;
    right:0;
}
.no-scroll {
    height: initial;
    overflow: hidden;
}
#overlay-background.active {
    display: block;
}
#sticky-menu-container {
    display: flex;
    justify-content: flex-end;
    align-items: baseline;
    padding-top: 2em;
}

#sticky-menu-container .menu-main-menu-container {
    display: none;
}

#menu-main-menu-1 li  {
    list-style: none;
    display: inline;
    padding-left:20px;
}

#menu-main-menu-1 li ul.sub-menu {
    display: none;
}

/*********************************************** MAIN HEADER MENU ***************************************************/

#top-nav-menu {
    margin-top:20px;
    margin-bottom:20px;
    max-width: 1320px !important;
    margin-left: auto;
    margin-right: auto;
    width: 100%!important;
}

#utility-container-container {
    text-align:right;
}

    #utility-container {
        display: flex;
        align-items: center;
        justify-content: center;
        max-width:300px;
        margin: 30px 0 0 auto;
    }
    
        #utility-container #lang-toggle,
        #utility-container div#utility-linkedin-container,
        #utility-container div#utility-hamburger-container {
            width:33.3%;
            text-align:right;
        }
        
            #utility-container #lang-toggle a {
                text-transform: uppercase;
                color:#757575;
            }

            #utility-container a#utility-linkedin {
                display:inline-block;
                overflow:hidden;
            }

                #utility-container a#utility-linkedin img {
                    display:inline-block;
                    width:30px;
                    height:auto;
                }

            #utility-container a#utility-hamburger {
                display:inline-block;
                overflow:hidden;
            }

                #utility-container a#utility-hamburger img {
                    width:33.3%;
                    display:inline-block;
                    width:30px;
                    height:auto;
                }

        #main-menu-dropdown {
            background-color:#FFF;
            width: 396px;
            position: fixed;
            z-index: 999999;
            right: -396px;
            top:0;
            max-width: 100%;
            height:100vh;
            overflow-y: auto;
            -webkit-overflow-scrolling:touch; 
        }

        #main-menu-dropdown #menu-scroll-pusher { /* allows you to scroll the entire menu on mobile. Otherwise menu height isn't tall enough to see bottom items */
            height:100px;
            width:100%;
        }



        #main-menu-dropdown #menu-x-wrapper #chevron-close-wrapper {
            display: flex;
            align-items: center;
            width:100%;
            margin-bottom: 20px;
        }

            #main-menu-dropdown #menu-x-wrapper #chevron-close-wrapper #chevron {
                overflow:hidden;
                width:50%;
            }

            #main-menu-dropdown #menu-x-wrapper #chevron-close-wrapper #chevron img {
                display:block;
                width:100px;
                height:auto;
            }

            #main-menu-dropdown #menu-x-wrapper #chevron-close-wrapper .close-menu {
                color:#001E60;
                width:50%;
            }

            #main-menu-dropdown #menu-x-wrapper #chevron-close-wrapper .close-menu img {
                display:block;
                width:20px;
                margin:0 30px 0 auto;
                cursor: pointer;
            }

            #main-menu-dropdown #menu-x-wrapper #chevron-close-wrapper .close-menu img:hover {
                transition: all 0.5s;
                -webkit-transform: scale(1.25);
                -ms-transform: scale(1.25);
                transform: scale(1.25);
            }

      

        #main-menu-dropdown div.menu-main-menu-container ul#menu-main-menu,
        #main-menu-dropdown div.menu-main-menu-fr-container ul#menu-main-menu-fr {
            padding: 0;
            list-style-type: none;
            margin-bottom:0;
        }

        #main-menu-dropdown div.menu-main-menu-container ul#menu-main-menu ul,
        #main-menu-dropdown div.menu-main-menu-fr-container ul#menu-main-menu-fr ul {
            padding: 0;
            list-style-type: none;
        }

        #main-menu-dropdown div.menu-main-menu-container ul#menu-main-menu > li,
        #main-menu-dropdown div.menu-main-menu-fr-container ul#menu-main-menu-fr > li {
            text-align: center;
            padding: 5px 0;
            
            background-color: #FFF;
            margin-bottom: 0;
        }

        #main-menu-dropdown div.menu-main-menu-container ul#menu-main-menu > li a,
        #main-menu-dropdown div.menu-main-menu-fr-container ul#menu-main-menu-fr > li a {
            display:block;
            width:100%;
            padding-top: 5px;
            padding-bottom: 5px;
            font-size: 1.5em;
            font-weight: 600;
            color: #001E60;
            text-align: left;
            padding-left: 30px;
            text-transform: lowercase;
        }

        #main-menu-dropdown div.menu-main-menu-container ul#menu-main-menu > li a:hover,
        #main-menu-dropdown div.menu-main-menu-container ul#menu-main-menu > li a:active,
        #main-menu-dropdown div.menu-main-menu-fr-container ul#menu-main-menu-fr > li a:hover,
        #main-menu-dropdown div.menu-main-menu-fr-container ul#menu-main-menu-fr > li a:active {
            background-color:#58A7AF;
            color:#fff;
            transition: all 0.5s;
        }

            #main-menu-dropdown div.menu-main-menu-container ul#menu-main-menu > li ul.sub-menu li,
            #main-menu-dropdown div.menu-main-menu-fr-container ul#menu-main-menu-fr > li ul.sub-menu li {
                margin-bottom:0;
            }

            #main-menu-dropdown div.menu-main-menu-container ul#menu-main-menu > li ul.sub-menu li a,
            #main-menu-dropdown div.menu-main-menu-fr-container ul#menu-main-menu-fr > li ul.sub-menu li a {
                 font-weight: 300;
                 font-size: 1.2em;
                 padding-left: 40px;
            }





/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*********************************************** GENERAL UI COMPONENTS ***************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/

/***************************************** CPCS BUTTON WITH CHEVRON ON RIGHT *********************************************/

a.cpcs-button {
    position: relative;
    display: block;
    border:1px solid #757575;
    border-radius:3px;
    -moz-border-radius:3px;
    -webkit-border-radius: 3px;
    padding: 15px;
    background-color: #fff;
    transition: all 0.5s;
    text-decoration: none !important;
    min-height: 50px;
}

a.cpcs-button:hover,
a.cpcs-button:active {
    background-color:#eee;
    -webkit-transform: scale(1.03);
    -ms-transform: scale(1.03);
    transform: scale(1.03);
}

    a.cpcs-button span {
        display: block;
        font-size:1em;
        font-weight:700;
        color:#001E60;
    }

    a.cpcs-button img {
        position: absolute;
        top: 15px;
        right: 10px;
        display: block;
        width: 15px !important;
        height: auto;
    }

.contactbtn-linkedinbtn-combo {
    display:table;
    width:100%;
}
    .contactbtn-linkedinbtn-combo .left {
        display:table-cell;
        vertical-align: middle;
        width:75%;
    }

    .contactbtn-linkedinbtn-combo .right {
        display:table-cell;
        vertical-align: middle;
        width:25%;
    }

        .contactbtn-linkedinbtn-combo .right a.elementor-icon {
        width: 100%;
        display: block;
        }

        .contactbtn-linkedinbtn-combo .right a.elementor-icon i.fab {
            margin:0 auto;
            /* margin:0 0 0 auto; */
        }
   
        .fa-linkedin-in:before {
            content: "\f0e1";
        }

/*********************************************** ELEMENTOR-GENERATED CONTENT BLOCK SPACER (VERTICAL SPACER) ***************************************************/

#cpcs-site .elementor-style-spacer {
    width:100%;
    height:70px;
    padding:0;
}

#cpcs-site .section-spacer {
    height:50px;
}

#cpcs-site .section-spacer.red {
    background-color: #F9423A;
    height:30px;
    margin:50px 0;
    padding-top:0;
    padding-bottom:0;
}

/*********************************************** ELEMENTOR-GENERATED GENERIC HEADER <Hx> ***************************************************/

#cpcs-site .elementor-section-header h3 {
    margin-bottom:0;
}

#cpcs-site .elementor-section-header .elementor-column-wrap {
    padding:0;
}

#cpcs-site .elementor-section-header.margin-top h3 { margin-top:30px; }
#cpcs-site .elementor-section-header.margin-bottom h3 { margin-bottom:30px; }
#cpcs-site .elementor-section-header.padding-top h3 { padding-top:30px; }
#cpcs-site .elementor-section-header.padding-bottom h3 { padding-bottom:30px; }

/*********************************************** ELEMENTOR-GENERATED 50/50 SPLIT BLOCK ***************************************************/

#cpcs-site .fifty-fifty .text-block {
    padding-right:30px;
}

#cpcs-site .fifty-fifty .elementor-column-gap-default>.elementor-row>.elementor-column>.elementor-element-populated {
    padding: 0;
}

#cpcs-site .fifty-fifty p,
#cpcs-site .fifty-fifty ul,
#cpcs-site .fifty-fifty ul li,
#cpcs-site .fifty-fifty ol li {
    color:#000;
}

#cpcs-site .fifty-fifty img {
    width:100%;
}

/*********************************************** ELEMENTOR-GENERATED ACCORDION MENU ***************************************************/

#cpcs-site .elementor-accordion {
    background-color:#fff;
    margin-bottom:30px;
}

#cpcs-site .elementor-accordion .elementor-tab-title a {
    font-family: 'Montserrat', sans-serif;
    font-weight:700;
    font-size: 1.2em;
    color:#000;
    text-decoration: none;
}

#cpcs-site .elementor-accordion p {
    font-family: 'Montserrat', sans-serif;
    font-size: 1em;
    color: #000;
    font-weight: 500;
}

/*********************************************** ELEMENTOR-GENERATED ROW WITH ICONS OR IMAGES ***************************************************/

/*-------------- ELEMENTOR-GENERATED ICON ROW --------------/

/* Body (content) section */

#cpcs-site .icon-row.content {
    padding-top: 15px;
    padding-bottom: 15px;
}

#cpcs-site .icon-row.content .elementor-widget-image img {
    display:block;
    margin-left:auto;
    margin-right:auto;
}

#cpcs-site .icon-row.content .elementor-row .elementor-widget-wrap .elementor-widget-wrap img {
    max-width: 220px;
}

#cpcs-site .icon-row.content .elementor-row .elementor-widget-wrap .elementor-widget-wrap .elementor-text-editor {
    max-width: 220px;
    margin: 0 auto;
    text-align: center;
}

#cpcs-site .icon-row.content .elementor-row .elementor-widget-wrap .elementor-col-20 .elementor-widget-wrap img { /* for 5 columns only */
    max-width:180px;
}





#cpcs-site .icon-row.content h4 {
    width:100%;
    text-align: center !important;
    font-size:1em;
    font-weight:700;
    color:#000;
    margin-bottom:0;
}

.circle-image .elementor-image {
    width:100%;
    padding-top:100%;
    overflow:hidden;
    position:relative;
    border-radius:50%;
    margin:0 auto 15px auto;
}

.circle-image img,
img.circle-image {
    position:absolute;
    top:50%;
    left:50%;
    min-width:100%;
    height:100%;
    transform:translate(-50%,-50%);
    transition: 0.5s ease;
}

/*-------------- ELEMENTOR-GENERATED PEOPLE/CONTACT ROW --------------*/

#cpcs-site .expert-row a.global-expert {
    display:block;
    text-decoration: none;
    max-width:200px;
    margin:0 auto;
}

#cpcs-site .expert-row a.global-expert .photo-circleclip {
    width: 100%;
    padding-top: 100%;
    overflow: hidden;
    position: relative;
    border-radius: 50%;
    margin: 0 auto 15px;
}

#cpcs-site .expert-row a.global-expert .photo-circleclip img {
    position:absolute;
    top:50%;
    left:50%;
    min-width:100%;
    max-width: inherit;
    height:100%;
    transform:translate(-50%,-50%);
    transition: 0.5s ease;
}

#cpcs-site .expert-row a:hover,
#cpcs-site .expert-row a:active {
    color:#58A7AF;
}

#cpcs-site .expert-row a.global-expert h4 {
    color:inherit;
    margin-bottom: 10px;
}

#cpcs-site .expert-row a.global-expert p {
    color:inherit;
    text-align: center;
}

#cpcs-site .expert-row a.global-expert p.name {
    margin-bottom:0;
    font-weight:700;
}

#cpcs-site .expert-row a.global-expert p.title {
    margin-bottom:10px;
    font-weight:500;
}

#cpcs-site .expert-row a.global-expert p.description {
    text-align: left;
    margin-bottom:10px;
    font-weight:500;
}

#cpcs-site .expert-row > section > .elementor-container > .elementor-row .elementor-column {
    
}



/*-------------- ELEMENTOR-GENERATED STAFF MEMBER STORY ROW --------------*/

/* Header section */

#cpcs-site .staff-story-row.header .elementor-column-wrap {
    padding: 15px 0 0 0;
}

#cpcs-site .staff-story-row.header h3 {
    margin: 15px 0 0 0;
}

/* Content section */

#cpcs-site .staff-story-row.content h4 {
    margin-bottom: 0.2em;
    font-size: 1.8em;
    font-weight: 500;
    margin-bottom: 0.5em;
}

#cpcs-site .staff-story-row.content {
    padding-top: 30px;
    padding-bottom: 30px;
}

#cpcs-site .staff-story-row.content .elementor-widget-text-editor {
    margin-bottom:0;
}

#cpcs-site .staff-story-row.content a.cpcs-button {
    width:40%;
}

/*-------------- ELEMENTOR-GENERATED LOCATION ROW --------------*/

#cpcs-site .location-row a.location-link,
#cpcs-site .location-row a.job-link {
    display:block;
    text-decoration: none;
    max-width:240px;
    margin:0 auto;
}

#cpcs-site .location-row a.location-link .photo-circleclip,
#cpcs-site .location-row a.job-link .photo-circleclip {
    width: 80%;
    padding-top: 80%;
    overflow: hidden;
    position: relative;
    border-radius: 50%;
    margin: 0 auto 15px;
}

#cpcs-site .location-row a.location-link .photo-circleclip img,
#cpcs-site .location-row a.job-link .photo-circleclip img {
    position:absolute;
    top:50%;
    left:50%;
    min-width:100%;
    max-width: inherit;
    height:100%;
    transform:translate(-50%,-50%);
    transition: 0.5s ease;
}

#cpcs-site .location-row a:hover,
#cpcs-site .location-row a:active {
    color:#58A7AF;
}

#cpcs-site .location-row a.location-link h4,
#cpcs-site .location-row a.job-link h4 {
    color:inherit;
    margin-bottom: 10px;
}

#cpcs-site .location-row a.location-link p,
#cpcs-site .location-row a.job-link p {
    color:inherit;
    text-align: center;
}

#cpcs-site .location-row a.location-link p.location,
#cpcs-site .location-row a.job-link p.jobtitle {
    margin-bottom:0;
    font-weight:700;
}

#cpcs-site .location-row a.location-link p.description,
#cpcs-site .location-row a.job-link p.location {
    margin-bottom:0;
    font-weight:500;
}


/*-------------- GRID-GENERATED LEADER ROW --------------*/

#cpcs-site .leaders-row {
    padding:30px 0;
}

/* #cpcs-site .leaders-row h3 {
    margin-bottom:15px;
} */

#cpcs-site .leaders-row .elementor-column-wrap {
    padding:0;
}



/*********************************************** ELEMENTOR-GENERATED ROWS: OTHER ***************************************************/

/*-------------- OUR PRESENCE --------------*/

.presence-row h4 {
    text-align:center !important;
}





/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*********************************************** PAGE - HOME *************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/




/*-------------- SLIDER --------------*/

#slider-bg {
	width:100%;
	background-color:#FFFFFF;
}

#slider-bg .container {
	padding:0;
}

#home-slider {
	position:relative;
}

#main-feature {
	width:100%;
	overflow:hidden;
	padding-left:0;
	padding-right:0;
	background-color:#FFF;
}

#cpcs-site .main-feature-item {
	width:100%;
}
#cpcs-site .main-feature-item .main-feature-img {
    width:100%;
}

#cpcs-site .main-feature-item .main-feature-img img {
    width:100%;
}

img.desktop-img {
    display:block;
}
img.mobile-img {
    display:none;
}

/*-------------- SLIDER 'SIDEBAR' --------------*/

.main-feature-sidebar {
    display:table;
	position:absolute;
	top:0;
	left:0;
    width:600px;
    /* height is set in jQuery */
}

.main-feature-sidebar-inner {
    display:table-cell;
    vertical-align: middle;
    width:100%;
}

.main-feature-sidebar-inner-inner {
    display:block;
    width:100%;
    background-color:#fff;
}

.main-feature-sidebar .slider-textbox-chevron-holder {
    position:relative;
    background-color:#fff;
}

.main-feature-sidebar .slider-textbox-chevron-holder img {
    position:absolute;
    left:0;
    top: 20px;
    width:100px;
    height:auto;
    display:block;
}

.main-feature-sidebar .slider-textbox-content-holder {
    padding: 40px 40px 40px 120px;
    width:100%;
}

#cpcs-site .main-feature-sidebar .slider-textbox-content-holder h3 {
    font-size: 2.2em;
    margin-bottom: 0;
}

#cpcs-site .main-feature-sidebar .slider-textbox-content-holder h4 {
    font-size: 1.4em;
    font-weight:400;
    margin-bottom: 0.2em;
}

.main-feature-sidebar .slider-textbox-content-holder p {
    font-size:1.5em;
    line-height:1em;
}

.main-feature-sidebar .slider-textbox-content-holder .cpcs-button {
    width:50%;
}

#main-feature-mobile-sidebar {
    position:relative;
    display:none;
}




/*********************************************** TOP ROW OF ICONS (JUST BELOW SLIDER) ***************************************************/

#homepage-topbuttons {
    margin-top:50px;
    margin-bottom:30px;
}

#homepage-topbuttons .button a {
    display: block;
    max-width: 240px;
    height: auto;    
    margin: 0 auto;
}

#homepage-topbuttons .button a p {
    font-weight:bold;
}

#homepage-topbuttons .button a:hover {
    color:#58A7AF;
}

#homepage-topbuttons .button a img {
    display:block;
    width:100%;
    height:auto;
}

#homepage-topbuttons .col-md-3.force-five-columns {
    width:20%;
    max-width:20%;
}


/*********************************************** STAFF BIO SLIDER ***************************************************/


/* Note: client doesn't intend to have more than 1 bio at a time in here any more, but keeping slider functionality for now */

#ourstories-slider-wrapper {
    background-color: #eee;
}

body.home #ourstories-slider-wrapper .content {
    padding-top:45px;
    padding-bottom:45px;
}

#ourstories-slider-wrapper .content h2 {
    color:#001E60;
    font-size:3em;
    line-height:1em;
}

.ourstories-slider .slick-prev,
.ourstories-slider .slick-next {
    z-index: 9999;
    width: 25px;
    height: auto;
}

.ourstories-slider .slick-slide .slide-table {
    display: table;
    width:100%;
}

    .ourstories-slider .slick-slide .slide-table .photo {
        width: 25%;
        display: table-cell;
        vertical-align: middle;
    }

    .ourstories-slider .slick-slide .slide-table .photo-circleclip {
        width: 80%;
        padding-top: 80%;
        overflow: hidden;
        position: relative;
        border-radius: 50%;
        margin: 0 auto;
    }

        .ourstories-slider .slick-slide .slide-table .photo img {
            position:absolute;
            top:50%;
            left:50%;
            min-width:100%;
            height:100%;
            transform:translate(-50%,-50%);
            transition: 0.5s ease;
        }

    .ourstories-slider .slick-slide .slide-table .quoteblock {
        width: 75%;
        display: table-cell;
        vertical-align: middle;
        padding-bottom:5px; /* to prevent button from being cut off if you roll over it, which makes it a bit bigger */
    }

    #cpcs-site .ourstories-slider .slick-slide .slide-table .quoteblock h4 {
        margin-bottom: 0.2em;
        font-size: 1.8em;
        font-weight: 500;
        margin-bottom: 0.5em;
    }

    #cpcs-site .ourstories-slider .slick-slide .slide-table .quoteblock h5 {
        /* font-weight: 400; */
        margin-bottom: 1em;
    }

    .ourstories-slider .slick-slide .slide-table .quoteblock p {
        color:#001E60;
        font-size:1em;
    }

    .ourstories-slider .slick-slide .slide-table .quoteblock a.cpcs-button {
        width:40%;
    }



/*********************************************** TESTIMONIAL SLIDER ***************************************************/

/* Note: client doesn't intend to have more than 1 testimonial at a time in here any more, but keeping slider functionality for now */


#homepage-testimonialslider-wrapper h3 {
    margin-top:1em;
}

.testimonial-slider-wrapper-wrapper {
    margin-top:1em;
    padding-left:0;
    padding-right:0;
}

.testimonial-slider-wrapper {
    margin:0;
}

.testimonial-slider-wrapper .slide blockquote.testimonial-quote {
    font-size: 2rem;
    margin-left: 1em;
    font-weight: 300;
}

.testimonial-slider-wrapper .slide blockquote.testimonial-quote:before {
    content: '“';
    position: absolute;
    margin-left: -.5em;
    margin-top: -0.1em;
    font-size: 2em;
}


.testimonial-slider-wrapper .slide blockquote.testimonial-quote:after {
    content: '”';
    font-size: 2em;
    position: absolute;
    margin-right: 0;
    margin-top: -0.1em;
}
body.body-fr .testimonial-slider-wrapper .slide blockquote.testimonial-quote:before {
    content: '«';
    margin-left: -0.7em;
    margin-top: 0em;
    font-size: 2rem;
}
body.body-fr .testimonial-slider-wrapper .slide blockquote.testimonial-quote:after {
    content: '»';
    font-size: 2rem;
    position: absolute;
    margin-left: 0.1em;
    margin-top: 0;
}


.testimonial-slider-wrapper .slide p.testimonial-quotesource {
    margin-left: 2em;
    font-weight:500;
}





/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*********************************************** PAGE - [GENERIC] **********************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/

/*********************************************** CHEVRON BACKGROUND ***************************************************/

#bg-chevron {
    width:100%;
    position:relative;
}

#bg-chevron .bg-chevron-inner {
    position: fixed;
    top:400px;
    left:0;
    width:100%;
    height:auto;
    z-index:-9999;
}

/*********************************************** H2 TITLE BLOCK ***************************************************/

/* Note: this is the big <H2> header at the top of each inside page) */

#title-block {
    width: 100%;
    display:table;
    margin-bottom: 30px;
}

#title-block .chevron {
    width: 10%;
    display:table-cell;
    vertical-align: middle;
}

#title-block .chevron img {
    width:100%;
    height:auto;
}

#title-block .title-text {
    width:40%;
    display:table-cell;
    vertical-align: middle;
    text-transform: lowercase;
}

    #title-block.has-no-anchors .title-text {
        width: 90%;
    }

#title-block .title-text h2 {
    font-size: 6em;
    font-weight: 300;
    line-height: 1em;
    color:#001E60;
    margin-left: 60px;
    margin-bottom: 0;
}

#title-block .anchor-list {
    width:40%;
    display:table-cell;
    vertical-align: middle;
}

#title-block .anchor-list .line-break {
    width: 100%;
    overflow: hidden;
    clear: both;
    padding: 10px;
}

.anchor-list.mobile {
    display:none;
}

.body-content {
    margin-top:30px;
    margin-bottom:30px;
}

#cpcs-site .cpcs-videoplayer .elementor-column-wrap {
    padding:0 !important;
}

.lead-advisors-footer {
    padding: 60px 0;
    background-color: #eee;
}

#cpcs-site .footer-donut img {
    display:block;
    max-width:600px;
    height:auto;
    margin:0 auto;
}



/*********************************************** ANCHORS ***************************************************/

body:not(.elementor-editor-active) .elementor-menu-anchor:before {
    content: "";
    display:block;
    height: 200px; /* fixed header height*/
    margin: -200px 0 0; /* negative fixed header height */
    visibility: hidden;
    pointer-events: none;
  }




/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*********************************************** PAGE - ABOUT ************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/

body.page-id-6 .testimonial-slider-wrapper-wrapper {
    margin-bottom:30px; /* spacing below testimonial slider */
}

/*********************************************** LINKED FORM ***************************************************/

/* Note this form is linked on the 'About' page. It is actually on the 'Integrity' page. */

.gform-violations-and-complaints_wrapper {
    margin: 0 0 60px !important;
}

.gform-violations-and-complaints_wrapper form.gform-violations-and-complaints {
    width: 100%;
    margin: 0;
}

.gform-violations-and-complaints_wrapper .gform_heading {
    display:none;
}

.gform-violations-and-complaints_wrapper .gform_body {
}

.gform-violations-and-complaints_wrapper .gform_footer {
    vertical-align: bottom;
}

.gform-violations-and-complaints_wrapper .gform_body ul {
    list-style-type:none;
    width: 100%;
    padding-left:0;
}

.gform-violations-and-complaints_wrapper .gform_body ul label {
    font-weight:bold;
}

.gform-violations-and-complaints_wrapper .gform_body ul li {
    width:100%;
}

    .gform-violations-and-complaints_wrapper .gform_body ul li textarea {
        width:100%;
        border: 1px solid #000;
        height: 200px;
        margin-bottom:30px;
        font-size: 1em;
        padding: 10px;
    }

.gform-violations-and-complaints .gform_footer input[type=submit] {
    text-decoration: none;
    cursor: pointer;
    display: inline-block;
    align-items: flex-start;
    border: 1px solid #757575;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    padding: 10px;
    justify-content: center;
    background-color: #fff;
    transition: all 0.5s;
    text-decoration: none !important;
    font-size: 1em;
    font-weight: 700;
    text-transform: uppercase;
    color: #001E60;
}





/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*********************************************** PAGE - TEAM *************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/

/*********************************************** QUICK SEARCH ***************************************************/

/* Note: currently not visible to user, but still on the page. May be phased out later. */

#quicksearch-container {
    display:none;
}

#member-quicksearch {
	overflow:hidden;
	margin:30px 0;
	text-align: left;
}

#member-quicksearch label {
    font-family: Montserrat, sans-serif;
    color: #001E60;
    font-size: 1.3em;
    font-weight: 500;
    line-height: 1.2em;
    margin: 0;
    margin-bottom: 1em;
}

#member-quicksearch input {
    font-size: 1em;
    line-height: 1.5em;
    color: #666;
    padding: 15px;
    width: 100%;
}

#alpha-index {
	overflow:hidden;
	margin-bottom:1em;
	font-size:2em;
}

/*********************************************** MASONRY GRID ***************************************************/

* { box-sizing: border-box; }

#member-results-wrapper {
    background-color:#eee;
    overflow: hidden;
    padding: 30px 0;
}

#member-results .grid:after {
    content: '';
    display: block;
    clear: both;
}

#member-results .grid-item > * {
    margin: 0;
    padding: 0;
    border:none;
}

#member-results .grid-sizer,
#member-results .grid-item {
	width: 24%;
	height:100px;
	margin-bottom:10px;
}

#member-results .grid-item .padder {
    padding:1em;
}

#member-results .grid-item .padder a {
    display:block;
    overflow: hidden;
    text-decoration: none;
}

#member-results .grid-item .padder a .photo-circleclip {
    width:100%;
    padding-top:100%;
    overflow:hidden;
    position:relative;
    border-radius:50%;
    margin-bottom:15px;
}

#member-results .grid-item .padder a:hover,
#member-results .grid-item .padder a:active {
    color:#58A7AF;
}

#member-results .grid-item .padder a .photo-circleclip img {
    position:absolute;
    top:50%;
    left:50%;
    min-width:100%;
    height:100%;
    transform:translate(-50%,-50%);
    transition: 0.5s ease;
}

#member-results .grid-item p {
	font-size: 1.4em;
	line-height: 1.4em;
	color: inherit;
	margin:0;
}

#member-results .grid-item p.name {
    font-weight:bold;
    font-size:1em;
    text-align:center;
    color: inherit;
}

#member-results .grid-item p.title {
    font-weight:normal;
    font-size:1em;
    text-align:center;
    color: inherit;
}

#cpcs-site  .elementor #member-results .grid-item > .padder > a {
    max-width: 100%;
}

.grid-item.leader .padder {
    margin-top:15px;
}


/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*********************************************** PAGE - TEAM - SINGLE ****************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/

#team-single-page {
    margin-bottom:60px;
}

#team-single-page .leftcol {
    padding-bottom:30px;
}

#team-single-page h2 {
    color: #001E60;
    font-size: 3em;
    line-height: 1em;
    margin-bottom: 15px;
    margin-top: 100px;
}

#team-single-page h3 {
    font-weight:500;
}

#team-single-page p.phone {
    margin-bottom:0;
    overflow: hidden;
}

#team-single-page .photo-circleclip {
    width:90%;
    padding-top:90%;
    overflow:hidden;
    position:relative;
    border-radius:50%;
} 

#team-single-page .photo-circleclip img.team-member-photo {
    position:absolute;
    top:50%;
    left:50%;
    min-width:100%;
    height:100%;
    transform:translate(-50%,-50%);
    transition: 0.5s ease;
}

#team-single-page .teammembers-linkedin-wrapper a {
    display:block;
    width:50px;
    overflow:hidden;
}

#team-single-page .teammembers-linkedin-wrapper a img {
    width:100%;
    height:auto;
}

.flex-container {
  display: flex;
  flex-direction: row;
}

.flex-container > .flex-left-item {
  margin-right: 60px;
}

.flex-container > .flex-right-item img{
  width: 50px
}




/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*********************************************** MASONRY GRID ************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/

#project-results .grid-item .padder a {
    display:block;
    overflow: hidden;
    text-decoration: none;
    padding-bottom:30px;
}

#project-results .grid-item .padder a .photo-circleclip {
    width:80%;
    padding-top:80%;
    overflow:hidden;
    position:relative;
    border-radius:50%;
    margin:0 auto 15px;
}

#project-results .grid-item .padder a:hover,
#project-results .grid-item .padder a:active {
    color:#58A7AF;
}

#project-results .grid-item .padder a .photo-circleclip img {
    position:absolute;
    top:50%;
    left:50%;
    min-width:100%;
    height:100%;
    transform:translate(-50%,-50%);
    transition: 0.5s ease;
}

/*********************************************** SELECT (FILTER) MENU ***************************************************/

.select-market-padding {
    text-align: center;
    padding: 0 0 30px 0;
}

#project-results-wrapper .elementor-row {
    display: flex;
    align-items: center;
    justify-content: stretch;
}

#project-results-wrapper .elementor-row .textand .elementor-heading-title{
    text-align: center;
    color: #001E60;
}

#project-results-wrapper .select-padd .select-hidden {
    display: none;
    visibility: hidden;
    padding-right: 10px;
}

#project-results-wrapper .select-padd .select {
    cursor: pointer;
    display: block;
    position: relative;
    font-size: 16px;
    color: #757575;
    height: 40px;
}

#project-results-wrapper .select-padd .select-styled {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #eee;
    padding: 10px 15px;
    -moz-transition: all 0.2s ease-in;
    -o-transition: all 0.2s ease-in;
    -webkit-transition: all 0.2s ease-in;
    transition: all 0.2s ease-in;
    background-color:#fff;
    color: #001E60;
    border: 1px solid #757575;
    border-radius: 3px;
    font-weight: 500;
    height:50px;
    padding:15px;
    /*background: url(https://cpcs.ca/wp-content/themes/cpcs/images/chevron_for_button.svg) no-repeat right;
    background-position-x: 98%;
    background-size: 15px;*/

}

#project-results-wrapper .select-padd .select-styled:after {
    content: "";
    width: 0;
    height: 0;
    border: 7px solid transparent;
    border-color: #757575 transparent transparent transparent;
    position: absolute;
    top: 20px;
    right: 10px;
}

#project-results-wrapper .select-padd .select-styled:active,
.select-styled.active {
    background-color: #fff;
}

#project-results-wrapper .select-padd .select-styled:active:after,
.select-styled.active:after {
    top: 9px;
    border-color: transparent transparent #eee transparent;
}

#project-results-wrapper .select-padd .select-options {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: 999;
    margin: 0;
    padding: 0;
    list-style: none;
    background-color: #fff;
    margin-top:10px;
    max-height:300px;
    height: auto;
    overflow-x: hidden;
    -webkit-box-shadow: -6px 5px 20px -11px rgba(143,130,143,1);
    -moz-box-shadow: -6px 5px 20px -11px rgba(143,130,143,1);
    box-shadow: -6px 5px 20px -11px rgba(143,130,143,1);
}


#project-results-wrapper .select-padd .select-options::-webkit-scrollbar-track
{
    /*-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);*/
    background-color: #F5F5F5;
}
#project-results-wrapper .select-padd .select-options::-webkit-scrollbar
{
    width: 10px;
    background-color: rgba(0, 0, 0, 0.3);
}

#project-results-wrapper .select-padd .select-options::-webkit-scrollbar-thumb
{
   background-color:  #D9D9D6;
}

#project-results-wrapper .select-padd .select-options li {
    margin: 0;
    padding: 12px 0;
    text-indent: 15px;
    border-top: 1px solid #fff;
    -moz-transition: all 0.15s ease-in;
    -o-transition: all 0.15s ease-in;
    -webkit-transition: all 0.15s ease-in;
    transition: all 0.15s ease-in;
    background: #fff;
    color: #001E60;
}

#project-results-wrapper .select-padd .select-options li:hover {
    background-color: #58A7AF;
    color: #fff;
   
}

#project-results-wrapper .select-padd .select-options li[rel="hide"] {
    display: none;
}

#cpcs-site #project-results .grid-item h4 {
    color: inherit;
    font-size: 1em;
    font-weight:700;
    line-height: 1.3em;
    margin-bottom: 0;
    text-align: center;
}

#project-results .grid-item p.client {
    text-align: center;
    margin-bottom: 15px;
    line-height: 1.3em;
}

/*********************************************** LOAD MORE ***************************************************/

.misha_loadmore {
    background-color: #ddd;
    border-radius: 2px;
    display: block;
    text-align: center;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 800;
    cursor:pointer;
    padding: 10px 0;
    transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.3s ease-in-out;  
}
.misha_loadmore:hover {
    background-color: #757575;
    color: #fff;
}

a.misha_loadmore.cpcs-button {
    margin: 0 auto;
    color: #001E60;
    padding: 15px 0;
    border: 1px solid #757575;
    width: 32%;
    font-size: 1em;
    font-weight: 700;
    margin-top: 30px;
}

.no-result {
    display: block;
    width: 100%;
    padding: 15px;
}

/*********************************************** LEADER ROW - GRID-GENERATED ***************************************************/

/*-------------- GENERAL GRID STUFF --------------*/

#cpcs-site .grid-item > .padder > a { /* #cpcs-site .elementor .grid-item > .padder > a { */
    max-width: 200px;
    display: block;
    margin:0 auto;
}

#cpcs-site .grid-item a { /* #cpcs-site .elementor .grid-item a { */
    text-decoration: none;
}

#cpcs-site .grid-item p.name,
#cpcs-site .grid-item p.term,
#cpcs-site .grid-item p.title {
    font-size: 1em;
    text-align: center;
    color: inherit;
    text-decoration: none;
    line-height: 1.4em;
    margin: 0;
}

#cpcs-site .grid-item p.term {
    font-weight: bold;
    margin-bottom:10px;
}

#cpcs-site .grid-item p.title {
    font-weight: normal;
}

#cpcs-site .grid-item .padder a:hover,
#cpcs-site .grid-item .padder a:active {
    transition: all 0.3s ease-in-out 0s;
    color:#58A7AF;
}

#cpcs-site .grid-item.col-md-5-cpcscustom  {
    width: 16%;
    margin-left: 2%;
    margin-right: 2%;
}


/*-------------- OTHER --------------*/

#global-expert-title-wrapper {
    background-color:#eee;
}

#global-expert-title-wrapper h3 {
    margin-top: 45px;
    margin-bottom: 0;
}

#global-expert-wrapper {
    background-color: #eee;
    overflow: hidden;
    padding: 30px 0 45px 0;
    box-sizing: initial;
}

#global-expert .grid:after {
    content: '';
    display: block;
    clear: both;
}

#global-expert .grid-item > * {
    margin: 0;
    padding: 0;
    border:none;
}

#global-expert .grid-sizer,
#global-expert .grid-item {
    width: 18%;
    margin-bottom:10px;
}

#global-expert .grid-item .padder {
    padding:1em;
}

#global-expert .grid-item .padder a {
    overflow: hidden;
}

#global-expert .grid-item .padder a:hover,
#global-expert .grid-item .padder a:active {
    color:#58A7AF;
}

#global-expert .grid-item .padder a .photo-circleclip {
    width:100%;
    padding-top:100%;
    overflow:hidden;
    position:relative;
    border-radius:50%;
    margin:0 auto 15px;
}

#global-expert .grid-item .padder a .photo-circleclip img {
    position:absolute;
    top:50%;
    left:50%;
    min-width:100%;
    height:100%;
    transform:translate(-50%,-50%);
    transition: 0.5s ease;
}

#global-expert .grid-item p {
    font-size: 1.4em;
    line-height: 1.2em;
    color: #666;    
    margin:0;
}

#global-expert .grid-item p.name {
    font-weight:bold;
    font-size:1em;
    text-align:center;
    color: inherit;
}

#global-expert .grid-item p.title {
    font-weight:normal;
    font-size:1em;
    text-align:center;
    color: inherit;
}
#load-spinner {
    width: 30px;
    text-align: center;
    margin: auto auto;
    padding-bottom: 30px;
    display: none;
}
#load-spinner.active {
    display: block;
}

#cpcs-site #global-expert .grid-item h4 {
    color: inherit;
    font-size: 1em;
    font-weight:700;
    line-height: 1.3em;
    margin-bottom: 15px;
    text-align: center;
}

/*********************************************** PROFILE ICONS ***************************************************/

/* Note: these are for the row with the 'email' and 'LinkedIn' icons below a user's image+title */

.profile_icons {
    display: flex;
    justify-content: center;
    margin: 5px 0 0 0 !important;
    padding: 0;
}

.profile_icons a {
    opacity:0.5;
}

.profile_icons a.link-mail {
    margin-right:15px;
}

.profile_icons a.link-mail img {
    margin-top:5px;
    width: 30px;
}

.profile_icons a img {
    display:block;
}

.profile_icons a:hover,
.profile_icons a:active {
    transition: all 0.3s ease-in-out 0s;
    opacity:1;
}





/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*********************************************** PAGE - PROJECTS - FULL **************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/

ul.full-project-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.project-list-header {
    font-weight: 700;
}

ul.full-project-list li:nth-child(even) { 
    background: #eee; 
}
#cpcs-site ul.full-project-list li {
    margin: 0;
    padding: 15px;
}
ul.full-project-list .left {
}
ul.full-project-list .right {
}
#cpcs-site ul.full-project-list p {
    margin:0;
    line-height: 1.5em;
}

#cpcs-site .project-title h4 {
    color: #000;
    font-weight: 600;
    margin: 0 15px 0 0;
    font-size: 1em;
    line-height: 1.5em;
}





/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*********************************************** PAGE - CONTACT **********************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/


/*********************************************** OFFICE SELECT FORM ***************************************************/

#office-select .select-hidden {
    display: none;
    visibility: hidden;
    padding-right: 10px;
}

#office-select .select {
    cursor: pointer;
    display: block;
    position: relative;
    font-size: 16px;
    color: #757575;
    height: 40px;
}

#office-select .select-styled {
     position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #eee;
    padding: 10px 15px;
    -moz-transition: all 0.2s ease-in;
    -o-transition: all 0.2s ease-in;
    -webkit-transition: all 0.2s ease-in;
    transition: all 0.2s ease-in;
    background-color:#fff;
    color: #001E60;
    border: 1px solid #757575;
    border-radius: 3px;
    font-weight: 500;
    height:50px;
    padding:15px;
}

#office-select .select-styled:after {
    content: "";
    width: 0;
    height: 0;
    border: 7px solid transparent;
    border-color: #757575 transparent transparent transparent;
    position: absolute;
    top: 16px;
    right: 10px;
}

#office-select .select-styled:active, .select-styled.active {
    background-color: #fff;
}

#office-select .select-styled:active:after, .select-styled.active:after {
    top: 9px;
    border-color: transparent transparent #eee transparent;
}

#office-select .select-options {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: 999;
    margin: 0;
    padding: 0;
    list-style: none;
    background-color: #fff;
    margin-top:10px;
    max-height:300px;
    height: auto;
    overflow-x: hidden;
    -webkit-box-shadow: -6px 5px 20px -11px rgba(143,130,143,1);
    -moz-box-shadow: -6px 5px 20px -11px rgba(143,130,143,1);
    box-shadow: -6px 5px 20px -11px rgba(143,130,143,1);
}

#office-select .select-options li {
    margin: 0;
    padding: 12px 0;
    text-indent: 15px;
    border-top: 1px solid #fff;
    -moz-transition: all 0.15s ease-in;
    -o-transition: all 0.15s ease-in;
    -webkit-transition: all 0.15s ease-in;
    transition: all 0.15s ease-in;
    background: #fff;
    color: #001E60;
}

#office-select .select-options::-webkit-scrollbar-track
{
    /*-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);*/
    background-color: #F5F5F5;
}
#office-select .select-options::-webkit-scrollbar
{
    width: 10px;
    background-color: rgba(0, 0, 0, 0.3);
}

#office-select .select-options::-webkit-scrollbar-thumb
{
   background-color:  #D9D9D6;
}

#office-select .select-options li:hover {
    background-color: #58A7AF;
    color: #fff;
}

#office-select .select-options li[rel="hide"] {
    display: none;
}

#officeboxes-container .officebox {
    display:none;
    margin-bottom:60px;
}

#officeboxes-container .officebox a.cpcs-button {
    max-width:50%;
}

/*********************************************** CONTACT MAP ***************************************************/

img#contact-map {
    display:block;
    width:100%;
    height:auto;
}





/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*********************************************** PAGE - LATEST ***********************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/

#single-post #share-row {
    width:100%;
    margin:15px 0 45px 0;
    overflow:hidden;
}

#single-post #share-row a#sharethis-link {
    display:flex;
    margin: 0 0 0 auto;
    align-items: center;
    float:right;
}

#single-post #share-row a#sharethis-link img {
    width:30px;
    height:auto;
    margin-right:15px;
}

#single-post #share-row a#sharethis-link span {
    font-size: 0.9em;
    color:#001E60;
}





#cpcs-site.page-template-page-latest h3 {
    margin-bottom:0;
}

#cpcs-site .post-results-wrapper a .photo-circleclip {
    width: 80%;
    padding-top: 80%;
    overflow: hidden;
    position: relative;
    border-radius: 50%;
    margin: 0 auto 15px auto;
}

#cpcs-site .post-results-wrapper a .photo-circleclip img {
    position:absolute;
    top:50%;
    left:50%;
    min-width:100%;
    max-width:inherit;
    height:100%;
    transform:translate(-50%,-50%);
    transition: 0.5s ease;
}

#cpcs-site .post-results-wrapper a {
    text-decoration: none;
}

/*
.post-results-wrapper a,
.resource-results-wrapper a {
    font-weight: 700;
}
*/

#cpcs-site .post-results-wrapper a:hover,
#cpcs-site .post-results-wrapper a:active {
    color:#58A7AF;
}

#cpcs-site .post-results-wrapper a.title h4 {
    font-family: Montserrat, sans-serif;
    color: inherit;
    font-size: 1em;
    font-weight: 700;
    line-height: 1.2em;
    margin-bottom: 0;
    text-align: center;
}

#cpcs-site .post-results-wrapper p.date {
    color: inherit;
    font-size: 1em;
    font-weight:500;
    line-height: 1.3em;
    text-align: center;
}





/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*********************************************** PAGE - LATEST > RESOURCES ***********************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/

/*********************************************** LATEST > RESOURCES - HEADER SECTION *************************************/

.resource-header-container {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-evenly;
    align-items: flex-end;
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}
.resource-header-container .resource-type-column {
    padding: 20px 20px 20px 30px;
    width: 30%;
    
}
.resource-header-container .img-wrapper {
    padding-bottom: 30px;
    text-align: center;
}


/******************************************** LATEST > RESOURCES - GRID SECTION ******************************************/

.resource-grid-a {
    font-weight: 500;
}

.resources-result-wrapper img{
    width: 100%;
    height: 250px;
    object-fit: cover;
}

#cpcs-site .resources-result-wrapper p.date {
    color: #000;
    font-size: 0.8em;
    line-height: 1.3em;
    /*font-style: italic;*/
}

#cpcs-site .resource-grid h4 {
    color: inherit;
    font-size: 1em;
    font-weight:700;
    line-height: 1.3em;
    margin-bottom: 0;
    text-align: center;
}

.flex-end {
    display: flex;
    align-items: flex-end;
}

.space-even {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: flex-end;
}





/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*********************************************** PAGE - [ARCHIVE] ********************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/

body.archive h2 {           /* this is the only page without the giant chevron header */
    color: #001E60;
    font-size: 2.5em;
    line-height: 1.3em;
    margin-bottom: 15px;
    font-weight:700;
}

body.archive h3 a:hover,
body.archive h3 a:active {
    color:#58A7AF;
}

body.archive .post-block {
    padding:30px 0;
    border-bottom:1px solid #000;
}

body.archive .post-block.last {
    border-bottom:none;
}





/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*********************************************** PAGE - TABBED ***********************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/

/* Note: Currently used by SOLUTIONS and MARKETS pages */

/*********************************************** PAGE - TABBED - TABS MENU ********************************************/

.subsection-tabs {
    display: flex;
    flex-direction: row;
}

.subsection-tabs a.subsection-tab {
    flex-grow:1;
    flex-basis:0;
    color:#FFF;
    background-color: #999;
    text-align:center;
    padding:20px;
    margin-right:3px;
    font-weight:bold;
    -webkit-border-top-left-radius: 3px;
    -webkit-border-top-right-radius: 3px;
    -moz-border-radius-topleft: 3px;
    -moz-border-radius-topright: 3px;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    -webkit-transition: all 0.3s ease-in-out 0s;
    -moz-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s;
}

.subsection-tabs a.subsection-tab:hover,
.subsection-tabs a.subsection-tab:active,
.subsection-tabs a.subsection-tab.active {
    background-color: #eee;
    color:#000;
    font-size:105%;
}

/*********************************************** PAGE - TABBED - CONTENT AREA ********************************************/

.subsections .subsection {
    display: none;
    background-color: #eee;
    padding-top: 60px;
    padding-bottom: 60px;
}

#cpcs-site.page-template-page-market .elementor-heading-title {
    margin-left:-8px;
}

#cpcs-site h3.subsection-intro {
    text-transform: uppercase;
}





/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*********************************************** POST (SINGLE PROJECT, BIO, ETC.) ****************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/

#single-post  {
    margin-bottom: 60px;
}

#single-post img {
    display:block;
    width:100%;
    height:auto;
}

#single-post .featured_image {
    display:block;
    width:100%;
    padding: 0 0 15px 0;
}

#single-post h2 {
    color: #001E60;
    font-size: 2.5em;
    line-height: 1.3em;
    margin-bottom: 15px;
    font-weight:700;
}

#single-post p.project-subtitle {
    color: #000;
    font-size: 1em;
    line-height: 1.3em;
    margin-bottom: 15px;
    font-weight: 700;
}

#single-post h3 {
    font-size: 1.6em;
}

#single-post h4 {
    font-size: 1.3em;
}

#single-post h6 {
    font-style: italic;
}

#single-post a.cpcs-button {
    margin-bottom: 60px;
    margin-right:30px;
}

#single-post .post-cat-list {
    margin-bottom: 15px;
    color: #999;
    font-size: 0.9em;

}

#single-post .post-cat-list a {
    color:#999;
    text-decoration: underline;
}

#single-post .author-date-wrapper {
    display:flex;
    align-items:center;
    margin-bottom:30px;
    justify-content: space-between;
}

#single-post .author-date-wrapper p.date {
    color: #999;
    font-size: 0.9em;
    margin-bottom:0;
}

#single-post a.author-wrapper {
    display:flex;
    align-items:center;
}

#single-post a.author-wrapper img.author-badge {
    display:block;
    width:50px;
    height:50px;
    margin-right:15px;
    clip-path: circle(48% at 50% 50%);
}

#single-post a.author-wrapper p.author-name {
    color: #999;
    font-size: 0.9em;
    margin:0;
    flex:auto;
}

#single-post a.author-wrapper p.author-name:hover {
    text-decoration:underline;
}

#single-post a.cpcs-button.full-article {
    margin-top:30px;
}

.post-thumbnail img.post-image {
    padding: 0 30px;
}

.entry-content.single-post-wrapper{
    text-align: justify;
    padding-right: 30px;
}

.single-projects h2,
.single-post h2 {
    margin-top:100px;
}




/*********************************************** SOCIAL SHARE BUTTONS ********************************************/

#social-share-buttons {
    display:flex;
    align-items:center;
    margin-top:45px;
}

#social-share-buttons span {
    font-size:1em;
    color:#8D8D8D;
    margin-right:5px;
}

#social-share-buttons a {
    display:block;
    overflow: hidden;
    width:30px;
    margin-right:10px;
}

#social-share-buttons a img {
    display:block;
    width:100%;
    height:auto;
}


/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*********************************************** FOOTER ******************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/

.pre-footer-shape.donut {
    margin-left: auto;
    margin-right: auto;
    max-width: 600px;
    display: block;
}

#footer-wrapper {
    background-color: #fff;
    overflow: hidden;
}

/*********************************************** FOOTER - SIGN-UP FORM ********************************************/

    #sign-up-newsletter {
        background-color: #001E60;
        padding: 40px 0;
    }

        #sign-up-newsletter #signup-form {
            display:flex;
            align-items: center;
            justify-content: center;
            width:100%;
            position:relative;
        }

            #sign-up-newsletter #signup-form .block.icon {
                width: 40px;
                margin-right:10px;
            }

                #sign-up-newsletter #signup-form .block.icon img {
                    display:block;
                    width: 40px;
                    height:auto;
                }

            #sign-up-newsletter #signup-form .block.sign-msg {
                color:#fff;
                font-weight: bold;
                font-size: 1.2em;
                margin-right: 15px;
            }

            #sign-up-newsletter #signup-form .gform_wrapper {
                display:block;
            }

            #sign-up-newsletter #signup-form .gform_wrapper form {
               display:flex;
               align-items: flex-end;
               justify-content: flex-end;
               width: 100%;
            }

                #sign-up-newsletter #signup-form ul.gform_fields {
                    width:100%;
                    list-style-type:none;
                    padding-left:0;
                    margin-bottom:0;
                }

                #sign-up-newsletter #signup-form ul.gform_fields li {
                    display:block;
                }

                #sign-up-newsletter #signup-form label {
                    display:none;
                }

                #sign-up-newsletter #signup-form .ginput_container_email input {
                    width: 400px;
                    color: #757575;
                    height: 40px;
                    padding-left: 10px;
                    font-size: 1em;
                    margin-right: 15px;
                }

                #sign-up-newsletter #signup-form .gform_footer input.gform_button {
                    height: 40px;
                    background-color: #fff;
                    border: none;
                    text-decoration: none;
                    cursor: pointer;
                    font-weight: 700;
                    color: #001E60;
                    text-transform: uppercase;
                    padding: 0 15px;
                }

   
                #sign-up-newsletter .validation_error,
                #sign-up-newsletter .validation_message {
                    display:none !important; /* Using jQuery validation instead for this (see cpcs_general.js) */
                }

                #sign-up-newsletter .gform_confirmation_message {
                    color:#001E60;
                    background-color:#fff;
                    padding:15px;
                    font-weight:bold;
                }

   

    



/*********************************************** FOOTER - MENU ********************************************/

    #footer-menu .site-footer {
        width:100%;
    }

    #footer-menu .site-footer .menu-footer-menu-container ul#menu-footer-menu,
    #footer-menu .site-footer .menu-footer-menu-fr-container ul#menu-footer-menu-fr {
        list-style-type:none;
        display: flex;
        justify-content: space-between;
        align-items: center;
        width:100%;
        margin: 30px 0;
        padding: 0;
    }

        #footer-menu .site-footer .menu-footer-menu-container ul#menu-footer-menu li,
        #footer-menu .site-footer .menu-footer-menu-fr-container ul#menu-footer-menu-fr li {
        }

            #footer-menu .site-footer .menu-footer-menu-container ul#menu-footer-menu li a,
            #footer-menu .site-footer .menu-footer-menu-fr-container ul#menu-footer-menu-fr li a {
                text-transform: lowercase;
                color:#757575;
            }

            #footer-menu .site-footer .menu-footer-menu-container ul#menu-footer-menu li a:hover,
            #footer-menu .site-footer .menu-footer-menu-container ul#menu-footer-menu li a:active,
            #footer-menu .site-footer .menu-footer-menu-fr-container ul#menu-footer-menu-fr li a:hover,
            #footer-menu .site-footer .menu-footer-menu-fr-container ul#menu-footer-menu-fr li a:active {
                border-bottom: 3px solid #001E60;
            }

/*********************************************** FOOTER - COPYRIGHT, ETC. ********************************************/

#footer-copyright-etc {
    margin: 30px auto;
}

#footer-copyright-etc .col-left {
    text-align:left;
}

#footer-copyright-etc .col-right {
    text-align:right;
}

#footer-copyright-etc p {
    color:#757575;
    margin-bottom:5px;
}

#footer-copyright-etc p a {
    color:#757575;
}





/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*********************************************** HOVER EFFECT ON CLICKABLE IMAGES ****************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/

.photo-content {
    width:100%;
    padding-top:100%;
    overflow:hidden;
    position:relative;
    border-radius:50%;
    margin: 0 auto 15px;
}

#cpcs-site .photo-content.square,
#cpcs-site .post-results-wrapper a .photo-circleclip.square {
    width:100%;
    border-radius: 0;
    padding-top:100%;
}

.content-overlay {
    z-index: 1;
    background: rgba(0,0,0,0.7);
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    opacity: 0;
    -webkit-transition: all 0.4s ease-in-out 0s;
    -moz-transition: all 0.4s ease-in-out 0s;
    transition: all 0.4s ease-in-out 0s;
}

.photo-content img {
    position:absolute;
    top:50%;
    left:50%;
    /* min-width:100%; */
    max-width: inherit;
    height:100% !important;
    transform:translate(-50%,-50%);
    transition: 0.5s ease;
}

.photo-content.square img {
    object-fit: cover;
    height: 100%;
}

.text-overlay {
    position: absolute;
    text-align: center;
    padding-left: 1em;
    padding-right: 1em;
    width: 100%;
    top: 50%;
    left: 50%;
    opacity: 0;
    color: white!important;
    z-index: 2;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: all 0.3s ease-in-out 0s;
    -moz-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s;
}

a.rollover:hover .content-overlay,
a.rollover:hover .text-overlay {
  opacity: 1;
}

#cpcs-site a.rollover:hover *{
    transition: all 0.3s ease-in-out 0s;
    color: #58A7AF;
}

#cpcs-site a.rollover:active {
    color: #58A7AF;
}





/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*********************************************** MISC STYLES *************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/
/*************************************************************************************************************************/

/* Note: don't put too many items in here - sort into other categories when possible */

.bg-grey {
    background-color:#eee;
}

.margin-top-30 {        margin-top:30px; }
.margin-top-60 {        margin-top:60px; }
.margin-top-90 {        margin-top:90px; }
.margin-bottom-30 {     margin-bottom:30px; }
.margin-bottom-0 {      margin-bottom:0; }
.padding-top-0 {        padding-top:0; }
.padding-top-30 {       padding-top:30px; }
.padding-bottom-30 {    padding-bottom:30px; }

.width-100 { width:100%; }
.width-75 { width:75%; }
.width-50 { width:50%; }
.width-25 { width:25%; }

.hide {
    display:none !important;
}






/*************************************** IE STYLE FOR ABOUT SLIDER*************************************************************/

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
     /* IE10+ CSS styles go here */
     #cpcs-site .elementor-6 .elementor-element.elementor-element-13d97e7 .swiper-slide-contents {
        max-width: 100%;
    }
}