/*
CTC Separate Stylesheet
Updated: 2025
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com/
Template: generatepress
Author: Tom Usborne
Author URI: https://generatepress.com/about/
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
Tags: Two Columns, Three Columns, One Column, Right Sidebar, Left Sidebar, Footer Widgets, Blog, E-Commerce, flexible-header, Full Width Template, buddypress, Custom Header, Custom Background, custom-menu, Custom Colors, Sticky Post, threaded-comments, translation-ready, rtl-language-support, Featured Images, Theme Options
Version: Version: 3.6.0
*/
/* custom - global reset */
                                                    /*reset leaders cards in WP block editor*/
.block-editor-block-list__block.leaders-background > div {
    padding: 25px;
    display: block !important;
}
div#content {
    padding: 0;
}
html{
    scroll-behavior: smooth;
}
body, p, a, span, button, ul, li, input, select, label, h1, h2, h3, h4, h5, h6 {
    font-family: "Roboto", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-variation-settings: "wdth" 100;
}
.wp-block-cover__inner-container.is-layout-flow.wp-block-cover-is-layout-flow {
    width: 100% !important;
}
div#content .margin-top-20px {
    margin-top: 50px;
}
div#content .margin-top-20px {
    margin-top: 50px;
}
/* header */
.site-branding {
    z-index: 100000;
}
header#masthead {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000000000;
    transition: background-color 500ms linear;
    height: 90px;

    .gp-icon svg {
        height: 2em;
        width: 2em;
    }
}
button.menu-toggle {
    padding: 5px 0 0 0 !important;
}
header#masthead .main-navigation a {
    font-size: 18px;
    font-weight: 700;
    color: #0f4983;
    text-align: center;
    text-transform: uppercase;
    border-bottom: 1px solid transparent;
    transition: all .3s ease-in-out;
    padding: 0;
    line-height: 2;
}
header#masthead .main-navigation a:hover {
    border-bottom: 1px solid #000;
    color: #000;
}
.inside-navigation.grid-container {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
}
nav#site-navigation.toggled {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff !important;
    height: 100vh;
    margin: 0 !important;
    z-index: 10;
}
header#masthead.fixed-header svg rect {
    fill: #000;
}
nav#mobile-menu-control-wrapper > .menu-toggle, nav#mobile-menu-control-wrapper {
    padding: 0;
    margin: 0;
    background-color: transparent;
}
header#masthead .inside-header {
    justify-content: space-between;
    align-items: unset;
}
svg#mobile-menu-icon {
    width: 35px;
    height: 35px;
    top: 10px;
}
#mobile-menu-icon rect {
  transition: all 0.4s ease;
  transform-origin: center;
}
.menu-open #mobile-menu-icon rect {
    fill: #000;
}
.site-branding {
    padding-top: 7px;
}
@media (min-width: 768px) {
    nav#site-navigation {
        background: transparent;
        position: fixed;
        top: 50px;
        right: 40px;
    }
    .inside-navigation.grid-container {
        position: relative;
    }
}
/* pages  home */
.custom-separator {
    max-width: 85%;
    color: #0072BC;
    border-top: 1px solid;
    margin: 30px 0 15px 0;
}
@media (min-width: 768px) {

    #homepage-main-wrapper #homepage-intro-section img {
        width: 1440px;
    }

    .custom-separator {
        max-width: 50%;
    }

} 
/* pages Our Innovators */
.leader-modal-backdrop {
    display: none;
}
.close-bio {
    position: absolute;
    top: 8px;
    right: 11px;
    font-size: 1.5rem;
    cursor: pointer;
}
.leader-modal {
    width: 90%;
    position: absolute;
    margin: 0 auto;
    background-color: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: auto;
    padding: 45px 20px 30px 20px;
    max-height: 90vh;
    overflow: scroll;
    border-radius: 10px;
}
.leader-modal-backdrop.show-bio-modal {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgb(0 0 0 / 70%);
    pointer-events: auto;
    transition: background-color 300ms ease-in-out;
    z-index: 100000000000;
    width: 100vw;
    height: 100vh;
}
.leaders-background > div > div > div > div {
    box-shadow: 6px 6px 6px 0px rgba(33, 33, 33, 0.25);
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
}
@media (min-width: 768px) {

    .leader-modal {
        overflow: hidden;
        display: flex;
    }

    .leaders-background > div > div > div > div  {
        min-height: 440px;
        position: relative;
        background: #fff;
        max-height: unset;
    }

    .open-leader-modal {
        position: absolute;
        width: 100%;
        bottom: 0;
        left: 0;
    }

} 
@media (min-width: 850px) {
    
    .leaders-background > div > div > div > div {
        min-height: 400px;
    }

} 
@media (min-width: 1300px) {
    
    .leaders-background > div > div > div > div {
        min-height: 430px;
    }

} 
/* footer */
footer#main-footer {

    background-color: #fff;
    border-bottom: 15px solid #0098d1;

    p {
        font-size: 14px;
        font-weight: 400;
    }

    a#privacy-choices-link {
        position: relative;
    }

    a#privacy-choices-link::after {
        content: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' id='your-privacy-switch' viewBox='0 0 41.4 21' width='45.36' height='23'%3E%3Crect x='0.5' y='0.5' width='40' height='20' rx='9.9' ry='9.9' fill='%23fff' stroke='%233066ea' stroke-width='1.2' stroke-miterlimit='10'/%3E%3Cpath d='M22.8.5h7.5c5.8,0,10.5,4.5,10.5,10h0c0,5.5-4.7,10-10.5,10h-12.8' fill='%233066ea'/%3E%3Cpolyline points='7 10.8 10.3 14.1 17.1 6.4' stroke='%233066ea' stroke-width='1.2' stroke-miterlimit='10' fill='none' stroke-linecap='round'/%3E%3Cline x1='26.1' y1='6.3' x2='33.9' y2='14.3' stroke='%23fff' stroke-width='1.2' stroke-miterlimit='10' fill='none' stroke-linecap='round'/%3E%3Cline x1='34' y1='6.4' x2='26' y2='14.2' stroke='%23fff' stroke-width='1.2' stroke-miterlimit='10' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
        position: absolute;
        right: -50px;
        top: -4px;
    }

}
.footer-top {
    padding: 55px 25px 5px 25px;
}
.footer-bottom p {
    margin: 5px 0 0 0;
}
.footer-bottom {
    padding: 20px 25px 35px 25px;
}
.heading-blue {
    color: #0072BC;
    font-size: 20px;
    font-weight: 700;
    padding: 0 0 10px 0;
}
.footer-bottom img {
    width: 220px;
    padding: 0 0 5px 0;
}
div#footer-links ul {
    margin: 0;
    list-style: none;
    padding: 0 0 30px 0;
}
div#footer-links a {
    color: #000;
    font-weight: 600;
    text-decoration: none;
    transition: all .3s ease-in-out;
    padding: 0;
    line-height: 2;
    font-size: 14px;
}
div#footer-links a:hover {
    border-bottom: 2px solid #000;
    color: #000;
    text-decoration: none;
}
@media (min-width: 768px) {
    .footer-flex {
        display: grid;
        grid-template-columns: 1fr 2fr;
        column-gap: 55px;
        max-width: 1400px;
        margin: 0 auto;
        padding: 0 25px;
    }
    .footer-top {
        padding: 45px 25px 45px 25px;
        grid-column: 2;
    }
    .footer-bottom {
        padding: 50px 25px 10px 25px;
        grid-column: 1;
        grid-row: 1;
    }
    div#footer-links ul {
        padding: 0 0 15px 0;
    }
    div#footer-links ul li {
        display: inline;
        padding: 0 20px 0 0;
    }
}
/***** HUBSPOT form | privacy policy pages | Custom 404********/
#contact-us-form-wrapper {
    display: none;
}
#contact-us-form-wrapper.show-contact-form-modal {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(2, 2, 2, 0.8);
    pointer-events: auto;
    transition: background-color 300ms ease-in-out;
    z-index: 100000000000;
    width: 100vw;
    height: 100vh;
}
#contact-us-form-wrapper .inner-contact-us-form-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    background: #fff;
    margin: 0 auto;
    background-color: #fff;
    display: block;
    overflow: scroll;
    width: 100%;
    height: 100vh !important;
}
#hubspot-form {
    height: 100vh !important;
    margin-top: 50px;
}
#hubspot-form iframe {
    width: 100%;
    overflow: auto;
    height: 1100px !important;
}
#hubspot-form.add-scroll {
    overflow: scroll;
}
svg#modal-close {
    width: 30px;
    height: 30px;
    position: absolute;
    top: 17px;
    right: 17px;
    cursor: pointer;
}
div#privacy-policy-wrapper {
    h1, h2, h3 {
        color:#034683;
    }
    h2 {
        scroll-margin-top: 3em;
    }
}
#custom-404-page-wrapper {
    text-align: center;
}
div#custom-404-page-wrapper, div#custom-search-results-page-wrapper {

    border-bottom: 5px solid #1e73be;
    padding: 75px 0 80px 0;
    width: 100%;

    article:not(:first-of-type) {
        border-top: 1px solid #cdcdcd;
        padding: 25px 0 0 0;
        margin: 45px 0 0 0;
    }

    h1.page-title span {
        color: #01946e;
        font-size: 40px;
    }

    .content-area {
        position: relative;
        display: block;
        width: 100%;
        max-width: 768px;
        margin: 120px auto 0 auto;
        padding: 0 25px;
    }

    h1 {
        font-size: 60px;
        color: #034683;
        font-weight: 500;
        line-height: 55px;
        padding: 0 0 25px 0;
    }
    h2 a, h3 {
        color: #034683;
    }
    .entry-summary {
        margin: 15px 0 0 0 !important;
    }
}
div#content #custom-search-results-page-wrapper {
    .content-area {
        margin: 60px auto 0 auto;
    }
}
@media (min-width: 768px) {
    #contact-us-form-wrapper .inner-contact-us-form-wrapper {
        background: #fff;
        width: 60%;
        position: absolute;
        margin: 0 auto;
        background-color: #fff;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        height: 100vh !important;
        max-height: 96vh;
        border-radius: 10px;
        display: block;
        overflow: hidden;
    }

    #hubspot-form {
        position: relative;
        top: 60%;
        transform: translateY(-50%);
        margin-top: 0;
    }

    #hubspot-form iframe {
        height: 870px !important;
    }

    div#privacy-policy-wrapper {
        h1 {
            font-size: 72px;
        }
        h2 {
            font-size: 48px;
        }
    }

    div#custom-404-page-wrapper {

        margin: 75px auto 0 auto;

        h1 {
            font-size: 72px;
        }
    }

    div#content #custom-search-results-page-wrapper {
        .content-area {
            margin: 115px auto 0 auto;
        }
    }
}